无论是个人使用Ubuntu桌面,还是运维Ubuntu服务器,监控网络流量都至关重要。通过监控流量,可快速识别带宽瓶颈、定位高流量异常连接、排查网络卡顿问题,同时避免恶意程序偷跑流量,保障系统网络稳定运行。本文介绍4种简单易懂的监控方法,涵盖图形界面和命令行,新手也能轻松操作。
方法一:使用nload监控网卡整体吞吐量(直观简洁)
2.1 安装nload工具
打开终端(Ctrl+Alt+T),输入以下命令安装nload:
sudo apt update && sudo apt install nload -y
安装完成后,输入“which nload”,若有输出,说明安装成功。
2.2 使用nload监控流量
1. 启动默认监控:直接输入“nload”,系统会自动监控当前活跃网卡的入站(Incoming)和出站(Outgoing)流量,以动态柱状图+数值形式展示,直观看到流量实时变化;
2. 切换监控网卡:启动后按左右方向键,可在多个网卡(如eth0、ens33、wlan0)间切换;
3. 调整显示单位:例如以MB/s为单位监控eth0网卡,输入“nload -u M eth0”;
4. 退出监控:按“q”键或“Ctrl+C”终止监控。
三、方法二:使用iftop定位高流量网络连接(精准排查)
3.1 安装iftop工具
终端输入命令:
sudo apt install iftop -y
安装完成后,输入“which iftop”验证安装成功[2]。
3.2 使用iftop监控流量
1. 启动监控:
sudo iftop -n #输入“sudo iftop -n”,以root权限启动,“-n”参数禁用DNS解析,提升响应速度;
2. 指定监控网卡:若仅监控docker0接口,输入“sudo iftop -i docker0 -n”;
3. 过滤特定流量:按“l”键启用屏幕过滤,输入IP地址或域名,仅保留匹配的网络连接;
4. 暂停刷新:按“P”键切换暂停/继续状态,方便记录流量数据;
5. 退出监控:按“q”键退出。
四、方法三:使用ifstat批量采集多网卡流量(适合脚本分析)
3.1 安装ifstat工具
终端输入命令:
sudo apt install ifstat -y
安装完成后即可使用[2]。
3.2 使用ifstat监控流量
1. 基础监控:直接输入“ifstat”,查看所有启用网卡的实时KB/s流量,输出格式规整,便于查看;
2. 设定监控周期:例如每3秒输出eth0和lo网卡的收发速率,输入:
ifstat -i eth0 -i lo 3
3. 导出日志:将5秒一次、共120行的流量数据写入日志文件,输入:
ifstat 5 | head -n 120 > /tmp/network_5min.log
4. 启用时间戳:添加“-t”参数,如“ifstat -t 2”,便于后续关联分析流量变化。
五、方法四:读取/proc/net/dev获取原始流量统计(无需额外安装)
该方法无需安装任何工具,通过读取系统内核暴露的虚拟文件,获取网卡累计流量数据,适合轻量级监控和脚本化采集[2]。
5.1 查看原始流量数据
终端输入命令:
cat /proc/net/dev
即可查看所有网卡自系统启动以来的累计接收、发送字节数、数据包数等底层数据[2]。
5.2 提取特定网卡流量
1. 提取eth0网卡的累计接收字节数:输入“awk ‘/eth0/{print $2}’ /proc/net/dev”;
2. 提取eth0网卡的累计发送字节数:输入“awk ‘/eth0/{print $10}’ /proc/net/dev”;
3. 计算时段流量:先保存初始流量值,sleep若干秒后再次读取,通过bash算术运算得出该时段的总流量。