使用Bandwhich工具显示网络带宽利用率

时间:2020-03-21 11:47:46  来源:igfitidea点击:

Bandwhich,以前称为What,是命令行的一种开放源代码实用程序,用于按进程,连接和远程IP或主机名显示网络带宽利用率。 它会嗅探给定的网络接口卡并记录IP数据包的大小,最后将其与Linux系统上的/ proc文件系统或Mac OS上的lsof命令进行交叉引用。 它是用Rust编程语言编写的,并且支持Linux和Mac OS。

安装bandwhich.

Bandwhich在AUR中可用,因此我们可以使用任何AUR帮助程序安装它,例如Yay,Arch Linux上的Arch Linux及其Variants:

$yay -S bandwhich

使用nix包管理器:

$nix-env -iA nixpkgs.bandwhich

在其他Linux发行版上,我们可以使用Cargo Package Manager安装它。

要使用Cargo Packager Manager,我们需要安装锈迹编程语言,如下面给出的链接中所述。

  • 在Linux中安装Rust编程语言

安装RUST后,使用命令安装BANDHICH:

$cargo install bandwhich

上面的命令将安装频段到~/.cargo/bin/bandwhch。
因此,每次运行频段时需要键入全部路径,如下所示。

$sudo ~/.cargo/bin/bandwhich

要解决此问题,只需通过创建如下所示的符号链接将二进制文件(例如/usr/local/local /)移动到乐队。

$sudo ln -s ~/.cargo/bin/bandwhich /usr/local/bin/

现在,我们可以使用命令运行bandwhich:

$sudo bandwhich

请注意,由于绑带网络数据包,因此需要root权限。
所以你必须用sudo前缀运行它。

故障排除

使用货物安装绑定时可能会遇到以下错误。

Updating crates.io index
Installing bandwhich v0.6.0
Compiling libc v0.2.66
error: linker `cc` not found
|
= note: No such file or directory (os error 2)
[...]

使用Bandwhich工具显示网络带宽利用率

通过进程,连接,IP或者主机名来显示当前带宽利用率,运行:

$sudo bandwhich

来自My Ubuntu 18.04 LTS桌面的示例输出:

要停止,请按Ctrl + C.

默认情况下,Bandwhich将显示所有网络接口的网络利用率。
如果我们想要绑定要侦听特定网卡,例如WLP9S0,请使用-i标志。

$sudo bandwhich -i wlp9s0

帮助信息:

$bandwhich --help
bandwhich 0.6.0
USAGE:
    bandwhich [FLAGS] [OPTIONS]
FLAGS:
    -h, --help          Prints help information
    -n, --no-resolve    Do not attempt to resolve IPs to their hostnames
    -r, --raw           Machine friendlier output
    -V, --version       Prints version information
OPTIONS:
    -i, --interface <interface>    The network interface to listen on, eg. eth0