tcpdump によるパケット監視
tcpdumpは、Unix系オペレーティングシステムで使用されるコマンドラインベースのパケットキャプチャツールである。ネットワークインターフェースを通過するパケットをリアルタイムで取得・表示し、ネットワークのトラブルシューティングやセキュリティ監査に用いられる。
tcpdumpを使用することで、以下のことが可能になる。
- 通信内容の確認による接続障害の原因特定
- 不審な通信の検出
- アプリケーションが送受信するデータの検証
注意事項:tcpdumpの実行にはroot権限が必要である。また、他者の通信を許可なく傍受することは法律で禁止されているため、自身が管理するネットワークおよび機器でのみ使用すること。
以下に、tcpdump の基本的な使用例を示す。
例1:すべてのパケットを監視する
-X オプションは、パケットの内容を16進数とASCII文字の両方で表示する。
# tcpdump -X
例2:特定のホスト(localhost)に関係するパケットを監視する
-i lo0 でループバックインターフェース(自分自身への通信に使用する仮想的なネットワークインターフェース)を指定し、host localhost で対象ホストを限定する。
# tcpdump -X -i lo0 host localhost
例3:特定のポート(ポート22)に関係するパケットを監視する
ポート22はSSH通信で使用されるため、SSH接続のパケットを確認する際に有用である。
# tcpdump -X -i lo0 port 22
例4:複数条件を組み合わせてパケットを監視する
複数の条件を組み合わせる場合は、and 演算子を使用する。以下の例では、localhostかつポート22に関係するパケットのみを対象とする。
# tcpdump -X -i lo0 host localhost and port 22
関連資料: ユーザ認証の盗聴