Files
StudyDiary/02-学习笔记/`iftop` 是一个实时网络流量监控工具,类似 `top`.md
T
2026-07-23 20:36:13 +08:00

162 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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` 可以快速定位 **谁在占用** 网络带宽,适合运维排查高负载问题 🚀。