18个网络带宽常用命令

nload
是一款命令行工具,让用户可以分开业监控入站流量和出站流量,它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来非常疾风简单,不支持许多选项。
所以,如果你只需要快速查看总带宽使用情况,无需要每个进程的详细情况,那么nload用起来很方便。
安装nload。CentOS用户则需要从Epel软件库获得。

iftop
可测量通过每一个套接字连接传输的数据,它采用的工作方式有别于nload,iftop使用pcpa库来捕捉进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。
虽然iftop报告每个连接所使用的带宽,但无法报告参与某个套按字连接的进程名和/编号,不过由于基于pcpa库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。
iftop -n #n选项可以防止iftop将ip地址解析成主机名,解析本身就会带来额外的网络流量。

iptraf
是一款交互式,色彩鲜艳的IP局域网监控工具,它可以显示每个连接以及主机之间传输的数据量,

nethogs
是一款小巧的“net top”工具,可以显示每个进程使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面,万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到
导致带宽使用激增的进程,nethogs可以报告程序的进程编号,用户和路径

bmon
是一款类似于nload的工具,它可显示系统上所有网络接口的流量负载,输出结果还含有图表和剖面,附有数据包层面的详细信息。
bmon支持许多选项,能够制作HTML格式的报告,欲知更多信息,请参阅参考手册页。

slurm
是另一款网络负载监控器,可以显示设备的统计信息,还能显示ASCII图标,它支持三种不同类型的图形,使用c健,s健和i健即可激活每种图形,
slurm功能简单,无法显示关于网络负载的任何更进一步的详细信息。

toptrack
类似iftop,使用papc库来捕获数据包,并计算各种统计信息,比如每个连接所使用的带宽。它还支持标准的papc过滤器,这些过滤器可用来监控特定的连接。

vnstat
与另外一大多数工具有点不一样,它实际上运行后台服务/守护进程,始终不停地记录所传输数据的大小,之外,它可以用来制作显示网络使用历史情况的报告。

运行没有任何选项的vnstat,只会显示自守护进程运行以来所传输的数据总量。
想实时监控带宽使用情况,请使用“-l”选项(实时模式)。然后,它会显示入站数据和出站数据所使用的总带宽量,但非常精确显示,没有关于主机连接或进程的任何内部详细信息。
vnstat更像是一款制作历史报告的工具,显示每天或过去一个月使用了多少带宽,它并不是严格意义的实时监控网络工具。

bwm-ng
下一代带宽监控器,是另一款非常简单的实时网络负载监控工具,可以报告摘要信息,显示进出系统上所有可用网络接口的不同数据的传输速度。
如果控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。

cbm(color bandwidth meter)
是一款小巧简单的带宽监控工具,可以显示通过诸网络接口的流量大小,没有进一步的选项,仅仅实时显示和更新流量的统计信息。

speedometer
是一款小巧而简单的工具,仅仅绘制外观漂亮的图形,显示通过某个接口传输的入站流量和出站流量。

pktstat
可以实时显示所有活动连接,并显示哪些数据通过这些活动连接传输的速度,它还可以显示连接类型,比如tcp连接或udp连接,如果涉及HTTP连接,
还会关于HTTP请求的详细信息。

netwatch
是netdiag工具库的一部分,它也可以显示本地主机与其他远程主机之间的连接,并显示哪些数据在第个连接上所传输的速度。

trafshow
与netwatch和pktstat一样,trafshow也可以报告当前活动连接,它们使用的协议以及每条连接上的数据传输速度,它能使用pcpa类型过滤器,对连接进行过滤。
trafshow -i ens33 tcp #只监控tcp连接。

netload
只显示关于当前流量负载的一份简短报告,并显示自程序启动以来所传输的总字节量,没有更多的功能特性,它是netdiag的一部分。

ifstat
能够以批处理模式显示网络带宽。输出采用的一种格式便于用户使用其他程序或实用工具来记入日志和分析。
ifstat -i ens33 0.5

dstat
是一款用途广泛的工具(用python语言编写)它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。

[root@localhost yum.repos.d]# dstat -nt
-net/total- ----system----
recv send| time
0 0 |29-10 14:57:18
120B 246B|29-10 14:57:19
60B 122B|29-10 14:57:20
360B 122B|29-10 14:57:21
360B 122B|29-10 14:57:22
60B 122B|29-10 14:57:23
60B 122B|29-10 14:57:24
60B 122B|29-10 14:57:25
60B 122B|29-10 14:57:26
300B 122B|29-10 14:57:27
360B 122B|29-10 14:57:28
120B 122B|29-10 14:57:29
60B 122B|29-10 14:57:30
60B 122B|29-10 14:57:31
60B 122B|29-10 14:57:32
120B 122B|29-10 14:57:33
360B 122B|29-10 14:57:34
300B 122B|29-10 14:57:35
60B 122B|29-10 14:57:36
60B 122B|29-10 14:57:37
294B 122B|29-10 14:57:38
60B 122B|29-10 14:57:39

collectl
以一种类似dstat的格式报告系统的统计信息,与dstat一样,它也收集关于系统不同资源(如处理器,内存和网络等)的统计信息。这里给出的一个简单例子显示了如何使用
collectl来报告网络使用/带宽。
[root@localhost yum.repos.d]# collectl -sn -oT -i0.5
waiting for 0.5 second sample...
# <----------Network---------->
#Time KBIn PktIn KBOut PktOut
15:04:20 0 2 0 2
15:04:21 0 2 0 2
15:04:21 0 4 0 2
15:04:22 0 4 0 2
15:04:22 0 2 0 2
15:04:23 0 2 0 2
15:04:23 0 2 0 2
15:04:24 0 2 0 2
15:04:24 0 4 0 4
15:04:25 0 2 0 2
15:04:25 0 4 0 4
15:04:26 0 4 0 2
15:04:26 0 6 0 2
15:04:27 0 6 0 2
15:04:27 0 8 0 2
15:04:28 0 6 0 2
15:04:28 0 2 0 2
15:04:29 0 2 0 2
15:04:29 0 4 0 4
15:04:30 0 2 0 2

 

上一篇:python-文件读写


下一篇:LeetCode 题解 | 面试题57 - II. 和为s的连续正数序列