tcpdump пропускает трафик snmp

3791
icehawk

Я слежу за SNMP-трафиком, чтобы закодировать тестовый набор для какого-либо сетевого оборудования. В настоящее время я запускаю tcpdump так:

tcpdump -i any -nn port snmp 

Затем я отправляю некоторый SNMP-трафик с того же хоста:

snmpget -v 3 -u public 192.168.2.4 1.3.6.1.4.1.3181.10.6.3.65.1.1.5.0 

tcpdump НЕ печатает ничего прямо сейчас. Я проверил с помощью tshark, что пакеты видны на проводе. Однако, если я повторю команду snmpget, она напечатает трафик:

pi@raspberrypi:~/martin_testframework/Frameworks/P2P $ sudo tcpdump -i any -nn port snmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes 15:30:13.033363 IP 192.168.2.5.39351 > 192.168.2.4.161: F=r U= E= C= GetRequest(14)  15:30:13.034473 IP 192.168.2.4.161 > 192.168.2.5.39351: F= U= E= 0x800x000x1F0x880x040x4D0x490x430x520x4F0x530x450x4E0x53 C= Report(31) .1.3.6.1.6.3.15.1.1.4.0=2 15:30:13.034908 IP 192.168.2.5.39351 > 192.168.2.4.161: F=r U=public E= 0x800x000x1F0x880x040x4D0x490x430x520x4F0x530x450x4E0x53 C= GetRequest(35) .1.3.6.1.4.1.3181.10.6.3.65.1.1.5.0 15:30:13.036447 IP 192.168.2.4.161 > 192.168.2.5.39351: F= U=public E= 0x800x000x1F0x880x040x4D0x490x430x520x4F0x530x450x4E0x53 C= GetResponse(35) .1.3.6.1.4.1.3181.10.6.3.65.1.1.5.0="" ^C 4 packets captured 8 packets received by filter 0 packets dropped by kernel 

Обратите внимание, что это тот же процесс tcpdump, что и выше. Если бы я перезапустил tcpdump, он бы ничего не печатал. По сути, tcpdump, похоже, подавляет первые несколько (четыре?) Snmp-пакетов, которые он получает. После первых нескольких пакетов все работает правильно.

Как я могу заставить tcpdump печатать все пакеты без «фазы прогрева». Этот тест был выполнен вручную, и между вызовом tcpdump и вызовом snmpget прошло несколько секунд. Tshark видит и печатает весь трафик, но я не могу использовать tshark, поскольку он недоступен в производственной системе.

1
Откуда вы знаете, что первые несколько / четыре пакета пропущены? Вы пытались снова запустить команду snmpget с активным «warm» tcpdump (до того, как вы его «^ C»)? Что это захватывает? Действительно ли пропущены первые несколько пакетов или пропущены пакеты определенного типа? nik 7 лет назад 0
@nik: Да, я попробовал это. И, как я сказал в этом вопросе, я одновременно запускаю tshark и tshark печатает эти пакеты. icehawk 7 лет назад 0
Хорошо, попробуйте использовать фильтр хоста (host `192.168.2.4`) вместо фильтра протокола SNMP. Tcpdump обычно не отбрасывает кадры, ваш вывод показывает 0 отбрасываний ядра, и я не думаю, что у вас достаточно большой трафик, чтобы пропустить кадры на более низких уровнях. Две строки выше интересны - 4 из 8 отфильтрованных. Это означает, что у вас есть фильтр захвата (SNMP), который пропускает 4 других кадра. Итак, попробуйте хост-фильтр (или короткий фильтр на всю ширину, а затем фильтр из захваченного pcap). nik 7 лет назад 0

0 ответов на вопрос

Похожие вопросы