iftop是Linux下实时监控网络带宽的命令行工具,类似top命令但用于网络流量。安装后需以root权限运行,支持指定网卡(-i)、过滤端口(-f)、文本模式(-t)及多种快捷键交互操作,可直观查看各连接的实时速率与数据流向,适用于快速定位带宽占用高的连接,配合其他工具构建完整监控方案。

监控网络带宽变化对系统运维和故障排查非常重要。在 Linux 系统中,iftop 是一个实时查看网络接口流量的命令行工具,能直观显示每个连接的带宽使用情况。它类似于 top 命令对 CPU 使用率的监控,但针对的是网络流量。
安装 iftop
iftop 通常不在系统默认安装包中,需要手动安装。根据你的发行版执行对应命令:
- Ubuntu/Debian:sudo apt install iftop
- CentOS/RHEL:sudo yum install iftop 或 sudo dnf install iftop(新版)
- Fedora:sudo dnf install iftop
安装完成后,可通过 iftop -h 查看帮助信息确认是否安装成功。
基本使用方法
直接运行以下命令即可开始监控:
sudo iftop由于 iftop 需要捕获网络数据包,必须以 root 权限运行。启动后你会看到类似 top 的界面,分为三部分:
- 顶部:显示当前监听的网卡、IP 地址、刷新间隔等基本信息
- 中间列表:按连接显示源 IP:端口 → 目标 IP:端口,以及实时速率(如 10s、2s、40s 平均)
- 底部三行:分别代表过去 2 秒、10 秒、40 秒的流入(TX)、流出(RX)和总流量速率
箭头方向表示数据流向:→ 表示发送,← 表示接收,↔ 表示双向通信。
常用交互操作与快捷键
iftop 运行过程中支持多种快捷键进行动态调整:
- P:暂停屏幕刷新
- h:显示或隐藏帮助说明
- T:切换是否显示每一行的总流量
- L:循环切换流量单位(Kb, KB, Mb, MB 等)
- 和 >:左移或右移排序方式(按源或目标)
- 1/2/3:按本地主机名、端口、连接模式排序
- s / d:分别控制是否显示源或目标主机名/IP
这些按键可让你快速定位高带宽占用的连接来源。
指定网卡或过滤流量
如果你有多个网卡,可以使用 -i 参数指定监听接口:
sudo iftop -i eth0也可以结合 tcpdump 风格的表达式进行流量过滤:
sudo iftop -f "port 80"这只会显示 HTTP 流量(端口 80),便于聚焦特定服务的带宽消耗。
以文本模式运行(适合脚本记录)
iftop 支持非交互式运行,可用于日志记录或自动化监控:
sudo iftop -t -s 10其中 -t 启用文本模式,-s 10 表示运行 10 秒后自动退出。输出为纯文本,适合集成到 shell 脚本中。
基本上就这些。iftop 虽然不保存历史数据,但对即时排查网络瓶颈非常有效。配合 sar、nethogs 或 vnstat 等工具,可以构建完整的网络监控方案。不复杂但容易忽略的是权限问题和网卡选择,确保你监控的是正确的接口。










