我正在运行gkrellm,这表明我的Debian Linux系统上的某些进程正在向eth0写入大约500KB / s。我想找出它是哪个过程。我对netstat有点了解,但是它显示了无数个开放的TCP连接,我似乎无法使其产生有关流量的任何信息。
有人知道我如何获得实际使用 eth0接口的进程列表,以便追查违规者吗?
FOLLOWUP:Debian Linux发行版包含一个可以nethogs最终解决此问题的软件包。相关的工具都不太上的标记包括iftop,netstat,和lsof。
我正在运行gkrellm,这表明我的Debian Linux系统上的某些进程正在向eth0写入大约500KB / s。我想找出它是哪个过程。我对netstat有点了解,但是它显示了无数个开放的TCP连接,我似乎无法使其产生有关流量的任何信息。
有人知道我如何获得实际使用 eth0接口的进程列表,以便追查违规者吗?
FOLLOWUP:Debian Linux发行版包含一个可以nethogs最终解决此问题的软件包。相关的工具都不太上的标记包括iftop,netstat,和lsof。
Answers:
netstat -ptu将为您提供所有tcp和udp连接的拥有的进程ID(以及标准的netstat信息)。(普通用户将无法标识所有进程。)
如果有些东西发出恒定的流量相当数量的你应该看到它Recv-Q或Send-Q分别列2和3。
例子:
Recv-Q
sudo watch -n .1 'netstat -tup | grep -E "^[t,u]cp[6]{0,1}" | sort -nr -k2'
Send-Q
sudo watch -n .1 'netstat -tup | grep -E "^[t,u]cp[6]{0,1}" | sort -nr -k3'
如果您怀疑该进程是由另一个进程触发的ps axf。
用于tcpdump在此接口上嗅探一些数据包:
# tcpdump -vv -s0 -i eth0 -c 100 -w /tmp/eth0.pcap
复制到客户端并使用Wireshark打开以查看会发生什么。
iptraf好