Wiresharkでのディスプレイフィルタの使い方

Wiresharkは、ライブネットワークと以前にキャプチャされたファイルのパケットデータを検査できるGUIベースのネットワークパケットアナライザーです。非常に強力なツールですが、新しいユーザーが直面する一般的な問題は、表示されるデータが多すぎて、実際に探している情報を特定するのが非常に難しいことです。ここでWiresharkのディスプレイフィルタが役立ちます。

- Wiresharkが完全に初めての方は、まず基本的なチュートリアルを通過することをお勧めします。

ディスプレイフィルタ

以下はWiresharkのライブキャプチャの例です:

wireshark-live-capture

GUIの主要部分は、すべての入出力パケットに関する情報(時間、ソース、宛先など)を表示するために使用されます。この情報を要件に応じてフィルタリングするには、ウィンドウの上部にあるフィルタボックスを使用する必要があります。

1. プロトコルに基づいて情報をフィルタリング

特定のプロトコルに基づいて結果をフィルタリングするには、その名前をフィルタボックスに入力し、エンターキーを押します。例えば、以下のスクリーンショットはHTTPプロトコルに関する情報を表示しています:

wireshark-http

プロトコル列にはHTTPのエントリのみが含まれています。複数のプロトコルに関する情報が必要な場合は、プロトコル名を二重パイプ(または論理OR演算子)||で区切って入力します。以下はその例です:

http || arp || icmp

wireshark-multiple-protocols

2. IPアドレスに基づいて情報をフィルタリング

ソースIPに基づいて結果をフィルタリングするには、ip.srcフィルタを使用します。以下はその例です:

ip.src==50.116.24.50

wireshark-ip

同様に、宛先IPアドレスに基づいて結果をフィルタリングするには、ip.dstを使用します。特定のIPアドレスを持つソースおよび宛先パケットの両方を表示するには、ip.addrフィルタを使用します。以下はその例です:

ip.addr==50.116.24.50

wireshark-ip-addr

ソースまたは宛先IPアドレスが50.116.24.50のパケットが出力に表示されることに注意してください。

特定のIPアドレスを持つパケットを除外するには、!=演算子を使用します。以下はその例です:

ip.src!=50.116.24.50

wireshark-exclude-ip

3. ポートに基づいて情報をフィルタリング

ネットワークポートに基づいてキャプチャされたトラフィックをフィルタリングすることもできます。例えば、TCPソースまたは宛先ポート80を含むパケットのみを表示するには、tcp.portフィルタを使用します。以下はその例です:

tcp.port==80

wireshark-tcp-port

同様に、tcp.srcportおよびtcp.dstportを使用して、それぞれTCPソースおよび宛先ポートに基づいて結果を個別にフィルタリングできます。

WiresharkはTCPフラグに基づいて結果をフィルタリングする能力も持っています。例えば、SYNフラグを含むTCPパケットのみを表示するには、tcp.flags.synフィルタを使用します。以下はその例です:

wireshark-tcp-flags

同様に、tcp.flags.acktcp.flags.finなどのフィルタを使用して他のフラグに基づいて結果をフィルタリングすることもできます。

4. 他の便利なフィルタ

Wiresharkは、(現在選択されている)パケットが含むデータをウィンドウの下部に表示します。時々、問題をデバッグする際に特定のバイトシーケンスに基づいてパケットをフィルタリングする必要があります。Wiresharkを使えば簡単にできます。

例えば、00 00 01というバイトシーケンスを含むTCPパケットをフィルタリングするには、以下のようにします:

tcp contains 00:00:01

wireshark-byte-seq

次に、IPアドレスに基づいてフィルタリングできるように(前述の説明)、MACアドレスに基づいて結果をフィルタリングすることもできます。eth.addrフィルタを使用します。例えば、MACアドレスAA:BB:CC:DD:EE:FFを持つマシンから出入りするすべてのトラフィックを見るためには、以下のフィルタコマンドを使用します:

eth.addr == AA:BB:CC:DD:EE:FF

結論

私たちはここで表面をほとんど触れただけで、Wiresharkにはもっと多くの機能があります。Wiresharkのディスプレイフィルタに関する詳細については、Wireshark公式サイトまたはWireshark Wikiサイトを訪れてください。疑問やクエリがある場合は、下にコメントを残してください。