我可以在系统监视器中看到数据正在上传和下载,我可以在 Etherape 中看到它连接到哪些站点以及正在使用哪种协议。但是,如果不查看 WireShark 中的实际数据包,然后找到端口以及哪个进程正在侦听该端口,我就无法判断哪些进程正在上传和下载数据。所以我想知道是否有一种更简单的方法,可以使用 WireShark(或其他工具)手动查找端口,然后查看哪个进程正在侦听该端口?理想情况下,此应用程序将:
- 给我一个进程列表
- 显示正在上传和下载的数据量(以 KiB/s 为单位)(在不同的列中)
- 显示进程的 PID
- 显示进程正在监听的端口
- 在表格中显示所有这些信息
- 是一个 CLI 程序(理想情况下,但不一定在 CLI 中)
- 能够改变数据的更新间隔
我正在运行带有 GNOME 3.18 的 Ubuntu GNOME 15.10,是否有可以满足我的需求的软件?
答案1
我认为 Nethogs 程序完全符合您的要求。描述如下:
NetHogs 是一款小型“网络流量”工具。它不像大多数工具那样按协议或子网细分流量,而是按进程对带宽进行分组。
您可以在软件包中找到此工具nethogs
,因此请使用以下命令安装它:
sudo apt-get install nethogs
该工具通过以下命令启动:
sudo nethogs <if>
# e.g. sudo nethogs eth0
输出看起来像这样:
您可以使用 循环切换各种显示模式M;这将在不同的测量单位和带宽使用情况与数据量之间切换。
可以使用选项设置更新间隔-d
,如手册页 nethogs(8) 中所述。