Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 tcpshow on 5.x/6.x - workaround   Vadim Goncharov   13 Nov 2006 01:08:47 
Архивное /ru.unix.bsd/1035926f8322f.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional