|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vadim Goncharov 2:5020/400 13 Nov 2006 01:08:47 To : All Subject : tcpshow on 5.x/6.x - workaround --------------------------------------------------------------------------------
Как известно, какое-то время назад формат вывода tcpdump поменялся,
и tcpshow из портов, нормально работавший на FreeBSD 4.x, стал
вываливаться c ошибкой ***Error: Badly formatted Ethernet address
По-хорошему он просто не должен зависеть от tcpdump вообще, но
переписывать его совсем - дело долгое, к тому же исходники у него
совершенно brain-damaged, поэтому я сделал workaround, просто переформатировав
выдачу tcpdump перед подачей на вход tcpshow. Пример использования
фильтра:
tcpdump -lenxs 0 port 21 | sed -E 's/^([0-9:.]+) ([0-9a-f:]+) >
([0-9a-f:]+).*\(0x([0-9a-f]+)\), length ([0-9]+)\: IP (.*)$/\1 \2 \3 \4 \5:
\6/g' | sed -E 's/^( )0x[0-9a-f]+: ([0-9a-f ]{40}).*$/\1\1\1 \2/' | tcpshow
-cooked -minHdrDecode
N.B.: Во втором sed в скобках стоит не несколько пробелов, а один символ
TAB (^I, 0x09) - ввести с клавиатуры в шелле (если он не дает) можно,
например, нажатием Esc, затем Tab.
P.S. Вообще, изначально мне нужна была показывалка данных по
tcp-соединению в формате а-ля примеры из RFC: клиент сказал одно,
сервер ответил ему другое, и т.д., причем с hex-дампом для бинарных
протоколов. Посмотрев на tcpshow, могу сказать, что для ASCII-протоколов
он подходит, правда русский язык, как и tcpdump, не показывает (но
патчить этот shit в его сырцах желания нет). Если взять tcpflow, он
сохранит поток в файл, и его можно будет потом обрабатывать чем угодно
- проблема только в том, что не будет очередности пакетов, а просто два
потока, по одному в каждую сторону (это удобно для выдирания файлов, но
не анализа/дебага протоколов). Может кто посоветует что-то подходящее?..
--
WBR, Vadim Goncharov. ICQ#166852181 mailto:vadim_nuclight@mail.ru
[Moderator of RU.ANTI-ECOLOGY][FreeBSD][http://antigreen.org][LJ:/nuclight]
--- slrn/0.9.8.1 on FreeBSD 4.11/i386
* Origin: Nuclear Lightning @ Tomsk, TPU AVTF Hostel (2:5020/400@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/1035926f8322f.html, оценка из 5, голосов 10
|