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 按累计值。