3.1 KiB
3.1 KiB
title: iftop 是一个实时网络流量监控工具,类似 top
created: 2026-05-31
source: Cherry Studio
tags:
iftop 是一个实时网络流量监控工具,类似 top 命令,但专注于显示 网络接口的带宽使用情况,常用于排查服务器带宽占用过高的问题。
1. 安装 iftop
Debian/Ubuntu
sudo apt install iftop
RHEL/CentOS
sudo yum install epel-release # 确保EPEL仓库可用
sudo yum install iftop
Arch Linux
sudo pacman -S iftop
2. 基本使用方法
直接运行(默认监控所有网卡)
sudo iftop
(需要 root 权限,因为要抓取网络数据包)
指定网卡(如 eth0、ens3)
sudo iftop -i eth0
按目标 IP 排序(-n 不解析主机名)
sudo iftop -n
(避免DNS查询,加快显示)
3. 界面交互操作
iftop 运行时,可以使用以下快捷键调整显示方式:
| 按键 | 功能 |
|---|---|
h |
显示帮助 |
n |
打开/关闭主机名解析(DNS) |
s |
显示源IP(默认显示目标IP) |
d |
显示目标IP(切换) |
t |
切换流量显示模式(单行/两行/合计) |
N |
切换端口显示(开启/关闭) |
p |
显示/隐藏端口号 |
P |
暂停流量刷新 |
q |
退出 iftop |
4. 常用高级参数
显示特定网段的流量(如 192.168.1.0/24)
sudo iftop -F 192.168.1.0/24
按带宽排序
sudo iftop -B
(默认单位为bit/s,可加 -B 改 bytes/s)
显示端口
sudo iftop -P
(显示哪些TCP/UDP端口在使用带宽)
过滤特定流量(如只显示HTTP)
sudo iftop -f "port 80"
(支持 tcpdump 语法,如 host 1.1.1.1)
5. 示例使用场景
① 检查哪个 IP 占用带宽最高
sudo iftop -n -i eth0
👉 观察 => 和 <= 方向流量,找到占用最高的 IP (按 < 和 > 可切换排序)
② 分析网站访问流量
sudo iftop -n -P -i eth0 -f "port 80 or port 443"
👉 查看Web请求(HTTP/HTTPS)的流量分布
③ 监控某台服务器的流量
sudo iftop -n -i eth0 host 192.168.1.100
👉 只显示与 192.168.1.100 通信的流量
6. 注意事项
-
iftop不记录历史流量,如果需要长期日志,可以用nethogs或vnstat。 -
高流量环境下可能导致显示不流畅,可尝试
-N关闭端口解析优化性能。 -
远程服务器监控 可能需要工具如
nload或bmon(iftop 更适合本地实时监控)。
替代工具
| 工具 | 特点 |
|---|---|
| nethogs | 按进程查看流量(类似 top) |
| vnstat | 每天/每月流量统计(长期记录) |
| bmon | 更美观的终端带宽监控 |
| iptraf | 更详细的流量分析 |
通过 iftop 可以快速定位 谁在占用 网络带宽,适合运维排查高负载问题 🚀。