如何在Linux下监视每个进程的网络I / O使用情况?


Answers:


31

nethogs看起来像它会做您想要的。

编辑:我需要安装ncurses-devel,libpcap和libpcap-devel来构建。


@yag无需在帖子中添加“编辑”。我们已经可以看到变化的历史。
tshepang '16

@Tshepang我查看了您的编辑,我保留了您所做的更新的链接,但保留了编辑文本,因为它为我增加了价值,就像您的编辑一样。
yagmoth555-GoFundMe Monica

@ yagmoth555我的意思是为什么在帖子中保留“编辑”?我们具有显示已编辑内容的历史记录,因此无需提及“后面的文本是编辑内容”。
tshepang '16

@Tshepang哦,检查您的编辑,然后肯定会错误地删除了整行,这就是为什么我重新编辑以保留行
yagmoth555-GoFundMe Monica

@ yagmoth555这是故意的,我留下了解释原因的评论
tshepang

4

要查找与每个进程关联的连接,请使用lsof。例如:

lsof | grep TCP

这将为您提供连接列表,如下所示:

bash    10887 luke    3u     IPv4 44638801      0t0      TCP littleyerry.example.com:55212->barista.example.com:ldap (ESTABLISHED)
bash    10913 luke    3u     IPv4 44638905      0t0      TCP littleyerry.example.com:55216->barista.example.com:ldap (ESTABLISHED)
ssh     10935 luke    3u     IPv4 44639001      0t0      TCP littleyerry.example.com:55219->barista.example.com:ldap (ESTABLISHED)
ssh     10935 luke    4u     IPv4 44639008      0t0      TCP littleyerry.example.com:59459->launchpad.example.com:ssh (ESTABLISHED)
bash    10938 luke    3u     IPv4 44639107      0t0      TCP littleyerry.example.com:55221->barista.example.com:ldap (ESTABLISHED)

从那里,您应该能够使用所提到的工具(iftop,iptraf)单独找到每个连接。您可以构建一个小的脚本来聚合您要查找的特定数据。


3
lsof -niTCP等效,但速度更快,并且lsof -niTCP -sTCP:ESTABLISHED显示了当前连接。
喵喵
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.