{category}

Linux - パフォーマンス監視

iftop

アイエフトップ(システムモニタリングとトラブルシューティング

意味 ネットワークトラフィック監視


iftopとは?

iftopは、ネットワークインターフェースのトラフィックを監視し、帯域幅の使用状況をリアルタイムで表示するLinuxコマンドです。送受信データ量や接続先IPアドレスなどを見やすく表示し、ネットワークの問題診断に役立ちます。

iftopの具体的な使い方

ネットワーク監視例

$ sudo iftop -i eth0

👇出力結果

              10Mb                  20Mb                 30Mb                 40Mb
└─────────────────┴────────────────┴────────────────┴────────────────┘
192.168.1.100                         => ssh.example.com                     1.2Mb  2.4Mb  3.6Mb
                                       <= 192.168.1.100                       152Kb  304Kb  456Kb
web.example.com                        => 192.168.1.101                       820Kb  1.6Mb  2.4Mb
                                       <= web.example.com                     410Kb  820Kb  1.2Mb

──────────────────────────────────────────────────────────────────────────────
TX:             cum:   2.25MB   peak:   1.21Mb    rates:   1.02Mb  2.04Mb  3.06Mb
RX:                    1.13MB           620Kb            512Kb  1.02Mb  1.53Mb
TOTAL:                 3.38MB           1.83Mb           1.53Mb  3.06Mb  4.59Mb

この例では、eth0インターフェースのネットワークトラフィックを監視します。-iオプションでインターフェースを指定し、sudoを使用して管理者権限で実行しています。画面上部に総帯域幅、下部に個別の接続情報が表示されます。

特定のポートのトラフィック監視

$ sudo iftop -i eth0 -f 'port 80 or port 443'

👇出力結果

              5Mb                   10Mb                  15Mb                  20Mb
└─────────────────┴────────────────┴────────────────┴────────────────┘
192.168.1.100                         => webserver.example.com:80            2.5Mb  5.0Mb  7.5Mb
                                       <= 192.168.1.100                       500Kb  1.0Mb  1.5Mb
secure.example.com:443                 => 192.168.1.101                       1.2Mb  2.4Mb  3.6Mb
                                       <= secure.example.com:443               600Kb  1.2Mb  1.8Mb

──────────────────────────────────────────────────────────────────────────────
TX:             cum:   4.50MB   peak:   2.42Mb    rates:   1.85Mb  3.70Mb  5.55Mb
RX:                    2.25MB           1.21Mb            925Kb  1.85Mb  2.78Mb
TOTAL:                 6.75MB           3.63Mb            2.78Mb  5.55Mb  8.33Mb

この例では、eth0インターフェースの中でもHTTP(ポート80)とHTTPS(ポート443)のトラフィックのみを監視します。-fオプションを使ってフィルタを適用しています。

累積データ転送量の表示

$ sudo iftop -i eth0 -B

👇出力結果

              10Mb                  20Mb                 30Mb                 40Mb
└─────────────────┴────────────────┴────────────────┴────────────────┘
192.168.1.100                         => ssh.example.com                     250MB    500MB    750MB
                                       <= 192.168.1.100                        50MB    100MB    150MB
web.example.com                        => 192.168.1.101                       100MB    200MB    300MB
                                       <= web.example.com                      75MB    150MB    225MB

──────────────────────────────────────────────────────────────────────────────
TX:             cum:    425MB   peak:   1.21Mb    rates:   1.02Mb  2.04Mb  3.06Mb
RX:                     275MB           620Kb            512Kb  1.02Mb  1.53Mb
TOTAL:                  700MB           1.83Mb           1.53Mb  3.06Mb  4.59Mb

この例では、eth0インターフェースのトラフィックを監視し、-Bオプションを使って累積データ転送量を表示します。これにより、セッション開始からの総データ転送量を確認できます。

iftopに関するよくある質問

Q. iftopは何を表示しているの?
A. iftopは、ネットワークインターフェースを通過するトラフィックをリアルタイムで表示します。主に以下の情報を提供します: 1. 個々のホスト間の接続と、それぞれの送受信データ量 2. 全体的なネットワーク使用量(送信、受信、合計) 3. 過去2秒、10秒、40秒の平均データレート 4. ピーク使用量 これにより、ネットワークの使用状況や潜在的な問題を素早く把握できます。
Q. iftopでHTTPSトラフィックは見える?
A. iftopはネットワークレイヤーでトラフィックを監視するため、HTTPSトラフィックの内容を見ることはできません。ただし、HTTPSトラフィックのソースIP、宛先IP、ポート番号、データ量は表示されます。つまり、暗号化されたトラフィックの存在は確認できますが、その具体的な内容(ウェブページの内容など)は見ることができません。
Q. iftopの実行に管理者権限が必要?
A. はい、通常iftopの実行には管理者権限(root権限)が必要です。これは、iftopがネットワークインターフェースを直接監視するためです。一般ユーザーとして実行すると、「Permission denied」などのエラーが表示されます。そのため、通常は「sudo iftop」のように、sudoコマンドを使用して実行します。ただし、一部のシステムでは、特定のグループに属するユーザーに対して、root権限なしでiftopを実行する権限を与えることも可能です。

iftopが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxのiftopやss、strace、fuser、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

ss

ネットワーク接続情報表示

種類: パフォーマンス監視

strace

システムコールの追跡

種類: デバッグツール

fuser

ファイルを使用中のプロセス特定

種類: ファイル使用状況

update-grub

ブート設定更新

種類: ブートプロセス

getfacl

詳細なアクセス権限を表示

種類: アクセス制御