如何跟踪 LAN 使用情况?(又称“LAN 顶级”)

如何跟踪 LAN 使用情况?(又称“LAN 顶级”)

有一个邪恶的应用程序占用了我所有的上传带宽(我是巴西人,只有~35kbps),在我电脑开启的 80% 的时间里。

我想知道是否有任何方法可以跟踪这种使用情况并发现哪个应用程序正在执行此操作。

答案1

关于什么网猪?我认为它更加人性化。实时列出哪些命令/程序使用网络以及每个命令/程序占用多少带宽。

在 ubuntu/debian 系统中安装它:

sudo apt-get 安装 nethogs

运行它来监视你的网络接口,如下所示:

sudo nethogs eth0

替代文本

答案2

iftop是一个类似于 top 的基于控制台/shell 的程序,可以使用 pcap 库(tcpdump 和 wireshark 也使用这个库)。它可从 Universe 中下载用于 Ubuntu。

sudo aptitude install iftop
sudo iftop

在 ubuntu 系统上运行升级时:

替代文本

使用 netstat,您可以找出连接到特定端口或 IP 的进程。对于端口,最好在前面加上冒号。

sudo netstat -plantu | grep "some_port_number_or_ip_address"

例如,查看 ssh 的打开连接:

sudo netstat -plantu | grep :22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2376/sshd       
tcp        0      0 10.13.37.122:22         10.13.37.105:59130      ESTABLISHED 4033/sshd: jtimberm
tcp6       0      0 :::22                   :::*                    LISTEN      2376/sshd 

您还可以使用 lsof 查找开放端口连接:

sudo lsof -i:22
COMMAND  PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2376       root    3u  IPv4   5613      0t0  TCP *:ssh (LISTEN)
sshd    2376       root    4u  IPv6   5615      0t0  TCP *:ssh (LISTEN)
sshd    4033       root    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)
sshd    4086 jtimberman    3u  IPv4  11608      0t0  TCP 10.13.37.122:ssh->10.13.37.105:59130 (ESTABLISHED)

您可以使用 -p PID 从 lsof 获取有关打开文件的更多信息。

sudo lsof -p 2376

(大量输出因此被抑制)

答案3

ntop是你的朋友。软件包位于 linux repos 和 macports 中。

答案4

我认为 iftop 的用户界面设计得不太好。实际上,几乎不需要实时查看 IP 或主机名。如果我需要列出所有当前连接,我会使用 netstat,正如 jtimberman 所解释的那样。

就我而言,bmon 比 iftop 更合适。它有一个非常简单的用户界面,支持多个界面和绘制“图形”。以下是屏幕截图:

贝蒙

如果您不需要 bmon 提供的所有功能,bwm-ng可能是最适合您的工具。它仅显示每个接口的当前占用带宽——不多也不少:

bwm-ng

相关内容