У меня есть свой набор фильтра PCap к "dst сетевые 10.36.95.0 масок 255.255.255.0". Это работает, в котором это отфильтровывает большую часть торговли с местом назначения за пределами 10.36.95.0/24 подсети, при этом исключение - это, это все еще получает трафик, идущий в 0.0.0.0.
Какая-либо идея, почему это происходит или что я могу сделать для отфильтровывания 0.0.0.0 также?
Некоторый дополнительный infos:
$ sudo tcpdump -d dst net 10.36.95.0 mask 255.255.255.0 -i eth0
(000) ldj [12]
(001) jeq #0x800 jt 2 jf 5
(002) ld [30]
(003) and #0xffffff00
(004) jeq #0xa245f00 jt 10 jf 11
(005) jeq #0x806 jt 7 jf 6
(006) jeq #0x8035 jt 7 jf 11
(007) ld [38]
(008) and #0xffffff00 jt 10 jf 11
(009) jeq #0xa245f00
(010) ret #65535
(011) ret #0
Я смотрел на исходник и пункт назначения в заголовке PcapPacket на Java.
Т.е. вы используете jNetPcap?
Не используйте какой-нибудь IPv4-пакетный код для разбора пакетов, которые не являются IPv4-пакетами, так как они дадут вам мусор. ARP-пакеты не являются пакетами IPv4; используйте Arp-класс, а не Ip4-класс, для пакетов с типом Ethernet 0x0806.
.