最直接有效的方法是使用nethogs——它专为按进程维度监控实时网络流量而设计,能清晰列出每个进程的发送(tx)和接收(rx)速率,并按带宽占用从高到低排序;安装后需root权限运行,支持指定网卡,但默认不监控本地ipc及短连接爆发。

最直接有效的方法是使用 nethogs —— 它专为按进程维度监控实时网络流量而设计,能清晰列出每个进程的发送(TX)和接收(RX)速率,并按带宽占用从高到低排序。
安装并运行 nethogs
它不依赖全局接口统计,而是通过抓取 socket 连接追踪到具体进程(PID、用户、命令路径),适合快速定位“谁在疯狂发包”或“哪个服务偷偷上传”:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- CentOS/RHEL:`sudo yum install -y nethogs`
- Ubuntu/Debian:`sudo apt-get install -y nethogs`
- 启动监控(需 root 权限):`sudo nethogs`
- 指定网卡(如只看外网流量):`sudo nethogs eth0`
补充方案:结合 iftop + ps 定位进程
如果 nethogs 不可用,可用 iftop 查连接,再反查进程:
- 运行 `sudo iftop -P` 显示端口,记下高流量连接的端口号
- 用 `sudo lsof -i :端口号` 或 `sudo ss -tulpn | grep :端口号` 查对应 PID 和程序名
- 例如:`sudo ss -tulpn | grep ':8080'` 可看到监听 8080 的 java 进程及其 PID
注意关键限制
nethogs 默认只监控活跃的 TCP/UDP 连接,对纯本地 IPC(如 Unix socket)、DNS 缓存查询或短连接爆发可能有短暂延迟;它也不显示已关闭但尚未释放的连接残留。若需更底层细节(如包级行为),需配合 tcpdump 抓包分析。










