このステップでは、Tshark を使用して特定のプロトコルでネットワークトラフィックをフィルタリングする方法を学びます。ネットワークは同時に多様な種類のトラフィックを流すため、プロトコルフィルタリングは不可欠です。フィルタリングすることで、関心のある特定のプロトコルに焦点を当て、関係のないパケットを無視することができ、分析をより効率的に行うことができます。
-
まず、作業を行う正しいディレクトリにいることを確認します。これにより、プロジェクトファイルが整理されます。
cd ~/project
-
多くの一般的なサービス(ウェブブラウジング(HTTP/HTTPS)やセキュアシェル(SSH)など)で使用される TCP トラフィックから始めましょう。次のコマンドは、20 個の TCP パケットをキャプチャします。
tshark -i eth0 -f "tcp" -c 20
-f
フラグはキャプチャフィルタを指定し、-c
はキャプチャするパケットの数を制限します。
-
次に、DNS ルックアップや VoIP サービスなどの軽量通信に使用される UDP トラフィックのキャプチャを試してみましょう。このコマンドは、10 個の UDP パケットをキャプチャします。
tshark -i eth0 -f "udp" -c 10
-
ネットワーク診断ツール(ping など)で使用される ICMP パケットの場合、次のコマンドを使用して 5 個のパケットをキャプチャします。
tshark -i eth0 -f "icmp" -c 5
-
フィルタを組み合わせて、複数のプロトコルを同時にキャプチャすることができます。この例では、DNS トラフィック(UDP ポート 53)と HTTP トラフィック(TCP ポート 80)の両方をキャプチャし、合計 15 個のパケットを取得します。
tshark -i eth0 -f "port 53 or port 80" -c 15
-
キャプチャ後により詳細なフィルタリングを行うには、-Y
オプションを使用して表示フィルタを適用します。このコマンドは 30 個のパケットをキャプチャしますが、出力には HTTP または DNS トラフィックのみを表示します。
tshark -i eth0 -c 30 -Y "http or dns"
表示フィルタはキャプチャ後に処理されるため、記録される内容に影響を与えることなく、より複雑なフィルタリングを行うことができます。