linux服务器实时监控网卡流量可用iftop(连接级)、nload(双通道图表)、/proc/net/dev(原始计数器)、iptraf-ng(协议分析)和bmon(多接口趋势)五种工具,各具过滤、统计与可视化优势。

如果您需要掌握Linux服务器当前网络带宽占用状况,并实时监控网卡流量,可通过多种命令行工具实现。以下是几种主流、可立即生效的实时监控方法:
一、使用iftop实时查看连接级带宽
iftop基于libpcap捕获数据包,以类似top的交互式界面显示每个IP连接的实时带宽占用,支持按网卡、端口、网段过滤,适用于快速定位高流量来源。
1、安装iftop:CentOS/RHEL执行yum install iftop -y,Ubuntu/Debian执行apt-get install iftop。
2、查看默认网卡实时流量:sudo iftop。
3、指定网卡(如eth0)并以字节为单位显示:sudo iftop -i eth0 -B。
4、仅显示80端口流量:sudo iftop -i eth0 -P -f "port 80"。
5、退出监控界面:按q键。
二、使用nload监控入站与出站总流量
nload提供简洁的双通道图表界面,分别显示RX(接收)和TX(发送)的实时速率及累计流量,不依赖DNS解析,响应快且资源占用低。
1、安装nload:CentOS/RHEL执行yum install nload -y,Ubuntu/Debian执行apt-get install nload。
2、监控所有可用网卡:sudo nload -m。
3、监控指定网卡(如ens33):sudo nload ens33。
4、切换网卡视图:使用左右方向键。
5、退出监控:按q键。
三、使用watch + /proc/net/dev查看原始计数器
/proc/net/dev是内核暴露的实时网络统计接口,通过watch周期刷新可观察每秒字节数变化,适合无额外软件依赖的轻量级场景,结果需手动换算为bps。
1、查看当前各网卡收发字节数:cat /proc/net/dev。
2、每秒刷新一次并高亮变化:watch -n 1 'cat /proc/net/dev | grep -E "(eth|ens|enp)"'。
3、计算实时速率:记录两次输出中同一网卡RX_bytes或TX_bytes差值,除以时间间隔(秒),再除以125得到Mbps(因1 Byte = 8 bits,1 Mbps = 1,000,000 bps ≈ 125,000 Bytes/s)。
4、退出watch:按Ctrl+C。
四、使用iptraf-ng获取连接与协议级详情
iptraf-ng提供色彩化交互界面,可按TCP/UDP协议、端口、主机分组统计,支持日志记录与活动连接跟踪,适合需要深度协议分析的运维人员。
1、安装iptraf-ng:Ubuntu/Debian执行apt-get install iptraf-ng,CentOS/RHEL启用EPEL后执行yum install iptraf-ng。
2、启动交互式监控:sudo iptraf-ng。
3、在主菜单中选择"IP traffic monitor"或"Statistical breakdowns"。
4、按q返回上层菜单,按Ctrl+X退出程序。
五、使用bmon查看多接口聚合与历史趋势
bmon以终端图形方式展示多个网络接口的实时速率、峰值、总流量,并内置滚动历史窗口(默认30秒),支持导出JSON与自定义刷新率,兼顾可视化与可脚本化需求。
1、安装bmon:Ubuntu/Debian执行apt-get install bmon,CentOS/RHEL执行yum install bmon。
2、启动默认监控:sudo bmon。
3、切换接口:按右箭头键循环切换已识别网卡。
4、调整刷新间隔(如设为2秒):sudo bmon -r 2。
5、退出:按q键。











