网霸?建立本地 IP 时创建套接字失败 - 你是 root 吗?

Édo*_*pez 69 networking network-monitoring nethogs

更新我的 Kubuntu 后,我无法使用nethogs以下命令监控我的网络消耗:

sudo nethogs enp1s0
creating socket failed while establishing local IP - are you root?
Run Code Online (Sandbox Code Playgroud)

核心

$ uname -a
Linux xyz 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

释放

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:        15.10
Codename:       wily
Run Code Online (Sandbox Code Playgroud)

版本

$ nethogs -V
version 0.8.0
Run Code Online (Sandbox Code Playgroud)

Édo*_*pez 101

这是通过版本解决的0.8.1

由于它在 repo 或 PPA 中不可用,因此您需要构建它(它非常容易且快速完成)。

获取并提取最新版本(截至 2016 年 8 月,v0.8.5)

wget -c https://github.com/raboof/nethogs/archive/v0.8.5.tar.gz
tar xf v0.8.5.tar.gz 
cd ./nethogs-0.8.5/
Run Code Online (Sandbox Code Playgroud)

安装依赖项并构建

sudo apt-get install libncurses5-dev libpcap-dev
make && sudo make install 
Run Code Online (Sandbox Code Playgroud)

检查并运行

nethogs -V
sudo nethogs
Run Code Online (Sandbox Code Playgroud)

  • 使用 checkinstall 更好,我们可以轻松管理它,同时避免与来自 ubuntu 的默认 repo 冲突。只需检查许可证和版本即可更新此命令:`make && sudo -k checkinstall --pkgsource="https://github.com/raboof/nethogs/" --pkglicense="GPL2" --deldesc=no --nodoc --maintainer="$USER\\<$USER@$HOSTNAME\\>" --pkgarch=$(dpkg --print-architecture) --pkgversion="0.8.2" --pkgrelease="SNAPSHOT" -- pkgname=nethogs make install`。 (10认同)
  • @ÉdouardLopez checkinstall 将调用 `make install` 并跟踪它为创建 deb 包所做的一切:) (3认同)
  • 如果您希望它在下一个版本推出时更新,您可以使用 ``checkinstall`` (2认同)
  • 我可以确认来自@AquariusPower 的命令在 gNewSense 4 Ucclia(升级到 Debian Jessie)中完美运行。我现在使用 NetHogs 0.8.1。我这里的 nethogs 二进制文件属于 */usr/local/sbin/nethogs*。谢谢你。 (2认同)

D.S*_*nap 6

您还可以从 git 存储库中的最新源代码构建。还是需要先安装依赖包。构建后,您可以nethogs从当前目录运行:

sudo apt-get install libncurses5-dev libpcap-dev
git clone --depth 1 https://github.com/raboof/nethogs.git
cd nethogs
make
sudo ./src/nethogs
Run Code Online (Sandbox Code Playgroud)

您还可以在Nethogs 项目页面上找到说明。

  • 请不要只是在此处转储一堆命令,还要解释它们的作用以及您认为它们解决问题的原因。谢谢。 (6认同)
  • 我认为这是不言自明的,1 - 安装软件依赖项,2 - 从 Git 下载最新的源代码,3 - 进入新创建的目录,4 - 编译程序,5 - 运行程序 (3认同)
  • 我在答案中添加了要求的解释和官方说明的链接。 (2认同)
  • 不是每个人都有 git 也不想安装它。下载 tar 和 build 就足够了。 (2认同)
  • 当前 repo 将可执行文件编译到 src/ 子目录中,因此最后一个命令需要是 `sudo src/nethogs` (2认同)