|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Vadim Goncharov 2:5020/400 14 Nov 2006 03:11:03 To : Eugene Grosbein Subject : Re: tcpshow on 5.x/6.x - workaround -------------------------------------------------------------------------------- Hi Eugene Grosbein! On Mon, 13 Nov 2006 11:06:32 +0300; Eugene Grosbein wrote about 'Re: tcpshow on 5.x/6.x - workaround': VG>> Как известно, какое-то время назад формат вывода tcpdump поменялся, VG>> и tcpshow из портов, нормально работавший на FreeBSD 4.x, стал VG>> вываливаться c ошибкой ***Error: Badly formatted Ethernet address VG>> По-хорошему он просто не должен зависеть от tcpdump вообще, но VG>> переписывать его совсем - дело долгое, к тому же исходники у него VG>> совершенно brain-damaged, поэтому я сделал workaround, просто VG>> переформатировав VG>> выдачу tcpdump перед подачей на вход tcpshow. Пример использования VG>> фильтра: VG>> tcpdump -lenxs 0 port 21 | sed -E 's/^([0-9:.]+) ([0-9a-f:]+) > VG>> ([0-9a-f:]+).*\(0x([0-9a-f]+)\), length ([0-9]+)\: IP (.*)$/\1 \2 \3 \4 VG>> \5: VG>> \6/g' | sed -E 's/^( )0x[0-9a-f]+: ([0-9a-f ]{40}).*$/\1\1\1 \2/' | VG>> tcpshow VG>> -cooked -minHdrDecode EG> Я в таком случае просто поставил старый tcpdump из портов, EG> штатно он лег в /usr/local/sbin :-) Так не интересно :) Кстати, там в регэкспе ошибка, надо " IP" убрать (а то на арп-апросы и проч. ругаться будет). VG>> P.S. Вообще, изначально мне нужна была показывалка данных по VG>> tcp-соединению в формате а-ля примеры из RFC: клиент сказал одно, VG>> сервер ответил ему другое, и т.д., причем с hex-дампом для бинарных VG>> протоколов. EG> Hовый tcpdump в какой-то мере сам умеет показывать это, Чего он умеет показывать? со всеми заголовками, ретрансмиссиями и пр., а хотелось бы clean output. EG> но я тоже привык к tcpshow :-) А я не привык, я на это хотел посмотреть. Оказалось, сносно, пользоваться можно, но искал я таки не это. VG>> Посмотрев на tcpshow, могу сказать, что для ASCII-протоколов VG>> он подходит, правда русский язык, как и tcpdump, не показывает (но VG>> патчить этот shit в его сырцах желания нет). EG> А вот это неправда. tcpshow показывает русский, если локаль выставлена EG> соответствующая. Правда-правда. У меня $LANG выставлен был (унаследовался по su от юзера моего ssh-ного) - точки вместо русских букв. К тому, насколько я помню, оно там в исходниках принудительно локаль в C выставляет. -- 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/10359332a8078.html, оценка из 5, голосов 10
|