Iftop 网络流量实时监控教程
Iftop 是 Linux 系统中一款直观的网络流量实时监控工具,类似于 top 命令之于 CPU 和内存,iftop 将网络流量以连接为单位实时展示。它按照带宽使用量排列各个连接,让你一目了然地看到哪些 IP 和哪些端口在消耗带宽。在搬瓦工 VPS 上,iftop 是排查网络流量问题和监控带宽使用的必备工具。
一、安装
# Ubuntu / Debian
apt update
apt install iftop -y
# CentOS / RHEL
yum install epel-release -y
yum install iftop -y
二、基本用法
# 监控默认接口
iftop
# 指定接口
iftop -i eth0
# 不解析主机名(显示 IP,更快)
iftop -n
# 不解析端口号
iftop -N
# 同时不解析主机名和端口号
iftop -nN
# 显示端口号
iftop -P
# 以字节而非比特为单位
iftop -B
三、界面说明
Iftop 的界面分为三部分:
- 顶部流量条:流量刻度尺,显示当前带宽范围。
- 中间连接列表:每行显示一对通信端点及其流量。箭头方向表示数据流向,右侧三列分别为过去 2 秒、10 秒和 40 秒的平均流量。
- 底部统计:TX(发送)、RX(接收)、TOTAL(总计)的累计流量和峰值。
四、交互快捷键
- h:显示帮助
- n:切换显示/隐藏主机名
- s:切换显示/隐藏源地址
- d:切换显示/隐藏目标地址
- S:切换显示/隐藏源端口
- D:切换显示/隐藏目标端口
- p:切换显示端口
- P:暂停/恢复显示
- t:切换显示模式(双行/单行/只发送/只接收)
- 1/2/3:按第 1/2/3 列排序
- T:切换显示累计流量
- l:输入过滤器
- L:切换对数刻度
- j/k:上下滚动列表
- q:退出
五、流量过滤
# 只监控特定主机的流量
iftop -f "host 192.168.1.100"
# 只监控特定端口
iftop -f "port 80"
# 只监控 HTTP 和 HTTPS 流量
iftop -f "port 80 or port 443"
# 排除 SSH 流量(避免监控自己的连接干扰)
iftop -f "not port 22"
# 只监控特定网段
iftop -f "net 192.168.1.0/24"
# 组合过滤
iftop -f "dst port 3306 and src net 10.0.0.0/8"
六、实际应用场景
6.1 发现大流量连接
# 启动 iftop 并显示端口(不解析主机名)
iftop -nNP -i eth0
# 按流量大小排序(默认已排序)
# 查看顶部的连接即为流量最大的连接
6.2 监控 Web 服务器流量
# 只监控 Web 端口的流量
iftop -nP -f "port 80 or port 443" -i eth0
# 发现哪些客户端 IP 消耗了最多带宽
# 观察左侧源 IP 和右侧的流量数值
6.3 DDoS 攻击初步判断
# 如果发现大量来自不同 IP 的连接且流量异常
iftop -nP -i eth0
# 特征:
# 1. 大量不同 IP 连接到同一端口
# 2. 总入站流量远超正常值
# 3. 连接数异常增多
# 配合 ss 统计连接数
ss -s
ss -tn state established | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -20
七、配置文件
# 创建默认配置文件
cat > ~/.iftoprc <<EOF
# 不解析主机名
dns-resolution: no
# 不解析端口名
port-resolution: no
# 显示端口
show-ports: yes
# 使用字节单位
use-bytes: yes
# 显示总计行
show-totals: yes
# 对数刻度
log-scale: yes
# 默认接口
interface: eth0
EOF
八、Iftop 与 NetHogs 配合使用
Iftop 和 NetHogs 各有侧重,配合使用效果更好:
- 第一步:用 iftop 查看整体流量分布,确定哪些 IP 和端口消耗了带宽。
- 第二步:用 NetHogs 定位到具体的进程和程序。
- 第三步:根据进程信息采取相应措施(限制、优化或终止)。
总结
Iftop 是按连接维度监控网络流量的最直观工具。在搬瓦工 VPS 上,iftop 帮你实时了解带宽的去向,配合过滤器可以精准定位流量异常。建议与 NetHogs 进程流量监控 和 Nmon 性能分析 结合使用,全方位掌握网络状况。选购搬瓦工 VPS 请查看全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 循环折扣。