iftop - comment générer un fichier texte avec sa sortie?

18

iftop est un excellent outil pour afficher l'utilisation de la bande passante presque en direct, distingué par le port de destination ip de destination-source-ip source-port.

Je l'utilise pour voir l'IP du client qui utilise le plus de bande passante. Maintenant, je voudrais stocker la sortie quelque part.

iftop utilise ncurses donc

iftop > log.txt

ne fonctionne pas comme prévu, le fichier de résultats n'est pas lisible.

Existe-t-il un outil comme celui-ci qui peut être utilisé pour diriger la sortie vers un fichier texte?

Mickula
la source
topL'outil a un mode batch -bqui vous permet d'enregistrer un instantané en redirigeant la sortie vers un fichier, mais iftopn'a pas une telle option.
Khaled
Merci à Khaled pour votre réponse, je le sais déjà, c'est pourquoi je recherche une alternative par lot iftop.
mickula

Réponses:

17

Depuis iftop-1.0pre3 (2014-01-01) , un mode de sortie de texte a été ajouté. Cela sera très utile à quiconque essaie d'analyser la sortie d'iftop.

L'option de ligne de commande pour activer le mode texte (batch) est:

-t          use text interface without ncurses

Lorsque vous utilisez le mode texte, les options suivantes sont disponibles:

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

Utilisez l' -hoption d'aide sur l'utilisation iftop.

Un exemple d'utilisation serait:

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

Si vous souhaitez qu'il s'exécute en arrière-plan pendant 5 heures:

iftop -t -s 18000 > log.txt &

Vérifiez le travail en arrière-plan avec la jobcommande.

Alexandre
la source
8

iptraf peut enregistrer ce niveau de détail. La sortie ressemble à ceci:

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
la source
Quelles options de ligne de commande utilisez-vous pour obtenir cette sortie iptraf?
Banjer
1
sudo iptraf -i eth0 -L /tmp/traffic_log
dwurf
Quelques notes: 1) Je devrais fonctionner iptraf-ngsur Linux Mint. 2) Je devrais caraussi installer par:sudo apt install ucommon-utils
Ehsan88
1

Semble que iftop ne peut pas sortir dans un fichier texte (il y a une demande de fonctionnalité mais elle n'est pas déjà implémentée), en attendant jetez un œil à l' utilitaire bwm-ng qui est similaire à iftop mais permet de sortir sur un fichier CSV.

Voici un exemple d'utilisation:

bwm-ng -o csv -c 6 -T rate -I eth0 >> bandwidth.log
aleroot
la source
Je connais déjà celui-ci, le problème est que la sortie ressemble à: 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;0donc c'est pour toute l'interface non groupée par adresses IP connectées
mickula
1
Vous pouvez parser le CSV avec un script perl par exemple et changer le format de sortie ...
aleroot
2
il ne s'agit pas du format de fichier, c'est que les statistiques sont récapitulatives pour l'interface non groupée par IP client
mickula