linux下实时监控网卡流量可用iftop(连接级)、nethogs(进程级)、bmon(多接口汇总)、vnstat(长期统计)、iptraf-ng(协议分析)五种工具,各具定位高流量会话、识别带宽占用程序、掌握吞吐趋势、生成周期报表及深度诊断功能。

如果您需要在Linux系统中实时监控网卡的流量使用情况,以排查网络异常或评估带宽占用,则可通过命令行工具进行动态观测。以下是多种可行的监控方法:
一、使用iftop监控实时连接级流量
iftop是一款类top风格的实时网络流量监控工具,可按连接显示源/目的IP、端口、方向及TX/RX速率,适用于定位高流量会话。
1、执行命令安装iftop:CentOS系统运行yum install iftop -y,Ubuntu/Debian系统运行apt-get install iftop。
2、运行默认监控:sudo iftop,将自动监听首个活跃网卡(如eth0或ens33)。
3、指定网卡监控:sudo iftop -i eth1,其中eth1需通过ip link show或ifconfig确认实际名称。
4、启用端口显示并禁用DNS解析:sudo iftop -P -n,避免主机名查询延迟,直接显示端口号与IP地址。
5、监控特定网段:sudo iftop -F 192.168.1.0/24,仅展示该子网内与本机通信的流量。
二、使用nethogs按进程统计流量
nethogs以进程为单位聚合网络流量,能精确识别哪个程序正在消耗带宽,无需依赖端口映射或连接状态。
1、安装nethogs:CentOS执行yum install nethogs -y,Ubuntu/Debian执行apt-get install nethogs。
2、以root权限启动:sudo nethogs,界面实时刷新各进程的发送(sent)与接收(received)字节数。
3、指定网卡限制范围:sudo nethogs eth0,防止nethogs捕获环回或其他无关接口流量。
4、退出时按q键终止进程。
三、使用bmon查看多接口汇总流量
bmon提供图形化文本界面,支持多网卡并行监控、历史速率曲线及带宽峰值标记,适合快速掌握整体吞吐趋势。
1、安装bmon:CentOS运行yum install bmon -y,Ubuntu/Debian运行apt-get install bmon。
2、启动默认监控:bmon,界面顶部列出所有可用接口,按数字键切换焦点。
3、启用速率图表:按下d键开启绘图模式,右侧显示2秒、10秒、30秒滑动窗口平均速率条形图。
4、导出当前统计:bmon -o csv:file=/tmp/bmon.log,将实时数据以CSV格式写入指定路径。
四、使用vnstat记录长期流量统计数据
vnstat是轻量级网络流量数据库工具,不依赖实时抓包,而是通过内核计数器定期采样,适合生成日/月带宽报表。
1、安装vnstat:yum install vnstat -y(CentOS)或apt-get install vnstat(Debian系)。
2、初始化数据库:sudo vnstat -u -i eth0,指定网卡并创建初始数据文件。
3、启动后台服务:sudo systemctl enable vnstat && sudo systemctl start vnstat,确保定时采集持续运行。
4、查看今日汇总:vnstat -d;查看当月总览:vnstat -m。
五、使用iptraf-ng进行交互式协议分析
iptraf-ng支持TCP/UDP/ICMP等协议分类统计、连接状态跟踪及活动主机列表,适合深度网络诊断场景。
1、安装iptraf-ng:CentOS执行yum install iptraf-ng -y,Ubuntu/Debian执行apt-get install iptraf-ng。
2、启动交互界面:sudo iptraf-ng,主菜单选择“IP traffic monitor”进入实时流视图。
3、设置过滤条件:按F键打开过滤器,输入目标IP或端口(如“port 22”),仅保留匹配连接。
4、启用详细模式:按D键切换至详细协议信息,显示TTL、窗口大小、标志位等字段。










