LINUX.ORG.RU
ФорумAdmin

Перенаправление stdout tcpdump в wireshark

 , , ,


0

4

Видел в интернете кейс удаленного запуска tcpdump через ssh с просмотром дампа в реальном времени на локальной машине в wireshark

ssh user12@192.168.0.13 -S 'sudo tcpdump -i any -w - -s 0' | wireshark -k –i -

Но wireshark выдает: Data written to the pipe is neither in a supported pcap format nor in pcapng format. Please report this to the developers of the program writing to the pipe.

Сталкивался ли кто с такой проблемой? Возможно ли заставить tcpdump выводить в совместимом формате?

Вроде у wireshark есть своя утиль для захвата трафика «tshark»

От версии к версии у tcpdump есть разница, да есть еще зависимость от версии libpcap.

У меня tcpdump понимает '-w -' дословно, т.е. пишет в файл '-'

Работает такая конструкция:

tcpdump -Unqi eth1 -s0 -w /dev/stdout | tcpdump -nr -

Если сделать

tcpdump -Unqi eth1 -s0 -w /dev/stdout -c 200 | cat >zz.pcap && file zz.pcap

то результат

zz.pcap: pcap capture file, microsecond ts (little-endian) - version 2.4 (Ethernet, capture length 262144)

PS Хорошо бы "-B 16384" добавить, чтоб потери были меньше и не забыть исключить трафик ssh иначе сеть будет перегружена.

"-n" tcpdump-у помогает не тормозить на резолвинге.

PPS

wireshark -k -i <( ssh -l root IP-of-probe /usr/bin/tshark -i eth0 -w - port 53 )

vel ★★★★★ ()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Сейчас проверил, дело точно не в версии tcpdump, клиентом SSH был Kali Linux Xfce, сервером Manjaro i3, tcmpdump -V на обоих тачках выдал:

tcpdump: option requires an argument -- 'V'
tcpdump version 4.9.3
libpcap version 1.9.1 (with TPACKET_V3)
OpenSSL 1.1.1d  10 Sep 2019

Так как пробовал на виртуальных машинах, просто скопировал кали и попробовал пробрасывать вывод tcpdump с кали на кали, моя изначальная команда заработала (правда еще ключ -U добавил). Возможно дело таки в локалях, на одной машине LANG=ru_RU, на другой en_US.

NordeN ()