PCap фильтр по IP не отфильтровывает 0.0.0.0

У меня установлен фильтр PCap "dst net 10.36.95.0 mask 255.255.255.0". Это работает в том смысле, что он отфильтровывает большую часть трафика с пунктом назначения за пределами подсети 10.36.95.0/24, за исключением того, что он по-прежнему перехватывает трафик, идущий к 0.0.0.0.

Любая идея, почему это происходит или что я могу сделать, чтобы отфильтровать также 0.0.0.0?

Некоторые дополнительные сведения:

$ 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 

1 ответ

Решение

Я искал источник и назначение в заголовке PcapPacket в Java.

Т.е. вы используете jNetPcap?

Не используйте какой-либо код разбора пакетов, связанный с IPv4, с пакетами, которые не являются пакетами IPv4, так как они могут дать вам мусор. Пакеты ARP не являются пакетами IPv4; используйте класс Arp, а не класс Ip4, для пакетов с типом Ethernet 0x0806.

Другие вопросы по тегам