iftop - как сгенерировать текстовый файл с его выводом?

18

iftop - это отличный инструмент для просмотра практически живого трафика, различаемого по порту назначения source-ip source-port destination-ip destination.

Я использую его, чтобы увидеть, какой IP-адрес клиента использует большую часть пропускной способности. Теперь я хотел бы где-то хранить вывод.

iftop использует ncurses так

iftop > log.txt

не работает должным образом, файл результатов не читается.

Есть ли такой инструмент, который можно использовать для передачи вывода в текстовый файл?

mickula
источник
topИнструмент имеет пакетный режим, -bкоторый позволяет сохранять снимок путем перенаправления вывода в файл, но iftopне имеет такой опции.
Халед
спасибо Халед за ваш ответ, я уже знаю это, поэтому я ищу альтернативный вариант iftop.
Микула

Ответы:

17

Начиная с iftop-1.0pre3 (2014-01-01) , был добавлен режим вывода текста. Это будет очень полезно для всех, кто пытается разобрать вывод iftop.

Параметр командной строки для активации текстового (пакетного) режима:

-t          use text interface without ncurses

При использовании текстового режима доступны следующие параметры:

-s num      print one single text output afer num seconds, then quit
-L num      number of lines to print

Используйте -hопцию для помощи при использовании iftop.

Пример использования будет:

iftop -t > log.txt
iftop -t -s 180 > log.txt

Если вы хотите, чтобы он работал в фоновом режиме в течение 5 часов:

iftop -t -s 18000 > log.txt &

Проверьте на фоновую работу с jobкомандой.

Александр
источник
8

iptraf может регистрировать этот уровень детализации. Вывод выглядит примерно так:

Wed Apr 25 23:08:42 2012; UDP; eth0; 65 bytes; from 192.168.1.20:45061 to 192.168.1.254:53
Wed Apr 25 23:08:42 2012; UDP; eth0; 133 bytes; from 192.168.1.254:53 to 192.168.1.20:45061
Wed Apr 25 23:08:43 2012; UDP; eth0; 96 bytes; from 192.168.1.21:137 to 192.168.1.20:137
Wed Apr 25 23:08:44 2012; UDP; eth0; 472 bytes; from 192.168.1.21:1900 to 239.255.255.250:1900
Wed Apr 25 23:08:47 2012; ICMP; eth0; 159 bytes; from 192.168.1.20 to 173.176.222.82; dest unrch (port)
dwurf
источник
Какие параметры командной строки вы используете, чтобы получить этот вывод iptraf?
Banjer
1
sudo iptraf -i eth0 -L /tmp/traffic_log
dwurf
Пара замечаний: 1) Я должен работать iptraf-ngна Linux Mint. 2) Я carтоже должен установить :sudo apt install ucommon-utils
Ehsan88
1

Похоже, что iftop не может выводить в текстовый файл (есть запрос функции, но он еще не реализован), а пока взглянем на утилиту bwm-ng, которая похожа на iftop, но позволяет выводить файл CSV.

Вот пример использования:

bwm-ng -o csv -c 6 -T rate -I eth0 >> bandwidth.log
aleroot
источник
Я уже знаю это, проблема в том, что вывод выглядит так: 1334421690;eth0;1909467.12;156131.73;2065598.88;78222;956643;2562.87;1956.09;4518.96;980;1284;0.00;0.00;0;0 1334421690;total;1909467.12;156131.73;2065598.88;78222;956643;2562.87;1956.09;4518.96;980;1284;0.00;0.00;0;0 1334421690;eth0;1934056.00;142336.00;2076392.00;71168;967028;2502.00;1874.00;4376.00;937;1251;0.00;0.00;0;0 1334421690;total;1934056.00;142336.00;2076392.00;71168;967028;2502.00;1874.00;4376.00;937;1251;0.00;0.00;0;0для всего интерфейса, не сгруппированного по подключенным IP-адресам
mickula
1
Вы можете, например, проанализировать CSV с помощью сценария perl и изменить формат вывода ...
aleroot
2
дело не в формате файла, а в том, что статистика является сводкой для интерфейса, не сгруппированного по IP-
адресу