Ответ 1
Просто используйте этот (eth.dst[0] & 1)
. Многоадресный трафик распознается наименее значимым битом самого значимого байта MAC-адреса. Если 1, многоадресная передача, если 0, не.
Используя поле "Фильтр" Wireshark в графическом интерфейсе Wireshark, я хотел бы фильтровать результаты захвата, чтобы отображались только многоадресные пакеты.
Я видел этот пост, но это не работает для поля фильтра графического интерфейса. Эта страница Wireshark показывает, как отфильтровывать многоадресную рассылку, но не как фильтровать все, кроме многоадресной рассылки.
Кто-нибудь знает о простом заявлении, которое сделает это?
Заранее благодарю вас!
Просто используйте этот (eth.dst[0] & 1)
. Многоадресный трафик распознается наименее значимым битом самого значимого байта MAC-адреса. Если 1, многоадресная передача, если 0, не.
(eth.dst[0]&1)
будет фильтровать как многоадресную рассылку, так и широковещательную передачу. Итак, из этого исключить трансляцию. Это будет как
(eth.dst[0]&1) && !eth.dst==ff:ff:ff:ff:ff:ff
Вы пробовали использовать multicast
только в качестве фильтра? Потому что если not multicast
отфильтровывает все многоадресные пакеты и пропускает все остальное, поскольку связанная с вами страница, похоже, указывает, то это только логическое.
Я столкнулся с этим решением с помощью процесса проб и ошибок.
Поскольку многоадресный адрес начинается с "1110" (128 + 64 + 32 + 0 = 224), пакет, отправленный на начало 1110 IP-адреса, предназначен для многоадресного адреса. Поэтому пакет, соответствующий маске 224.0.0.0/4, предназначен для адреса многоадресной рассылки.
Этот фильтр отображения должен содержать пакеты фильтров только для адресов многоадресной рассылки:
ip.dst==224.0.0.0/4