Страница 1 из 1

Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-22 12:31:39
KVIN
Хочется запуститьTrafshow -i ng0 -R 10 -P15 -a32 > /1.txt и опубликовывать данный файл на корп веб-сервере.
Но такай конструкция делает файл со следующмим содержанием:

Код: Выделить всё

9mESC(BESC[mESC[33;1HESC[37mESC[40mESC(0ESC(Brl0ESC[33;43H0 FlowsESC[33;85HTotal:ESC[33;102H0ESC[33;119H0ESC[13CESC[39;49mESC[mESC[HESC[37mESC[40mSource                                    Destination                               Protocol         Size             CPSESC[K^MESC[1BESC(0qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqESC[39;49mESC(BESC[mESC[3;1HESC[37mESC[40mESC(0ESC(BESC[7m194.88.218.233,8000                       192.168.1.39,3941                         tcp              17K                             ESC[4;1HESC[mESC[37mESC[40m192.168.1.39,37312                        82.131.71.17,41207                        udp              13KESC[K^MESC[1B192.168.1.39,37312                        178.94.193.196,10006                      udp              10KESC[K^MESC[1B192.168.2.83,56938                        77.74.50.78,http                          tcp              967ESC[K^MESC[1B151.47.13.133,46006                       192.168.1.3

Короче с кучей escape-последовательностей. Пробовал пропустить через прогу ansifilter - пропадает форматирование - таблица перестает быть таблицей

Код: Выделить всё

Source                                    Destination                               Protocol         Size             CPS194.88.218.233,8000                       192.168.1.39,3941                         tcp              17K                             192.168.1.39,37312                        82.131.71.17,41207                        udp              13K-server                   212.118.234.79,12975                      tcp              156-server                   tcp              156p             86p             86Source                                    Destination                               Protocol         Size             CPSh5.newname.com.ua,8000                    administrator.niva.com,3941               tcp              32K              18K            administrator.niva.com,37312              82.131.71.17.cable.starman.ee,41207       udp              29K              26Kinistrator.niva.com,37312              196-193-94-178.pool.ukrtel.net,10006      udp              22K              10Kechanik-2.niva.com,22986                 2-141-94-178.pool.ukrtel.net,31334        udp              1466echanik-2.niva.com,22986                 188.49.10.105
ну тут оно еще хорошо смотрится, а при открытии в редакторе - все в одну строку ну и колонками не пахнет

Есть еще на перле написаная прога p5-HTML-FromANSI-2.03 , но при подсовывании ей файла она виснет (перл хавает все ресурсы проца) и ничего не происходит

Как можно поборать данную задачу? Подскажите какой-то путь решения

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-22 12:49:02
Гость
а не проще использовать ng_ipacct, тоже самое будет формировать?

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-22 12:56:20
KVIN
ng_ipacct, я так предполагаю, работает только на интерфейсах ngX а мне окромя их надо еще нагрузку(детализированную по IP и скоростям) на сетевую карту (внешнюю - внутреннюю)

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-22 13:07:21
KVIN
Ну и это считалка, типа статистику собирает, а мне надо в реальном времени нагрузку

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-23 15:31:52
Miguel
а утилитку script попробуйте.

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-23 22:33:04
Miguel
а нет)) не понял сразу.
вот это поможет? ну, хотя-бы покопайте в сторону tcpdump. как пишут trafshow
лишь интерпретатор выхлопа tcpdump.
например:

Код: Выделить всё

 tcpdump -nti rl0 'src net 192.168.1.0 mask 255.255.255.0 and ip proto \udp'

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-24 0:58:59
Гость
KVIN писал(а):ng_ipacct, я так предполагаю, работает только на интерфейсах ngX
неправильно вы понимаете
идите мануал читайте

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 10:55:08
KVIN
как пишут trafshow
лишь интерпретатор выхлопа tcpdump.
- ну да интерпретатор - и мне ну никак не хочется писать свой интерпритатор tcpdump'a или ng_ipacct
Хочестя просто профильтровать вывод TrafShow - он мне идеально подходит

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 11:43:13
Гость
KVIN, меня просто распирает любопытсво, а вы откуда?))

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 12:38:59
Miguel
да что там писать то, дружище))) ведь некий скрипт, очищающий ansi-выхлоп от эскейп-последовательностей вам тоже нужно будет писать, причем он-то будет никак не самый простой. А вывод tcpdump вы достаточно гибко можете обработать с помощью, к примеру awk, и, кроме того, обернуть поля вывода в html теги.
Но, судя по описанию, выгоднее использовать ng_ipacct, в особенности, если на сервер приходит большое количество запросов.
также вот, может быть это поможет:
http://www.opennet.ru/base/net/trafd_stat.txt.html
http://www.opennet.ru/base/faq/faq_traf2.txt.html

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 13:02:49
KVIN
да мне не нужна статистика за промежуток времени. Trafd - и так там работает и месячную статистику я могу вытащить. Мне нужно другое. Чтобы директор (или местный "админ"- если его так можно назвать) ругаясь на слабый интернет зашел на страничку и увидел кто его грузит В ДАННЫЙ МОМЕНТ ВРЕМЕНИ, а не за последний час, месяц, год ,
Трафшоу - для этого идеальный инструмент, но не хочется, и наверное не разумно давать таким обалдуям логин и пароль к ssh, потому и нужно чтоб на вебе каждые пару секунд публиковался текущий вывод trafshow

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 13:11:42
Гость
Мне нужно другое. Чтобы директор (или местный "админ"- если его так можно назвать) ругаясь на слабый интернет зашел на страничку и увидел кто его грузит В ДАННЫЙ МОМЕНТ ВРЕМЕНИ
ну и пусть грузят и что?
будете отключать тех кто грузит потому что админ или директор порнушку не может скачать?
шейперы тогда настройте
и не страдайте ерундой

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 13:30:16
KVIN
будете отключать тех кто грузит потому что админ или директор порнушку не может скачать?
- это зависит от политики фирмы, в данном случае и на зарплате может отразиться а не только "отключать"

шейперы - тут непричем (они настроены) тут требуется определенная НАГЛЯДНОСТЬ для упраляющего персонала

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 14:17:18
Гость
- это зависит от политики фирмы, в данном случае и на зарплате может отразиться а не только "отключать"
:-D что это за фирма такая которая килобайты считает и у которой пропускная способность канала хуже диалапа
не проще тогда завести учетку на сервере бсд, тому управляющему персоналу и пусть он сам trafshow запускает?
а потом так же правилами фаревола режет злосных нарушителей траффика :ROFL:

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 14:54:20
kpp
2 KVIN
Попробуй:

Код: Выделить всё

tr -s "[\027]" "\n" < /1.txt |\
sed -n '/HSource/,${
     s/\(^.*\).$/\1/
     /^..................*/p
     }' > /2.txt
Если подходит, можно еще красоту навести.

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:09:06
kpp
или даже так:

Код: Выделить всё

tr -s "[\027]" "\n" < /1.txt |\
sed -n '/HSource/,${
     s/\(^.*\).$/\1/
     /^.*qqqqqqqq.*$/d
     s/^[a-z]\(.*\)/\1/
     s/^[0-9][a-zA-Z]\(.*\)/\1/
     /^..................*/p
     }' > /2.txt
Если еще подумать, можно вывести общую загрузку канала или еще чего-нить :smile:

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:22:50
KVIN
kpp писал(а):или даже так:

Код: Выделить всё

tr -s "[\027]" "\n" < /1.txt |\
sed -n '/HSource/,${
   ............................
     }' > /2.txt
Если еще подумать, можно вывести общую загрузку канала или еще чего-нить :smile:
создает пустой файл

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:25:01
kpp
/1.txt есть, не пуст?
Поищи в нем HSource есть?
Версия trafshow другая может быть.
Виноват, HSource замени на Source :oops:

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:43:18
kpp
Немного доработанный вариант:

Код: Выделить всё

tr -s "[\027]" "\n" < /1.txt |\
sed -n '/Source/,${
     s/\(^.*\).$/\1/
     /^.*qqqqqqqq.*$/d
     s/^[a-zA-Z]\(.*\)/\1/
     s/^[0-9][a-zA-Z]\(.*\)/\1/
     / [ ]*$/s/ [ ]*$//
     /^.......................*/p
     }' > /2.txt

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:48:53
KVIN
да этот работает, спасиб буду допиливать

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 15:52:06
kpp
Покажи свой результат, интересно ;)
И что хочешь допилить - вроде все нормально

Re: Trafshow: как перенаправить вывод в файл (plain text)?

Добавлено: 2011-04-26 16:13:26
KVIN
Ну допилить, эт если что-то надо будет поменять. Вы мне дали заготовку, которую немного переделывая можно и всяких извращенных красивостей навести.
вроде все нормально
- да все класс, иногда 1-2 срочки не попадают в общие колонки - ну эт пустяки
Просто огромное спасибо