CentOS 系统自带了多种流量监控工具,这些工具能够帮助管理员实时监控网络流量、分析网络使用情况,及时发现网络异常或性能瓶颈,本文将介绍几种常用的 CentOS 自带流量监控工具,包括 iftop、nethogs、iptraf-ng 和 vnstat,并详细说明它们的使用方法和功能特点。

使用 iftop 监控实时流量
iftop 是一款基于文本的实时网络流量监控工具,能够显示当前网络连接的实时带宽使用情况,它以列表形式展示每个连接的源地址、目标地址以及双向流量,便于快速定位高带宽占用的连接,安装 iftop 非常简单,只需执行 yum install iftop 命令即可,启动后,iftop 会自动监控网络接口,默认显示前 10 个最活跃的连接,通过快捷键可以切换排序方式(如按带宽或连接数排序),还可以按 n 显示主机名,按 s 切换源/目标地址显示。iftop 的优势在于直观性和实时性,适合快速排查网络拥堵问题。
通过 nethogs 按进程监控流量
与 iftop 不同,nethogs 是按进程监控网络流量的工具,能够显示每个进程占用的带宽情况,当系统中某个异常进程导致流量激增时,nethogs 可以快速定位问题进程,安装命令为 yum install nethogs,运行后会列出当前活跃进程的 PID、用户名、传输速度等信息,默认情况下,nethogs 按 KB/s 显示上传和下载速度,按 q 键退出,该工具特别适合排查恶意程序或异常网络行为,例如发现某个未知进程占用大量带宽时,可以立即终止并进一步分析。
使用 iptraf-ng 进行详细流量分析
iptraf-ng 是一款功能强大的网络监控工具,提供多种统计视图,包括 TCP/UDP 连接、接口流量、包大小分布等,它比 iftop 更详细,适合需要深入分析网络行为的场景,安装命令为 yum install iptraf-ng,运行后可以选择不同的监控模式,IP traffic”可查看 IP 层面的流量统计,“Interface statistics”可监控接口的收发包数量和错误率。iptraf-ng 的交互式界面支持实时刷新和筛选,适合网络管理员进行长期流量趋势分析或故障排查。

利用 vnstat 实现历史流量统计
vnstat 是一款轻量级的网络流量统计工具,能够持久化记录网络接口的历史流量数据,并生成日报、周报或月报,与实时监控工具不同,vnstat 更适合长期流量分析和趋势预测,安装后需初始化数据库:vnstat -u -i eth0(eth0 替换为目标接口),默认情况下,vnstat 每小时自动更新数据,可通过 vnstat 命令查看实时流量,vnstat -d 查看日报。vnstat 的数据存储在 /var/lib/vnstat/ 目录下,即使系统重启也不会丢失历史记录,非常适合带宽使用量审计或成本分析。
综合应用建议
在实际运维中,可以根据需求组合使用这些工具,先用 iftop 发现实时流量异常,再用 nethogs 定位异常进程,最后通过 vnstat 分析历史趋势,对于生产环境,建议将 vnstat 的数据与可视化工具(如 Grafana)结合,生成更直观的流量图表,定期检查 iptraf-ng 的统计报告,有助于提前发现潜在的网络瓶颈或安全威胁。
FAQs

Q1:CentOS 7 中如何查看网络接口的实时流量?
A1:可以使用 iftop 或 iptraf-ng 监控实时流量,运行 iftop -i eth0(eth0 替换为实际接口)即可查看该接口的实时连接和带宽使用情况。
Q2:vnstat 统计的数据丢失怎么办?
A2:检查 /var/lib/vnstat/ 目录权限是否正确(应为 vnstat:vnstat),并确保 vnstat 服务已启用(systemctl enable vnstat),若数据丢失,可重新初始化数据库并恢复备份(如果有)。