Intereting Posts
Итеративный поток управления в подчиненном скрипте Почему я не могу запустить команду как пользователь, имеющий / bin / false в качестве оболочки входа? Замените в верхнем регистре на нижний регистр, кроме первой буквы каждого слова в определенной строке Использование команды ping в моей системе VirtualBox Debian не возвращает маршрут, но я все еще могу подключиться к веб-сайтам Как свести к минимуму объем работы Firefox? Есть ли альтернатива с открытым исходным кодом для безопасной загрузки UEFI? Поиск совпадений между двумя столбцами разных файлов и печать его в другом столбце Передайте список каталогов команде find Как извлечь / удалить старые файлы из tarball, который был обновлен для цикла, чтобы получить более одного аргумента Как настроить BIND для имени домена с собственными серверами имен? Загрузить файл, связанный в MySQL DB, извлечь текст и вставить в db с помощью скрипта bash? сейчас – разная дата FreeBSD 10: Мне нужны тюрьмы? Как правильно скомпилировать с сторонними библиотеками?

tcpdump, похоже, не захватывает какие-либо данные, почему?

Я пытаюсь захватить данные с помощью tcpdump следующим образом:

 $ sudo tcpdump -Xi eth0 

У меня есть устройство и ПК, подключенные друг к другу. С обеих сторон я запускаю простое тестовое приложение, которое отправляет сообщение другому.

Проблема в том, что, хотя обе стороны получают сообщения, tcpdump ничего не печатал. Иногда просматриваются только ARP-запросы (ARP-запросы для другого ПК, который в настоящее время не подключен к локальной сети) .

 $ ifconfig eth0 Link encap:Ethernet HWaddr 00:0f:ea:62:ce:d6 inet addr:10.5.57.197 Bcast:10.5.255.255 Mask:255.255.0.0 inet6 addr: fe80::20f:eaff:fe62:ced6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:66497 errors:0 dropped:4334 overruns:0 frame:0 TX packets:3785 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6539170 (6.5 MB) TX bytes:553828 (553.8 KB) Interrupt:21 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:529 errors:0 dropped:0 overruns:0 frame:0 TX packets:529 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:71721 (71.7 KB) TX bytes:71721 (71.7 KB) 

Я предлагаю вам захватить пакеты и записать их в файл с расширением <file>.pcap , а затем открыть с помощью wireshark .

Например, в CentOS для захвата пакетов:

 $ tcpdump -i eth0 -s 1500 -w /root/<filename.pcap> 

Должно быть что-то еще. Следующий тест отлично подходит для меня. Я использую socat как клиент и сервер, и я запускаю tcpdump в своей локальной системе, в которой я сижу.

1. Настройка SOCAT-сервера (слушателя)

 $ socat - TCP-LISTEN:2222,crlf 

2. Настройка клиента socat

 $ socat - TCP:192.168.1.80:2222 

3. Теперь я запускаю tcpdump:

 $ sudo tcpdump -Xi wlp1s0 src 192.168.1.3 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlp1s0, link-type EN10MB (Ethernet), capture size 65535 bytes 10:04:27.977900 ARP, Request who-has 192.168.1.149 tell client.mydom.net, length 46 0x0000: 0001 0800 0604 0001 0019 d1e8 4c95 c0a8 ............L... 0x0010: 0103 0000 0000 0000 c0a8 0195 0000 0000 ................ 0x0020: 0000 0000 0000 0000 0000 0000 0000 .............. 10:04:29.206642 ARP, Request who-has 192.168.1.149 tell client.mydom.net, length 46 0x0000: 0001 0800 0604 0001 0019 d1e8 4c95 c0a8 ............L... 0x0010: 0103 0000 0000 0000 c0a8 0195 0000 0000 ................ 0x0020: 0000 0000 0000 0000 0000 0000 0000 .............. 10:04:29.337077 IP client.mydom.net.49878 > server.mydom.net.EtherNet/IP-1: Flags [P.], seq 1391164406:1391164421, ack 2721007444, win 46, options [nop,nop,TS val 535977938 ecr 956529523], length 15 0x0000: 4500 0043 8218 4000 4006 34f9 c0a8 0103 E..C..@.@.4..... 0x0010: c0a8 0150 c2d6 08ae 52eb 7bf6 a22f 4754 ...P....R.{../GT 0x0020: 8018 002e 964f 0000 0101 080a 1ff2 5fd2 .....O........_. 0x0030: 3903 7b73 5468 6973 2069 7320 6120 7465 9.{sThis.is.a.te 0x0040: 7374 0a st. 

В приведенном выше сценарии я набрал сообщение «Это тест» на стороне клиента, и он появился на экземпляре socat сервера, а также в выводе tcpdump .

Выход клиента:

 $ socat - TCP:server.mydom.net:2222 This is a test 

Выход сервера:

 $ socat - TCP-LISTEN:2222,crlf This is a test 

Для тех, кто сталкивается с этим, еще один хороший ответ – https://stackoverflow.com/questions/3130911/tcpdump-localhost-to-localhost , если трафик, который не отображается, – localhost-> localhost traffic. Я чувствую, что в других ситуациях мне не приходилось это делать, но, по крайней мере, несколько раз мне приходилось это делать.