Могу ли я получить TCP-пакеты другого хоста на свой компьютер?

Я использую wireshark для захвата пакетов моего компьютера. Я хочу получить пакеты 219.231.143.116 (IP-адрес источника), а мой IP-адрес 219.231.143.220 (IP-адрес назначения).

На самом деле, я получил то, что хотел, но, к моему удивлению, я получил некоторые другие пакеты. IP-адреса источника и получателя этих пакетов не были 219.231.143.116 или 219.231.143.220.

Насколько я знаю, tcp — это 3-й уровень в протоколе TCP/IP, коммутатор не будет отправлять те пакеты, которые мне не принадлежат. Итак, проблема в том, почему я могу захватить их на свой компьютер? Это проблема wireshark или коммутатора?

(Из-за того, что мой уровень слишком низкий, поэтому изображение здесь, извините!) http://mysource.lofter.com/post/1cfd51e8_55d5972


person Justin    schedule 14.01.2015    source источник
comment
Ваша сетевая карта может находиться в неразборчивом режиме.   -  person nouney    schedule 14.01.2015
comment
Но сетевой адаптер в неразборчивом режиме по-прежнему не может перехватывать пакеты, не отправленные ему изначально, и, если сетевой интерфейс на компьютере, на котором работает Wireshark, был подключен к коммутатору, а порт коммутатора не настроен как зеркальный порт, чтобы коммутатор перенаправлял на него другой трафик, одноадресный трафик не на MAC-адрес этого сетевого интерфейса и не с него даже не будет отправляться на этот интерфейс.   -  person    schedule 15.01.2015
comment
Значит, компьютер с Wireshark подключен к сетевому коммутатору (а не к концентратору)? Вы видите много этого трафика или только несколько пакетов на другие хосты или от них? Каков MAC-адрес интерфейса, подключенного к коммутатору?   -  person    schedule 15.01.2015
comment
Если коммутатор Ethernet не знает, какому порту принадлежит MAC-адрес, он рассылает пакеты по всем портам. И он, вероятно, узнает MAC-адрес для сопоставления портов, как только принимающий хост, которому принадлежит неизвестный MAC-адрес, ответит на эти пакеты.   -  person nos    schedule 17.01.2015
comment
Да, я уверен, что мой компьютер подключен к коммутатору (вы могли видеть изображение, которое я загрузил. Коммутатор называется HangZhou_90:c7:00. Это один из продукты H3C.)@GuyHarris   -  person Justin    schedule 19.01.2015
comment
@nouney У меня та же проблема, что и у Харриса. Моя сетевая карта была в беспорядочном режиме, но все кадры не могли быть отправлены на мой компьютер. Это коммутатор, а не концентратор.   -  person Justin    schedule 19.01.2015
comment
@nos Если коммутатор не знает информацию о порте, будет ли коммутатор отправлять пакеты на все порты? В этом случае я должен получить несколько пакетов, включая данные, но сейчас я ничего не получил. Э-э...   -  person Justin    schedule 19.01.2015


Ответы (1)


Коммутатор решает, какие пакеты отправлять вам. Вы не можете изменить это. Вы можете отфильтровывать (в Wireshark) только те пакеты, с которыми не хотите работать.

Wireshark покажет вам все пакеты, которые вы действительно получаете (в неразборчивом режиме).

Все дополнительные пакеты, которые вы выделили на своем изображении, являются пакетами повторной передачи TCP. Коммутатор может отбрасывать пакеты шире, потому что происходят повторные передачи, поэтому что-то истекло. Или в пакете может быть установлен флаг широковещательной или многоадресной рассылки, поскольку источник пытается прослушать свои повторные передачи.

Вы не получите много пакетов, предназначенных для других компьютеров, и вы не получите полную последовательность отправленных и полученных пакетов, принадлежащих другому устройству (если вы не настроите коммутатор для этого с помощью зеркала портов).

Если вы действительно не хотите видеть или передавать эти пакеты на определенное устройство, вы можете использовать физический брандмауэр, такой как pfsense, или маршрутизатор между вами и коммутатором, чтобы полностью отфильтровать многоадресный трафик, исходящий из вашей сети. Это был бы обычный вариант использования.

person David McNeill    schedule 16.01.2015
comment
1. Пакеты не широковещательные и не мультикастовые. Вы можете видеть, что IP-адрес назначения разрешен.2. Если какой-то пакет был тайм-аут, то он не должен мне отправляться, я так думаю. - person Justin; 20.01.2015
comment
я не знаю, как это сделать. @David McNeill - person Justin; 18.11.2015