使用不同的机制来制作流量报告。nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载。
下面是按功能划分的命令名称。
- 监控总体带宽使用:nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
- 监控总体带宽使用(批量式输出):vnstat、ifstat、dstat和collectl
- 每个套接字连接的带宽使用:iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
- 每个进程的带宽使用:nethogs
speedometer
监控流量:
speedometer -r eth0 -t eth0
-c 选项可以以垂直分割的方式显示不同的项目:
speedometer -tx eth0 -c -rx eth0
另外,Speedometer 还可以监测某个文件的下载速率,比如你正在下载 downlod.iso 这个文件,那么只要:
speedometer download.iso
就会显示出文件下载的速率,不过这招有时也不是很灵,因为大多数文件下载工具,会缓存下载的数据,或者在临时文件中保存下载的数据,而 Speedometer 只能通过监测文件大小的变化算出速率。如果你知道下载文件的大小,可以在命令中指定大小,这样 Speedometer 就会帮你显示一个进度条,比如我知道 download.iso 是 80M:speedometer download.iso $((80*1024*1024))
pktstat
pktstat可以实时显示所有活动连接,并显示哪些数据通过这些活动连接传输的速度。它还可以显示连接类型,比如TCP连接或UDP连接;如果涉及HTTP连接,还会显示关于HTTP请求的详细信息。
pktstat -i eth0 -nt
dstat
dstat是一款用途广泛的工具(用python语言编写),它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。这个例子显示了如何使用dstat来报告网络带宽。
dstat -nt