可使用nload、iftop、ifstat和/proc/net/dev四种方法监控linux网络流量:nload显示网卡实时吞吐量;iftop定位高流量连接;ifstat批量采集多网卡周期数据;/proc/net/dev提供内核级累计流量统计。

如果您需要在Linux系统中实时掌握网络接口的流量占用情况,快速识别带宽瓶颈或异常连接,则可借助nload与iftop这两款轻量级命令行工具。以下是具体操作方法:
一、使用nload监控网卡整体吞吐量
nload以动态柱状图+数值形式展示单个或多个网卡的入站(Incoming)和出站(Outgoing)瞬时速率,界面简洁,适合持续盯屏观察整体带宽使用趋势。它不解析连接详情,但响应迅速、图形反馈直观。
1、确认nload是否已安装:执行which nload;若无输出,需按系统类型安装:Ubuntu/Debian执行sudo apt update && sudo apt install nload,CentOS/RHEL 8+执行sudo dnf install epel-release -y && sudo dnf install nload。
2、启动默认活跃网卡监控:直接运行nload。
3、切换监控网卡:启动后按左右方向键在检测到的接口(如eth0、ens33、wlan0)间轮换。
4、调整显示单位:例如以MB/s为单位查看eth0流量,运行nload -u M eth0。
5、退出程序:按q键或Ctrl+C终止监控。
二、使用iftop定位高流量网络连接
iftop基于libpcap捕获数据包,以类似top的方式列出当前活跃的TCP/UDP连接,精确到源IP:端口→目标IP:端口,并实时显示各连接的TX/RX速率及历史峰值,适用于排查具体哪台主机或哪个服务占用了大量带宽。
1、检查iftop是否存在:执行which iftop;若未安装,Ubuntu/Debian运行sudo apt install iftop,CentOS/RHEL 8+运行sudo dnf install iftop。
2、以root权限启动并禁用DNS解析(提升响应速度):运行sudo iftop -n。
3、指定监控网卡:如仅关注docker0接口,执行sudo iftop -i docker0 -n。
4、过滤特定流量:按l键启用屏幕过滤,输入IP地址或域名后回车,仅保留匹配连接。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
5、暂停刷新以便记录:按P键切换暂停/继续状态;按q退出。
三、使用ifstat批量采集多网卡周期性流量数据
ifstat擅长并发监控多个接口,并支持自定义采样间隔与日志导出,输出格式规整、列对齐,便于脚本解析或定时归档分析,弥补nload与iftop在批量统计方面的不足。
1、安装ifstat:Ubuntu/Debian执行sudo apt install ifstat,CentOS/RHEL 8+执行sudo dnf install ifstat。
2、查看所有启用网卡的实时KB/s流量:直接运行ifstat。
3、监控指定网卡并设定刷新周期:例如每3秒输出eth0与lo的收发速率,执行ifstat -i eth0 -i lo 3。
4、将5秒一次、共120行的数据写入日志文件:运行ifstat 5 | head -n 120 > /tmp/network_5min.log。
5、启用时间戳列便于后续关联分析:添加-t参数,如ifstat -t 2。
四、读取/proc/net/dev获取原始累计流量统计
/proc/net/dev是内核暴露的虚拟文件,记录每个网络接口自启动以来的累计接收与发送字节数、数据包数、错误数等底层计数器,无需额外依赖,适合脚本化采集或做轻量级长期趋势比对。
1、查看全部接口原始数据:执行cat /proc/net/dev。
2、提取指定网卡(如eth0)的接收字节数:运行awk '/eth0/{print $2}' /proc/net/dev。
3、提取同一网卡的发送字节数:运行awk '/eth0/{print $10}' /proc/net/dev。
4、计算两次采样间的流量差值:先保存初始值,sleep若干秒后再次读取,用bash算术运算得出该时段总字节数。










