显示在Linux和macOS上正在占用网络带宽的带宽

乐队 是用Rust为Linux,* BSD和macOS编写的相对较新的终端带宽利用率工具。按进程,连接,远程IP /主机名显示当前网络利用率。

该工具的主要目的是显示正在消耗的带宽。原名“ what”,大约三周前改名为band。
嗅探特定的网络接口,记录IP数据包的大小,并 /proc Linux和 lsof macOS。该工具还尝试“尽最大努力”使用反向DNS在后台将IP地址解析为主机名。这是 -n / --no-resolve 可选的。
默认情况下,band以交互方式运行,并具有三个窗格,分别按进程名称显示网络利用率,按连接显示利用率和按远程地址显示利用率。终端窗口运行带必须足够大才能显示这三个窗格,因为该带具有响应式终端用户界面。根据窗口的宽度和高度,您可能只会看到一个或两个窗格。

带宽网络带宽使用工具
具有响应式终端用户界面的频段

如果您只想显示这些窗格之一,则bandwith中有一个选项 -a / --addresses 要仅显示地址表, -c / connections 仅显示网络连接表或使用 -p / --processes 仅显示过程表。
最近添加了从命令行选择要显示哪个窗格/表格的功能,以及Mac上的IPv6支持和VPN流量嗅探功能。仅最近才添加了对WireGuard接口的支持。另外,暂停用户界面更新 SPACE 密钥(仅用于交互模式;在原始模式下不起作用)。

BandWhich Raw模式
以原始模式运行的乐队是“ rclone”(bandwhich --raw | grep rclone

除了互动模式外,band还具有原始模式(要使用此模式,请使用bandwith -r / --raw 可选)生成机器友好的输出。此模式自动滚动原始输出,而不会删除前一行。这对于以%H:%M:%S格式显示常规时间戳很有用,但是将来的发行版中可能会添加这种功能。相关:使用TShark的终端用户界面,Termshark(Wireshark)进行网络流量分析
另请注意,默认情况下,band显示所有可用(活动)网络接口的带宽利用率。如果您想指定要监听的特定网络接口, -i / --interface 该选项后跟网络接口名称。 eth0,enp4s0或调用任何接口。
有许多工具,例如iftop和nethogs,可让您在命令行中查看网络带宽使用情况。在某些方面相似但表现不同的乐队。
例如,iftop显示了主机对接口的带宽使用情况,但没有显示正在使用带宽的进程。另一方面,nethogs是一种命令行工具,它按进程对带宽进行分组(显示PID,用户,程序,接口以及PID发送/接收的编号),显示的信息远远超过bandband。但是,nethogs没有原始输出模式,这在各种情况下都很有用。另外,nethogs不会显示单个连接。信息的显示方式有所不同,但就个人而言,您最喜欢哪种设备?
无论如何,我不是在这里传教,只是为了告知。使用最适合您,最适合您需要的工具。

安装带

上面链接的band哪个项目页面具有Arch Linux,Nix / NixOS,Void Linux,Fedora(Copr)和macOS的安装说明。还有一个使用Rust软件包管理器Cargo安装band的过程,它可以在任何Linux发行版上工作。该应用程序至少在目前无法在Microsoft Windows上运行。
在没有可用软件包的Linux发行版上安装band的最简单方法是使用预编译的二进制文件。 乐队释放标签,提取档案并使其可用。您可能想将其安装在您的某个位置 $PATH,例如 /usr/local/bin 您可以使用-将其安装在此处(在提取band二进制文件的文件夹中运行此命令)。

sudo install bandwhich /usr/local/bin

请注意,您需要root特权才能窃听网络数据包。与运行 sudo 对于MacOS和Linux(或仅适用于Linux),您可以使用以下命令为波段二进制文件赋予必要的特权,以便不必使用sudo运行它。

sudo setcap cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep `which bandwhich`
Sidebar