Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
bandwhich — ターミナル帯域幅使用率ツール | Kitploit
ツール/GitHubGitHub/imsnif/bandwhich
汎用ユーティリティパケットスニッフィングと分析ネットワークマッピング情報収集DNS分析
GitHubimsnif/bandwhich

bandwhich

ターミナル帯域幅使用率ツール

リポジトリを見る
11.9k3443ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

bandwhich

demo

これは、プロセス、接続、リモートIP/ホスト名別に現在のネットワーク使用状況を表示するCLIユーティリティです。

目次

  • bandwhich
    • 目次
    • プロジェクトの状態
    • 動作の仕組み
    • インストール
      • 下流パッケージのステータス
      • プリビルドバイナリのダウンロード
    • ソースからのビルド
      • クロスコンパイル
        • Android
    • インストール後 (Linux)
      • 1. setcap
        • ケイパビリティの説明
      • 2. sudo (または代替)
    • インストール後 (Windows)
    • 使用方法
    • コントリビューション
    • ライセンス

プロジェクトの状態

このプロジェクトは受動的なメンテナンス状態です。重大な問題は対処されますが、新機能の開発は行われていません。しかし、これは主に資金や人員の不足によるものであり、プルリクエストは大歓迎です。また、このプロジェクトに長期的に貢献できる意志と能力がある場合は、共同メンテナーへの応募を検討してください。

詳細については、The Future of Bandwhich #275を参照してください。

動作の仕組み

bandwhich は指定されたネットワークインターフェースをスニッフィングし、IPパケットサイズを記録します。そして、Linuxでは /proc ファイルシステム、macOSでは lsof、WindowsではWinApiを使用してプロセス情報と相互参照します。ターミナルウィンドウのサイズに応じて表示内容を調整し、スペースが不足している場合は情報を省略します。また、バックグラウンドで逆引きDNSを使用してIPをホスト名に解決しようと試みます(ベストエフォート)。

インストール

下流パッケージのステータス

各プラットフォームの詳細な手順については、INSTALL.mdを参照してください。

Packaging status

プリビルドバイナリのダウンロード

リリースページでは、さまざまなOS向けの汎用バイナリをいくつか提供しています。

ソースからのビルド

root@kitploit:~
git clone https://github.com/imsnif/bandwhich.git
cd bandwhich
cargo build --release

最新の最低対応Rustバージョンについては、Cargo.tomlのrust-versionフィールドを参照してください。

クロスコンパイル

代替ターゲットへのクロスコンパイルは cross を介してサポートされています。大まかな手順は以下の通りです。

  1. ターゲットアーキテクチャを確認します。Linuxの場合はuname -mを使用できます。
  2. 対応するターゲットトリプルについて rustcプラットフォームサポート を参照します。
  3. crossをインストールします。
  4. cross build --release --target <TARGET_TRIPLE> を実行します。

Android

cross-rs/cross#1222 が解決されるまでは、最新のHEADを使用してください。

root@kitploit:~
cargo install --git https://github.com/cross-rs/cross.git cross
cross build --release --target aarch64-linux-android

インストール後 (Linux)

bandwhich はネットワークパケットをスニッフィングするため、昇格された権限が必要です。Linuxでは、主に以下の2つの方法でこれを実現できます。

1. setcap

  • bandwhich バイナリに必要な権限(Linuxでは「ケイパビリティ」と呼ばれます)を永続的に付与します。
  • すべての非特権ユーザーにbandwhichの監視機能への完全なアクセスを許可したい場合に使用します。
    • これは シングルユーザーマシン または すべてのユーザーが信頼できる場合 に 推奨される 設定です。
    • ユーザーが他のユーザーのトラフィックを見られないようにしたい場合は 推奨されません。
root@kitploit:~
# ケイパビリティの割り当て
sudo setcap cap_sys_ptrace,cap_dac_read_search,cap_net_raw,cap_net_admin+ep $(command -v bandwhich)
# 非特権ユーザーとして実行
bandwhich

ケイパビリティの説明

  • cap_sys_ptrace,cap_dac_read_search: /proc/<pid>/fd/ へのアクセスを許可し、bandwhichがどの開いているポートがどのプロセスに属するかを特定できるようにします。
  • cap_net_raw,cap_net_admin: システム上でパケットキャプチャを許可します。

2. sudo (または代替)

  • 毎回権限昇格が必要です。
  • マルチユーザー環境の管理者である場合に使用します。
root@kitploit:~
sudo bandwhich

インストール方法によって bandwhich がホームディレクトリ内のどこかにインストールされた場合(command -v bandwhich で確認できます)、command not found エラーが発生する可能性があります。これは多くのディストリビューションで、sudo がデフォルトでユーザーの $PATH を保持しないためです(安全性の理由から)。

これを回避するには、以下のいずれかを行ってください。

  1. sudo に $PATH 環境変数を保持させる。
  2. bandwhich の実行時に $PATH を明示的に設定する: sudo env "PATH=$PATH" bandwhich
  3. フルパスを sudo に渡す: sudo $(command -v bandwhich)

インストール後 (Windows)

Windowsでパケットキャプチャを行うには、最初に npcap をインストールする必要がある場合があります。

使用方法

root@kitploit:~
Usage: bandwhich [OPTIONS]

Options:
  -i, --interface <INTERFACE>      The network interface to listen on, eg. eth0
  -r, --raw                        Machine friendlier output
  -n, --no-resolve                 Do not attempt to resolve IPs to their hostnames
  -s, --show-dns                   Show DNS queries
  -d, --dns-server <DNS_SERVER>    A dns server ip to use instead of the system default
      --log-to <LOG_TO>            Enable debug logging to a file
  -v, --verbose...                 Increase logging verbosity
  -q, --quiet...                   Decrease logging verbosity
  -p, --processes                  Show processes table only
  -c, --connections                Show connections table only
  -a, --addresses                  Show remote addresses table only
  -u, --unit-family <UNIT_FAMILY>  Choose a specific family of units [default: bin-bytes] [possible values: bin-bytes, bin-bits, si-bytes, si-bits]
  -t, --total-utilization          Show total (cumulative) usages
  -h, --help                       Print help (see more with '--help')
  -V, --version                    Print version

コントリビューション

CONTRIBUTING.mdを参照してください。

ライセンス

MIT

ツールをダウンロード
OSアーキテクチャサポート使用方法
Androidaarch64ベストエフォート

すべての最新Androidデバイス。

これは純粋なバイナリファイルであり、一般的な用途向けのAPKではないことに注意してください。

Linuxaarch64フルサポート64ビットARMv8+(サーバー、一部の最新ルーター、RPi-4+)。
armv7hfベストエフォート32ビットARMv7(古いルーター、RPi-4より前)。
x64フルサポートほとんどのLinuxデスクトップおよびサーバー。
MacOSaarch64フルサポートAppleシリコン搭載Mac(2021年以降)。
x64Intel Mac(2021年以前)。
Windowsx64フルサポートほとんどのWindowsデスクトップおよびサーバー。