iftop vs nethogs 对比
两者都是基于libpcap的实时网络带宽监控工具,但监控粒度不同。
- iftop 按”主机/端口维度
- nethogs 按进程维度
核心差异
| 维度 | iftop | nethogs |
|---|---|---|
| 监控粒度 | 主机 ↔ 主机、主机 ↔ 端口、端口 ↔ 端口 | 每个进程的实时带宽 |
| 回答的问题 | 哪个远端在吃我的带宽 | 本机哪个程序在吃带宽 |
| 是否显示进程 | 否 | 是(带 PID / 进程名) |
| 使用权限 | 一般需 root(抓包) | 需 root |
| 显示方向 | 三列:本机出、远端入、(差值/峰值) | 每进程 RX / TX 两列 + 累计列 |
iftop三种模式
iftop 启动后按不同字母切换视角:
| 按键 | 模式 | 说明 |
|---|---|---|
| 默认(无参数) | host-to-host | 列1 本机→远端,列2 远端→本机 |
n |
host-to-port | 按 远端主机:端口 聚合 |
p |
port-to-port | 按 端口:端口 聚合 |
P |
大写端口 | 显示端口号 |
t |
TCP only | 只看 TCP |
u |
UDP only | 只看 UDP |
f |
过滤表达式 | 支持 host/port/proto 过滤 |
nethogs输出
按进程实时显示,并支持按列排序:
Nethogs 0.8.7
Dev: eth0 (press 'h' for help) Total: 1.22mb/s
4.712mb 1.532mb 1571 node /usr/lib/xulrunner...
0.321mb 0.000mb 902 curl
...
PID Interface TxRate RxRate Total Command
排序键:x 按 TX、r 按 RX、p 按进程名、P 按累计值。