伊夫托普是查看几乎实时带宽使用情况的绝佳工具,通过源 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