band 是一個相對較新的終端帶寬利用工具,用 Rust 編寫,適用於 Linux、* BSD 和 macOS。按進程、連接和遠程 IP/主機名顯示當前網絡利用率。
此工具的主要目的是顯示正在消耗帶寬的內容。最初叫“what”,大約三週前改名為bandwhich。
通過嗅探特定網絡接口並記錄 IP 數據包大小,可以將頻帶與 IP 數據包大小進行比較。/proc
使用 Linux 上的文件系統lsof
在 macOS 上。此外,此工具嘗試使用反向 DNS 的“盡力而為”在後台將 IP 地址解析為主機名。這可以通過以下方式禁用:-n / --no-resolve
選項。
默認情況下,bandwhich 以交互模式運行,並具有三個窗格,按進程名稱顯示網絡利用率,按連接顯示利用率,按遠程地址顯示利用率。具有響應式終端用戶界面的bandwhich 是運行bandwhich 的終端窗口,該bandwhich 需要足夠大以顯示這三個窗格,因此根據窗口的寬度和高度,這些您只能查看一個或兩個窗格。
帶響應式設備用戶界面的樂隊 |
如果您只想查看其中一個窗格,請使用選項運行 bandwhich-a / --addresses
僅顯示地址表。-c / connections
僅顯示網絡連接表或-p / --processes
僅顯示進度表。
最近,我們添加了從命令行選擇要顯示的窗格/表格的功能。我們還在 Mac 上添加了對 IPv6 和 VPN 流量嗅探的支持。 最近還添加了對 WireGuard 接口的支持,增加了一些小而有用的功能。SPACE
鍵(這僅適用於交互模式 – 它不適用於原始模式)。
在原始模式下工作並過濾“rclone”結果的波段bandwhich --raw | grep rclone )。 |
除了交互模式,還有raw模式bandwhich(用來運行bandwhich)-r / --raw
可選)產生機器友好的輸出。在這種模式下,原始輸出會自動滾動而不刪除前一行。如果您想以 %H:%M:%S 格式顯示常規時間戳,這很有用,但未來版本中可能會添加此類功能。
相關:使用 TShark 的終端用戶界面(Wireshark)Termshark 分析網絡流量
另請注意,默認情況下,它是一個顯示所有可用(活動)網絡接口的帶寬利用率的波段。如果要指定要監聽的特定網絡接口,-i / --interface
選項後跟網絡接口名稱,例如 eth0、enp4s0 或被調用的接口。
有許多工具,例如 iftop 和 nethogs,可以在命令行上顯示網絡帶寬利用率。它在某些方面是相似的,但也可能不同。
例如,iftop 表示主機接口上的帶寬使用情況,而不是帶寬使用進程。另一方面,Nethogs 是一個命令行工具,它按進程對帶寬進行分組(顯示 PID、用戶、程序、接口以及每個 PID 發送和接收的信息)。在所有情況下都非常有用的原始輸出模式。此外,nethogs 不顯示單個連接。信息的顯示是不同的,但我個人非常喜歡最終用戶界面中的樂隊。
無論如何,我來這裡是為了提供信息,而不是說教。使用最適合您需求的最喜歡的工具。
安裝bandwhich
上面鏈接的 bandwhich 項目頁面提供了 Arch Linux、Nix / NixOS、Void Linux、Fedora (Copr) 和 macOS 的安裝說明。 還有使用 Rust 包管理器 Cargo 安裝 bandwhich 的步驟。這應該適用於所有 Linux 發行版。至少目前,該應用程序無法在 Microsoft Windows 上運行。
在包不可用的 Linux 發行版上安裝 bandwhich 的最簡單方法是從 bandwhich 發布選項卡下載預編譯的二進製文件並解壓縮存檔以使 bandwhich 可執行文件可用。..你可能想把它安裝在你的某個地方$PATH
,例子:/usr/local/bin
– 您可以使用以下命令安裝它(在您提取 bandwhich 二進製文件的文件夾中運行此命令):
sudo install bandwhich /usr/local/bin
請注意,bandwhich 會嗅探網絡數據包並需要 root 權限。做吧sudo
在 MacOS 和 Linux,或者只是 Linux 上,您可以使用以下命令向 bandwhich 二進製文件授予所需的權限,這樣您就不必運行 sudo。
sudo setcap cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep `which bandwhich`