eth1 でフィルタリングされたトラフィックをキャプチャする
このステップでは、前のステップで行った TCP フィルタリングを基に、eth1 インターフェイスで特定のフィルタを使用してネットワークトラフィックをキャプチャする方法を学びます。eth1 インターフェイスは通常、メインの有線ネットワーク接続を表しており、実際のパケットキャプチャシナリオをデモンストレーションするために使用します。
- まず、次のコマンドを実行してネットワークインターフェイスを確認します。
ip addr show eth1
このコマンドは、eth1 インターフェイスに関する詳細情報を表示します。eth1 インターフェイスがアップ状態 (state UP) で、割り当てられた IP アドレスがあることを示す出力が表示されるはずです。この確認は、存在しないまたはアクティブでないインターフェイスではトラフィックをキャプチャできないため重要です。
- eth1 で具体的に HTTP トラフィックをキャプチャするには、次のコマンドを使用します。
sudo tshark -i eth1 -f "tcp port 80" -c 15
このコマンドが何をするかを分解してみましょう。
-i eth1
は、監視するネットワークインターフェイスを指定します。
-f "tcp port 80"
は、HTTP トラフィック用のキャプチャフィルタを作成します (ポート 80 は標準の HTTP ポートです)。
-c 15
は、キャプチャするパケット数を 15 個に制限します。これはデモンストレーションには十分で、大量のデータで圧倒されることはありません。
- 特定の IP 間のトラフィックをキャプチャするには、次のコマンドを試してみましょう。
sudo tshark -i eth1 -f "host 8.8.8.8" -c 10
ここでは、Google の DNS サーバー (8.8.8.8) への、またはそこからのトラフィックをフィルタリングしています。"host" フィルタは、この特定の IP アドレスへの、またはそこからの着信および発信トラフィックの両方に一致します。これは、特定のサーバーとの通信を監視したい場合に便利です。
- より複雑なフィルタリングを行うには、条件を組み合わせます。
sudo tshark -i eth1 -f "tcp port 443 and host 8.8.8.8" -c 5
このコマンドは、フィルタを組み合わせる方法を示しています。これは、8.8.8.8 への、またはそこからの HTTPS トラフィック (ポート 443) をキャプチャします。"and" 演算子を使用すると、複数の条件に同時に一致する正確なフィルタを作成できます。
- 次のような詳細を含むフィルタリングされたパケットを示す出力を観察します。
1 0.000000 192.168.1.100 → 8.8.8.8 TCP 74 49234 → 443 [SYN] Seq=0 Win=64240 Len=0
このサンプル出力は、ローカルマシン (192.168.1.100) から Google のサーバーへの TCP SYN パケット (TCP 接続の最初のパケット) を示しています。数字は、タイミング、ポート、および TCP シーケンス情報を表しており、ネットワークの動作を分析するのに役立ちます。