分析和监控 Linux 网络流量对用户和系统管理员来说是一项非常重要的任务,能够对 Linux 网络带宽进行监控和分析的开源工具非常多,本文我们就来介绍一些常用命令,以帮助用户和管理员查看和分析网络带宽负荷。
Nload
Nload 是一个控制台应用程序,允许用户对网卡的传入和传出流量进行实时监控和查看。Nload 以简单的图示显示实时的传入和传出带宽及流量数据,不过在使用之前需先使用如下命令进行安装:
sudo apt-get install nload
Nload 似乎没有多余的参数,大家可直接执行:
sudo nload
执行之后的输出如下图所示,最上面显示的是当前网卡的名称和 IP 地址,如果有多块网卡可以按键盘上的「左、右」键进行切换。
Iptraf
Iptraf 是一个基于 ncurses 的 IP 局域网监控工具,它可以显示每个连接和主机之间的数据流量。大家可以使用如下命令安装 Iptraf:
sudo apt-get install iptraf
一旦 iptraf 安装完毕,则可执行如下命令:
sudo iptraf
执行后可以看到如下图的输出:
通过上述不同的选项,大家可以选择不同的显示和统计方式进行查看。我个人比较喜欢「Detailed interface statistics」(详细网络数据统计)方式进行查看:
Vnstat
Vnstat 与上面介绍的 2 个工具有所不同,它是一个基于控制台的 Linux 流量监控应用,但可以在后台运行并记录所选网卡的网络流量,它可用于生成网络使用情况报告。
大家可使用如下命令安装 vnstat:
sudo apt-get install vnstat
不带参数执行时:
sudo vnstat
以看到在网络上传输的数据的总量:
如果要使用 vnstat 查看网卡的实时带宽,使用 -l 参数则可显示传入、传出的带宽数据。例如,要查看 eth0 网卡的实时流量,可以使用如下命令:
sudo vnstat -l -i eth0
Speedometer
Speedometer 是一个可以在 Linux 监控网络连接当前上传和下载速度的命令行工具,它可以统计并在控制台中以图形显示当前和过去的数据。
我们可用如下命令进行安装:
sudo apt-get install speedometer
使用如下参数监控 eth0 网卡:
sudo speedometer -r eth0 -t eth0
Iftop
Iftop 是一个命令行工具,它可以显示指定网卡的当前带宽用量。Iftop 使用 pcap library 来捕获网卡的传入、传出数据包。
大家可以使用如下命令安装 Iftop:
sudo apt-get install iftop
执行时建议大家使用 –n 参数阻止 lftop 将 IP 解析为主机名:
sudo iftop -n
执行之后的输出如下:
小结
本文对 Linux 网络带宽监控常用命令进行了介绍,希望其中有你喜欢的一款。对于上述命令我们只是进行了简单介绍,其中不少命令都有很多参数可以组合来应对各种使用场景,大家可以自行深入研究。