2015-04-13 1 views
0

Я использую this code для экспериментов с многоадресной рассылкой.Многоадресные пакеты не отправляются, если я использую адрес, отличный от 224.0.0.1

У меня есть wirehark, работающий на другом ПК в локальной сети, и я пытаюсь увидеть пакеты, отправленные по сети.

Если пакеты отправлены на IP-адрес 224.0.0.1, они получены правильно, если я отправлю их по адресу 239.255.255.250, они не являются.

У меня есть эта запись в моей таблице маршрутизации

224.0.0.0/4 dev eth0.100 src 192.0.0.1 

Я знаю, 192.0.0.1 выглядит странно, но это правильный адрес интерфейса

Вы знаете, почему пакеты не отправляются?

+2

введите код здесь не в другом месте. –

+0

код не мой, он один на странице. –

+1

так? вставьте его сюда. –

ответ

0

ПК, который пытается захватить многоадресный трафик, скорее всего, включил фильтрацию многоадресной рассылки и не включил прием группы 239.255.255.250.

Любое хост-устройство, которое передает многоадресную рассылку, объединяет группу 224.0.0.1 (все хосты), поэтому пакеты, отправленные в эту группу, проходят фильтр, но не пакеты, отправленные на 239.255.255.250.

Фильтрация многоадресной передачи обычно реализуется в сетевом интерфейсе, а принятые кадры, которые не пропускают фильтр, будут отбрасываться на аппаратное обеспечение, а не передаваться драйверу ядра. Если кадры не передаются в ядро, Wireshark не может их захватить.

Вы можете проверить активные групповые группы на один интерфейс с помощью netstat. Я предполагаю, что вы в системе Linux, так как вы помечено вопрос с «Linux»

netstat -g 

Multicast группы соединяются, когда сокет включает опцию IP_ADD_MEMBERSHIP сокета. Для того, чтобы присоединиться к группе на вашем захват устройстве, вам нужна программа, которая создает сокет и присоединяется к группе многоадресной рассылки с помощью опции IP_ADD_MEMBERSHIP сокета

0

Чтобы добавить к ответу Joel Каннингема в случае switched LAN:

Ничего не слушайте многоадресную рассылку на 239.255.255.250, таким образом, нет IGMP соединений отправлены. поэтому коммутатор не передает эти многоадресные кадры в порт, где у вас есть ПК wireshark(1).

Опять же 226.0.0.1 является well known и всегда соединен всеми хостами.