コンテンツにスキップ

bandwhich - プロセスごとの帯域幅モニターチートシート

bandwhich - プロセスごとの帯域幅モニターチートシート

bandwhich は Rust ターミナルユーティリティで、現在のネットワーク使用率を**プロセス、接続、リモート IP/ホスト名ごト に分解して表示します。iftop(接続ごと)または nethogs(プロセスのみ)とは異なり、bandwhich はソケットを所有するプロセスに相関させ、リモートエンドポイントを解決するため、どのアプリケーション(およびどのリモートホスト)が帯域幅を消費しているかをすぐに確認できます。

Installation

PlatformCommand
Cargo(すべてのプラットフォーム)cargo install bandwhich
Arch Linuxsudo pacman -S bandwhich
Debian/Ubuntusudo apt install bandwhich
Fedorasudo dnf install bandwhich
macOS(Homebrew)brew install bandwhich
Nixnix-env -iA nixpkgs.bandwhich
プリビルトバイナリGitHub リリースページからダウンロード

Privileges

bandwhich はパケットをスニッフする必要があるため、昇格した機能が必要です:

# 最も簡単:sudo で実行
sudo bandwhich

# または、バイナリに機能を一度付与(その後 sudo なし、Linux)
sudo setcap cap_net_raw,cap_net_admin=eip $(which bandwhich)

Basic Usage

CommandDescription
sudo bandwhichすべてのインターフェースを監視、ライブ TUI
sudo bandwhich -i eth0単一インターフェースを監視
sudo bandwhich --interface wlan0同じ、長形式
bandwhich --helpフルオプションリスト
bandwhich --versionバージョン

Key Options

OptionDescription
-i, --interface NAME監視を 1 つのインターフェースに制限
-n, --no-resolveリバース DNS ルックアップをスキップ(高速、生の IP)
-r, --rawマシン読み取り可能、非対話的出力(ロギングに適切)
-p, --processesプロセステーブルのみを表示
-c, --connections接続テーブルのみを表示
-a, --addressesリモートアドレステーブルのみを表示
--total-utilizationライブ UI の代わりに 1 回限りの合計を印刷
-s, --show-dns接続ビューに DNS クエリを含める
-d, --dns-server IPリバースルックアップ用の特定のリゾルバーを使用

Interactive Keys

KeyAction
Tabレイアウトをサイクル / どのテーブルが展開されているかを回転
Space一時停止 / 再開
/ テーブル内でスクロール
q / Ctrl+C終了

Reading the Display

bandwhich は 3 つのライブテーブルを表示します:

TableTells you
プロセス別使用率送受信しているどの実行可能ファイル、上下レート
接続各ソケット:ローカル → リモート、プロトコル、接続ごとのレート
リモートアドレス別使用率最もデータを交換しているリモートホスト(解決済み)

レートは現在の上(▲)および下(▼)スループットとして表示され、約 1 秒ごとに更新されます。

Common Workflows

# 「今、誰が私のアップロードを食べているのか?」— プロセスのみ、DNS ラグなし
sudo bandwhich -p -n

# ノイズの多いインターフェースを調査し、生のストリームをログして後で分析
sudo bandwhich -i eth0 --raw | tee bandwhich-eth0.log

# 使用率の 1 ショットスナップショット(スクリプト/cron)
sudo bandwhich --total-utilization -n

# トップのリモートトーカーを検索(例:流出またはバックアップジョブ)
sudo bandwhich -a

bandwhich vs Other Network Monitors

ToolGranularityNotes
bandwhichプロセス + 接続 + リモートホストRust TUI、リモートを解決
nethogsプロセスごとリモートホストのグループ化なし
iftop接続ごとプロセスの属性化なし
nloadインターフェースごとの合計シンプルな集計グラフ
iptraf-ngインターフェース/接続ごと古い ncurses スイート

Resources