ネットワークの使用状況をリアルタイムで確認したいとき、Linuxでは「iftop」コマンドが非常に便利です。
特定のプロセスやIPアドレスが大量の帯域を使用している場合、早期に把握できることでトラブルの未然防止につながります。
本記事では、Linuxで使えるリアルタイムネットワーク監視ツール「iftop」のインストール方法から、基本的な使い方、画面の読み方、実用的なオプションまで、初心者にもわかりやすく丁寧に解説していきます。
iftopとは?
「iftop」は、ネットワークインターフェースを通じてどのIPアドレスがどれだけ帯域を使っているかをリアルタイムで表示してくれるCUI(キャラクタユーザーインターフェース)ツールです。
プロセスベースではなく、IPアドレスやポート単位で通信量を表示するため、外部との通信の監視や、異常なトラフィックの検出に適しています。
たとえば「ある時間帯にサーバーが遅くなる」などの問題がある場合、iftopで誰がどれだけ帯域を使っているかをリアルタイムで確認することで、原因の特定に役立ちます。
iftopのインストール方法
iftopは多くのLinuxディストリビューションでパッケージとして提供されています。以下は代表的なインストール方法です。
Debian/Ubuntu系の場合
sudo apt update
sudo apt install iftop
RedHat/CentOS系の場合
sudo yum install epel-release
sudo yum install iftop
※EPELリポジトリが必要な場合があります。
Rocky LinuxやAlmaLinuxの場合
sudo dnf install epel-release
sudo dnf install iftop
インストールが完了したら、iftop
コマンドが使えるようになります。
iftopの基本的な使い方
iftopを実行するには、ルート権限またはsudo権限が必要です。
これは、ネットワークインターフェースへのアクセスが必要だからです。
基本の実行方法
sudo iftop
上記のコマンドを実行すると、デフォルトのネットワークインターフェース(たとえばeth0)に対して、通信状況がリアルタイムに表示されます。
画面の見方を理解しよう
iftopの画面は、以下のような構成になっています。
- 上部:監視対象のインターフェース名と、スループットのグラフ
- 中央:通信しているIPアドレスのペアと、それぞれの送受信速度(2列構成)
- 右端:それぞれの通信における帯域幅(過去2秒、10秒、40秒の平均)
- 下部:全体の送受信合計、設定状態
通信の方向
=>
は送信方向、<=
は受信方向を示します。IPアドレスのペアごとに上下で表示され、どの方向にどれだけの通信が発生しているかが一目でわかります。
トラフィックの単位
デフォルトではバイト数(KB/s, MB/s)で表示されます。オプションでパケット数表示も可能です。
よく使うオプションとキーボード操作
iftopは起動時や起動後にさまざまな操作が可能です。
起動時オプション
オプション | 説明 |
---|---|
-i インターフェース名 | 監視対象のNICを指定(例:-i eth0 ) |
-n | IPアドレスを名前解決しない(高速化) |
-N | ポート番号も名前解決しない |
-P | ポート番号も表示する |
-B | 単位をバイトにする(デフォルトはビット) |
例:
sudo iftop -i eth0 -nNPB
これは、eth0を監視し、名前解決をせず、ポート番号を表示し、バイト単位で表示する設定です。
起動後の操作キー
キー | 機能 |
---|---|
t | 表示項目の切り替え(送信/受信/合計) |
s | 送信元でソート |
d | 送信先でソート |
T | トータルバイトでソート |
l | ポート表示のオンオフ |
n | 名前解決のオンオフ |
q | 終了 |
実用例:帯域を食っているIPを特定する
たとえば、サーバーの応答が遅くなったときに以下のように実行します。
sudo iftop -i eth0 -nP
画面上で明らかに大量のデータを送受信しているIPがあれば、その通信を絞って確認・対策が可能です。
また、異常なポート番号で通信が行われていれば、不正アクセスの検知にもつながります。
iftopの注意点と制限
- パケット内容までは見えない:iftopは通信量を確認するツールであり、パケットの中身(プロトコル詳細など)までは見られません。より詳細な解析には
tcpdump
やwireshark
が必要です。 - ログ機能がない:リアルタイム表示のため、記録を残したい場合は
screen
やtmux
でログを取りつつ使うと良いでしょう。 - プロセス単位での確認不可:iftopは「どのプロセスが通信しているか」を直接知ることはできません。プロセス単位で確認したい場合は
nethogs
を使うのがおすすめです。
まとめ
iftopは、Linuxでネットワーク帯域をリアルタイムに監視するための非常に強力なツールです。
特に、サーバーの通信が重くなったときや、異常なネットワーク使用が疑われるときに、瞬時に状況を把握するのに役立ちます。
ログ機能やプロセス表示はないものの、軽量で直感的な表示ができるため、多くのシステム管理者にとっては定番のツールです。
ぜひ、iftopを導入して、ネットワークの安定運用に役立ててください。