【レビュー】

Linuxでネットワークトラフィックを監視する方法

    後藤大地  [2010/07/30]

    TechThrob.com

    UbuntuやFedoraといったGUIプラットフォームには、ネットワークトラフィックを表示するアプリケーションが用意されていることが多い。ただしそれらアプリが出力するトラフィック情報は大雑把で、個別の情報は表示されないことがある。またGUIアプリでは、sshでログインした状態でネットワークトラフィックを調査するといった作業ができない。

    How to Monitor Network Traffic in Linux - Techthrob.comにおいてLinuxやUnixなどでネットワークトラフィックのモニタリングを実施するための2つのツールが紹介されている。コマンドラインで動作するツールなので、ssh経由でログインして使うことができる。紹介されているツールと活用例は次のとおり。

    iftop(8)

    ネットワークトラフィック情報を表示するツール。IPとポート番号をベースに、それぞれの通信におけるトラフィック量を表示する。top(1)コマンドのようにターミナル全体に情報を表示し、定期的に更新する。トラフィック量は左から右へのバーとして表現される。もっとも簡単な使用例は次のとおり。-iでネットワークインタフェースを指定し、-Bでバイト単位での表示を指定している。ここではネットワークインタフェースが仮にeth0であるとして記載してある。

    sudo iftop -i eth0 -B
    

    画面に出力される内容は-fオプションでフィルタリングすることが可能。たとえば表示したい内容をssh接続(22番ポート)に限定するなら、次のような指定が可能。

    sudo iftop -i eth0 -B -f "dst port 22"
    

    フィルタリングで指定できる規則のサンプルは次のとおり。

    dst host ホスト名
    dst net ネットワーク
    dst port ポート番号
    dst portrange 開始ポート番号-終了ポート番号
    src host ホスト名
    src net ネットワーク
    src port ポート番号
    src portrange 開始ポート番号-終了ポート番号
    gateway ゲートウェイ
    ip proto プロトコル
    

    iftop(8)実行例 sudo iftop -i eth0 -B

    iftop(8)実行例 ssh接続に限定した場合

    hまたは?でiftop(8)実行中にヘルプを表示させることが可能。トグルキーがいくつか用意されており、必要に応じて表示を切り替えることができる。iftop(8)はLinuxに限らずFreeBSDでも利用できる。

    nethogs(8)

    プロセスがどの程度の通信量を持っているのかを表示するツールがnethogs(8)。アプリケーションごとの通信量を把握したい場合に便利。使い方は次のようにインタフェース名を指定して実行するだけ。

    sudo nethogs eth0
    

    nethogs(8)実行例

    ネットワークの接続状況やソケットの状況を表示するコマンドはベースシステムに用意されていることが多いが、トラフィックを表示するためのコマンドはベースシステムには入っていないことが多い。iftop(8)やnethogs(8)は手軽にトラフィック情報をモニタリングできるツールとして参考になる。またssh経由でログインしている場合でも利用できるため、遠隔でのネットワーク管理や監視にも利用できる。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン