iftop - 如何利用其输出生成文本文件?

iftop - 如何利用其输出生成文本文件?

伊夫托普是查看几乎实时带宽使用情况的绝佳工具,通过源 IP 源端口目标 IP 目标端口进行区分。

我用它来查看哪个客户端的 IP 占用了最多的带宽。现在我想将输出存储在某个地方。

iftop 使用 ncurses

iftop > log.txt

无法按预期工作,结果文件无法读取。

是否有类似的工具可用于将输出通过管道传输到文本文件?

答案1

自从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

答案2

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)

答案3

似乎 iftop 无法输出到文本文件(有一个功能请求,但尚未实现),同时看看bwm-ng与 iftop 类似的实用程序,但允许在 CSV 文件上输出。

以下是一个使用示例:

bwm-ng -o csv -c 6 -T rate -I eth0 >> bandwidth.log

相关内容