Linux网络流量监控工具

418 阅读2分钟

1、speedtest-cli

speedtest-cli是speedtest.net提供的一个python工具,就于网络测速。而且其还可以通过将测试的结果以图片的方式展线出来。这里插点题外话,speedtest.net也提供在线测速——通过web进行测试,原理是在你的浏览器中加载JavaScript代码并自动检测离你最近的Speedtest.net服务器,然后向服务器发送HTTP GET and POST请求来测试上行/下行网速。 1、安装python-pip

yum install python-pip –y

2、安装speedtest-cli

pip install speedtest-cli

3、测速

speedtest-cli --bytes

image.png

image.png speedtest-cli --bytes以字节计算的方式来测试上下行速度 speedtest-cli --share将速度测试的结果生成一张图片的连接,便于你分享 speedtest-cli --simple只显示ping和上下行速度 speedtest-cli --list 列出speedtest.net所有的服务器距离你的物理距离,单位是千米(km)

2、iftop

iftop用于网卡机器级别的流量监控,可以实时显示当前机器和其他主机之间的网络流量。

安装

yum install -y iftop
复制代码

安装完成后可以通过iftop命令启动,iftop默认监控第一个可用网卡的流量,可以通过参数指定要监控的网卡比如iftop -i eth0。网卡名称可以通过ifconfig获取。启动后的界面如下

最上面的是一个类似于刻度尺,通过下面的机器的进度条表示和某个机器网络流量的大小。 (注意单位都是bit)

VM_0_9_centos  =>    169.254.0.4    3.19Kb  2.90Kb  3.17Kb
               <=                   1.47Kb  1.480Kb 1.48Kb
复制代码

每两行代表和每个host之间不同方向的网络流量,第一列是源主机,第二列是目标主机,第三列分别是最近2s, 10s和40s的平均网络流量。默认按10s的网络流量进行排序。

TX:  cumm:   82.5KB   peak:   67.3Kb    rates:    5.02Kb   5.69Kb  16.0Kb
RX:          21.1KB           10.1Kb              1.74Kb   2.19Kb  3.99Kb
TOTAL:       104KB            77.4Kb              6.76Kb   7.88Kb  20.0Kb
复制代码

底部显示全局的流量统计,cumm表示运行至今的累计情况,peak表示峰值数据, rates 表示最近2s,10s和40s秒平均网络流量。

快捷键

在监控界面可以通过快捷键来调整监控显示项。可以通过h或者?查看支持查快捷键用法。

主机显示

 n - 是否开启DNS解析,显示机器名或者IP    
 s - 是否源主机    
 d - 是否显示目标主机
 t - 流量统计显示模式,两行显示,一行显示,只显示发送流量或者接收流量 
复制代码

端口显示

N - toggle service resolution          
S - 是否显示源主机端口           
D - 是否显示目标主机端口
p - 是否显示端口号 
复制代码

排序

 1/2/3 - 根据2s,10s和40s的流量排序
 < - 按源主机进行排序
 > - 按目标主机排序
 o - 冻结当前排序,避免机器排序出现变化,方便观察固定主机流量
复制代码

其他

 P - 暂停刷新
 h - 显示帮助
 b - 是否显示进度条和刻度尺
 B - 循环切换按2s,10s, 40s显示进度条
 T - 显示或者隐藏统计总量
 j/k - 滚动显示
 f - 编辑过滤器代码
 l - 屏幕文本搜索过滤
 ! - 执行Shell命令
 q - 退出
复制代码

其中过滤器代码参考pcap formatted filters

3、nethogs

nethogs用于监控统计每个进程的带宽使用

安装

yum install -y nethogs
复制代码

安装完成后可以直接运行nethogs启动,默认监听eth0网卡的流量,可以通过nethogs xxx监听其他网卡。

快捷键

m  切换显示模式(kb/s, kb, b, mb)
r  根据接收流量排序  
s  根据发送流量排序 
q  退出