iftop和iptraf是Linux下常用的实时网络流量监控工具,iftop以类似top的方式显示指定网卡的流量详情,支持按IP、端口过滤并可切换显示单位;iptraf提供菜单式界面,支持协议分析、错误包统计及日志记录,适合综合网络诊断。

在Linux系统中,检测主机实时网络流量是运维和排查网络问题的基本需求。通过合适的工具,可以清晰地看到网卡的流入流出带宽、连接的IP地址以及使用的端口等信息。iftop和iptraf是两款功能强大且常用的文本界面实时监控工具,它们能提供直观的流量视图,帮助你快速掌握网络状况。
使用iftop监控网卡实时流量
iftop的工作方式类似于top命令,它直接显示指定网卡上的实时流量数据,特别适合查看哪些外部IP或端口正在消耗带宽。
- 基本用法:运行sudo iftop -i 网卡名(例如sudo iftop -i eth0)来监控特定网卡。界面上=>代表发送(TX),代表接收(RX)。
-
常用参数:
- -B:让流量单位从默认的bits/s显示为Bytes/s,更符合日常习惯。
- -n:禁用DNS反向解析,直接显示IP地址,避免因解析导致的延迟。
- -N:直接显示端口号而非服务名称(如显示80而不是http)。
- -F:限定监控范围,例如iftop -F 192.168.1.0/24只显示与该网段的流量。
- 交互式操作:iftop启动后,可以通过键盘快捷键动态调整显示内容。按P切换暂停,按T切换显示总流量,按l(小写L)可以输入一个特定IP来过滤并高亮其流量,按q退出程序。
使用iptraf进行综合网络分析
iptraf是一个功能更全面的网络统计工具,提供了菜单驱动的交互界面,能够从多个维度分析网络流量,包括按协议类型和连接的详细统计。
- 启动与导航:直接运行sudo iptraf会进入主菜单。你可以选择“IP traffic monitor”来查看各IP的实时流量,或者选择“Detailed interface statistics”来深入分析某个网卡的TCP、UDP、ICMP等协议的流量分布。
- 直接监控模式:可以使用参数跳过菜单直接开始监控。例如,iptraf -d eth0会立即开始详细监控eth0网卡的流量状态,显示与各个远程IP的连接详情和即时速率。
- 高级功能:iptraf不仅能看带宽,还能统计错误包、校验和错误等底层信息,有助于诊断网络质量问题。它还支持将监控数据记录到日志文件(使用-L参数),方便事后分析。
其他辅助工具与安装方法
除了iftop和iptraf,还有其他工具可用于流量监控。选择哪个工具取决于你的具体需求,比如是关注进程还是历史数据。
- 安装命令:在CentOS/RHEL系统上,使用yum install iftop iptraf -y进行安装。在Debian/Ubuntu系统上,则使用apt-get install iftop iptraf-ng -y(注意新版通常叫iptraf-ng)。
- 按进程监控:如果想找出是哪个具体进程在占用网络,推荐使用nethogs。运行sudo nethogs 网卡名,它会按进程PID列出实时的上传下载速度。
- 简单带宽查看:对于只想看总体吞吐量的场景,nload是一个轻量级的选择,它用两个独立的图表分别显示接收和发送的流量。










