Существует три стандартных файла, открытые для каждой программы, stdin
(стандартный вход), stdout
(стандартный вывод), и stderr
(стандартная погрешность). Записи обоим stdout
и stderr
производится в терминале по умолчанию.
Это - общая конвенция к ошибкам при записи и сообщения журнала к stderr
вместо stdout
для не смешивания журнала или сообщений об ошибках с фактическим выводом программы. Можно перенаправить stderr
использование 2>
, например:
command 2> log
Предлагаю захватить пакеты и записать их в файл с расширением
, а затем открыть с помощью wireshark
.
Например, в CentOS, для захвата пакетов:
$ tcpdump -i eth0 -s 1500 -w /root/<filename.pcap>
Должно быть что-то еще. Следующий тест мне подходит. Я использую socat
и как клиент, и как сервер, и я запускаю tcpdump
в моей локальной системе, в которой я сижу.
$ socat - TCP-LISTEN:2222,crlf
$ socat - TCP:192.168.1.80:2222
$ 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. Я чувствую, что в других ситуациях мне не приходилось этого делать, но, по крайней мере, несколько раз мне приходилось это делать.
по предложению Вюртеля :Используйте -n
с tcpdump
, чтобы остановить попытки преобразовать IP-адреса в имена, что может занять много времени и привести к этой проблеме.
попробуй это:
sudo bash
, а затем
tcpdump...
В некоторых версиях Linux время от времени я вижу, что tcpdump или подобные инструменты не работают с sudo должным образом..