tcpdump, кажется, не собирает данных, почему?

Существует три стандартных файла, открытые для каждой программы, stdin (стандартный вход), stdout(стандартный вывод), и stderr (стандартная погрешность). Записи обоим stdout и stderr производится в терминале по умолчанию.

Это - общая конвенция к ошибкам при записи и сообщения журнала к stderr вместо stdout для не смешивания журнала или сообщений об ошибках с фактическим выводом программы. Можно перенаправить stderr использование 2>, например:

command 2> log
2
16.09.2014, 16:34
5 ответов

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

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

$ tcpdump -i eth0 -s 1500 -w /root/<filename.pcap>
3
27.01.2020, 21:52

Должно быть что-то еще. Следующий тест мне подходит. Я использую 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
2
27.01.2020, 21:52

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

2
27.01.2020, 21:52

по предложению Вюртеля :Используйте -nс tcpdump, чтобы остановить попытки преобразовать IP-адреса в имена, что может занять много времени и привести к этой проблеме.

0
19.01.2021, 09:45

попробуй это:

sudo bash

, а затем

tcpdump...

В некоторых версиях Linux время от времени я вижу, что tcpdump или подобные инструменты не работают с sudo должным образом..

0
12.02.2021, 13:09

Теги

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