Назад | Перейти на главную страницу

Фильтр 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 

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

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

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