客户服务器带宽跑满,我上去装了 nethogs 想看是哪个进程在吃流量。用 root 启动:
[root@zploo~]# nethogs结果却提示:
Creating socket failed while establishing local IP - are you root?明明已经是 root,还问你是不是 root——很气人。
原因
查下来这是旧版 nethogs 的 bug,并不是权限真的不够。发行版仓库里的包版本偏老时,容易踩中:创建本地 IP 相关 socket 失败,却误报成「你不是 root」。
解决:升级到 0.8.1
从源码装较新的 0.8.1(当时验证可用):
wget -c https://github.com/raboof/nethogs/archive/v0.8.1.tar.gz
tar xf v0.8.1.tar.gz
cd ./nethogs-0.8.1/
make && sudo make install编译前若缺依赖,按系统补齐(常见如 libncurses-dev、libpcap-dev 等)。装完再执行 nethogs,应能正常按进程显示流量。
使用提示
- 仍建议用 root 或具备抓包权限的用户运行;
- 指定网卡:
nethogs eth0(网卡名按ip a实际为准); - 看完带宽归属,再决定是限速、杀进程还是查被入侵。
为何记下
一人公司做运维支持,带宽异常是高频告警。工具报「are you root?」时先别被带偏——先确认版本是不是旧到有 bug。把「nethogs + Creating socket failed → 升到 0.8.1」写进备忘,下次不用再搜一轮。




No comments yet