iftop - jak wygenerować plik tekstowy z wyjściem?

18

iftop jest świetnym narzędziem do wyświetlania wykorzystania przepustowości niemal na żywo w odróżnieniu od source-ip source-port destination-ip docelowy port.

Używam go, aby zobaczyć, który adres IP klienta używa największej przepustowości. Teraz chciałbym gdzieś przechowywać dane wyjściowe.

iftop używa ncurses tak

iftop > log.txt

nie działa zgodnie z oczekiwaniami, pliku wynikowego nie można odczytać.

Czy istnieje takie narzędzie, którego można użyć do przesłania danych wyjściowych do pliku tekstowego?

mickula
źródło
topnarzędzie ma tryb wsadowy, -bktóry umożliwia zapisanie migawki przez przekierowanie wyjścia do pliku, ale iftopnie ma takiej opcji.
Khaled
dzięki Khaled za twoją odpowiedź, wiem to już dlatego właśnie szukam alternatywnej partii iftop.
mickula

Odpowiedzi:

17

Od iftop-1.0pre3 (2014-01-01) dodano tryb wyświetlania tekstu. Będzie to bardzo przydatne dla każdego, kto próbuje przeanalizować dane wyjściowe iftop.

Opcja wiersza polecenia aktywująca tryb tekstowy (pakietowy) to:

-t          use text interface without ncurses

W trybie tekstowym dostępne są następujące opcje:

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

Użyj tej -hopcji, aby uzyskać pomoc na temat korzystania z iftop.

Przykład użycia to:

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

Jeśli chcesz, aby działał w tle przez 5 godzin:

iftop -t -s 18000 > log.txt &

Sprawdź zadanie w tle za pomocą jobpolecenia.

Alexandre
źródło
8

iptraf może rejestrować ten poziom szczegółowości. Dane wyjściowe wyglądają mniej więcej tak:

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
źródło
Z jakich opcji wiersza polecenia korzystasz, aby uzyskać ten wynik iptraf?
Banjer,
1
sudo iptraf -i eth0 -L /tmp/traffic_log
dwurf
Kilka uwag: 1) Powinienem biegać iptraf-ngna mięcie linuksowej. 2) Powinienem także zainstalować car:sudo apt install ucommon-utils
Ehsan88
1

Wydaje się, że iftop nie może wyprowadzać pliku tekstowego (istnieje żądanie funkcji, ale nie zostało jeszcze zaimplementowane), tymczasem spójrz na narzędzie bwm-ng , które jest podobne do iftop, ale pozwala na wyjście w pliku CSV.

Oto przykład użycia:

bwm-ng -o csv -c 6 -T rate -I eth0 >> bandwidth.log
Aleroot
źródło
Znam już ten, problem polega na tym, że dane wyjściowe wyglądają tak: 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;0więc dla całego interfejsu nie jest pogrupowane według podłączonych adresów IP
mickula
1
Możesz parsować CSV na przykład za pomocą skryptu perla i zmienić format wyjściowy ...
aleroot 14.04.12
2
nie chodzi o format pliku, ale o to, że statystyki są podsumowaniem dla interfejsu nie pogrupowanego według adresu IP klienta
mickula