--- title: `iftop` 是一个实时网络流量监控工具,类似 `top` created: 2026-05-31 source: Cherry Studio tags: --- `iftop` 是一个实时网络流量监控工具,类似 `top` 命令,但专注于显示 **网络接口的带宽使用情况**,常用于排查服务器带宽占用过高的问题。 --- ## **1\. 安装 iftop** ### **Debian/Ubuntu** ```bash sudo apt install iftop ``` ### **RHEL/CentOS** ```bash sudo yum install epel-release # 确保EPEL仓库可用 sudo yum install iftop ``` ### **Arch Linux** ```bash sudo pacman -S iftop ``` --- ## **2\. 基本使用方法** ### **直接运行(默认监控所有网卡)** ```bash sudo iftop ``` (需要 `root` 权限,因为要抓取网络数据包) ### **指定网卡(如 eth0、ens3)** ```bash sudo iftop -i eth0 ``` ### **按目标 IP 排序(**`-n` **不解析主机名)** ```bash 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)** ```bash sudo iftop -F 192.168.1.0/24 ``` ### **按带宽排序** ```bash sudo iftop -B ``` (默认单位为bit/s,可加 `-B` 改 bytes/s) ### **显示端口** ```bash sudo iftop -P ``` (显示哪些TCP/UDP端口在使用带宽) ### **过滤特定流量(如只显示HTTP)** ```bash sudo iftop -f "port 80" ``` (支持 `tcpdump` 语法,如 `host 1.1.1.1`) --- ## **5\. 示例使用场景** ### **① 检查哪个 IP 占用带宽最高** ```bash sudo iftop -n -i eth0 ``` 👉 **观察** `=>` **和** `<=` **方向流量,找到占用最高的 IP** (按 `<` 和 `>` 可切换排序) ### **② 分析网站访问流量** ```bash sudo iftop -n -P -i eth0 -f "port 80 or port 443" ``` 👉 查看Web请求(HTTP/HTTPS)的流量分布 ### **③ 监控某台服务器的流量** ```bash 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` 可以快速定位 **谁在占用** 网络带宽,适合运维排查高负载问题 🚀。