はじめに
サイバーセキュリティの分野では、ネットワーク分析に使用されるツールと技術を理解することが重要です。広く採用されているネットワークプロトコルアナライザである Wireshark は、セキュリティ専門家がネットワークトラフィックを効果的に監視し、トラブルシューティングするのに役立つ強力な機能を提供します。このチュートリアルでは、Wireshark のキャプチャフィルタと表示フィルタの違いについて詳しく説明し、これらのツールを活用してサイバーセキュリティの監視とインシデント対応を強化するための知識を身に付けます。
Wireshark の紹介
Wireshark は、ネットワークトラフィックのキャプチャ、分析、トラブルシューティングを行うことができる強力なネットワークプロトコルアナライザです。サイバーセキュリティ分野では、ネットワーク通信の理解、セキュリティ問題の特定、ネットワーク関連のインシデントの調査に広く使用されているツールです。
Wireshark とは?
Wireshark は、ネットワークトラフィックのキャプチャ、分析、トラブルシューティングを行うためのグラフィカルユーザーインターフェイス (GUI) を提供するオープンソースのソフトウェアアプリケーションです。Windows、macOS、Linux などのさまざまなオペレーティングシステムで利用可能です。
Wireshark の主要な機能
- パケットキャプチャ:Wireshark は、有線および無線接続を含むさまざまなネットワークインターフェイスからネットワークトラフィックをキャプチャすることができます。
- パケット分析:Wireshark は、キャプチャしたネットワークトラフィックをデコードして分析し、各パケットのプロトコル、ヘッダー、ペイロードに関する詳細な情報を提供します。
- プロトコルディスセクション:Wireshark は幅広いネットワークプロトコルをサポートし、各プロトコルの構造と動作に関する詳細な情報を提供することができます。
- フィルタリングと検索:Wireshark は強力なフィルタリングと検索機能を提供し、ユーザーが特定の種類のトラフィックに焦点を当てたり、キャプチャしたデータ内で関連する情報を見つけたりすることができます。
- 可視化:Wireshark は、時間ベースのグラフやプロトコル階層図などのさまざまな可視化ツールを提供し、ユーザーがネットワークトラフィックを理解するのに役立ちます。
Wireshark のインストールと使用方法
Wireshark を使用するには、システムにインストールする必要があります。以下は、Ubuntu 22.04 システムに Wireshark をインストールする方法の例です。
sudo apt-get update
sudo apt-get install wireshark
インストールが完了したら、アプリケーションメニューから Wireshark を起動するか、ターミナルで wireshark コマンドを実行して起動することができます。
Wireshark のキャプチャフィルタ
Wireshark のキャプチャフィルタは、分析のためにキャプチャして保存するネットワークトラフィックを制御するために使用されます。キャプチャフィルタを適用することで、特定の種類のトラフィックに焦点を当てることができ、キャプチャするデータ量を削減し、分析の効率を向上させることができます。
キャプチャフィルタの理解
キャプチャフィルタは、「Wireshark 表示フィルタ構文」と呼ばれる強力なフィルタリング言語に基づいています。この構文を使用すると、特定のプロトコル、IP アドレス、ポート番号、その他のネットワーク特性を対象とする複雑なフィルタを作成することができます。
キャプチャフィルタの適用
Wireshark でキャプチャフィルタを適用するには、次の手順に従います。
- Wireshark を開き、「Capture」メニューをクリックします。
- 「Capture Filters」を選択して、キャプチャフィルタの設定ウィンドウを開きます。
- 「+」ボタンをクリックして、新しいキャプチャフィルタを追加します。
- フィルタの説明的な名前とフィルタ式を入力します。
- 「OK」をクリックして、フィルタを保存し、ウィンドウを閉じます。
- Wireshark のメインウィンドウで「Start」ボタンをクリックして、キャプチャを開始します。
以下は、HTTP トラフィックのみをキャプチャするキャプチャフィルタの例です。
tcp.port == 80 or tcp.port == 443
このフィルタは、ポート 80 (HTTP) と 443 (HTTPS) のすべてのネットワークトラフィックをキャプチャします。
キャプチャフィルタ構文
Wireshark のキャプチャフィルタ構文は、Berkeley Packet Filter (BPF) 言語に基づいています。この構文を使用すると、さまざまな演算子と式を使って複雑なフィルタを作成することができます。例えば、
- プロトコルフィルタ:
tcp,udp,icmp, など - ポートフィルタ:
tcp.port == 80,udp.port == 53 - IP アドレスフィルタ:
ip.src == 192.168.1.100,ip.dst == 8.8.8.8 - 論理演算子:
and,or,not
キャプチャフィルタ式の包括的なリストは、Wireshark のドキュメントで確認できます。
Wireshark の表示フィルタ
Wireshark の表示フィルタは、Wireshark のメインウィンドウに表示するキャプチャ済みのネットワークトラフィックを制御するために使用されます。キャプチャフィルタがキャプチャするトラフィックを決定するのに対し、表示フィルタは分析対象の特定の種類のトラフィックに焦点を当てることができます。
表示フィルタの理解
表示フィルタは、キャプチャフィルタで使用されるのと同じ強力なフィルタリング言語「Wireshark 表示フィルタ構文」に基づいています。この構文を使用すると、特定のプロトコル、IP アドレス、ポート番号、その他のネットワーク特性を対象とする複雑なフィルタを作成することができます。
表示フィルタの適用
Wireshark で表示フィルタを適用するには、次の手順に従います。
- Wireshark を開き、いくつかのネットワークトラフィックをキャプチャします。
- Wireshark のメインウィンドウで、通常はウィンドウの上部にある表示フィルタ入力フィールドを見つけます。
- 表示フィルタ式を入力し、Enter キーを押します。
以下は、HTTP トラフィックのみを表示する表示フィルタの例です。
http
このフィルタは、HTTP プロトコルを使用しているキャプチャ済みのパケットのみを表示します。
表示フィルタ構文
Wireshark の表示フィルタ構文は、キャプチャフィルタ構文に似ていますが、いくつかの追加機能があります。一般的な表示フィルタ式には以下のようなものがあります。
- プロトコルフィルタ:
tcp,udp,icmp - ポートフィルタ:
tcp.port == 80,udp.port == 53 - IP アドレスフィルタ:
ip.src == 192.168.1.100,ip.dst == 8.8.8.8 - 論理演算子:
and,or,not - フィールド固有のフィルタ:
http.request.method == "GET",dns.qry.name contains "example.com"
表示フィルタ式の包括的なリストは、Wireshark のドキュメントで確認できます。
キャプチャフィルタと表示フィルタの組み合わせ
キャプチャフィルタと表示フィルタは異なる目的を持っていることに注意する必要があります。キャプチャフィルタは記録するトラフィックを決定し、表示フィルタは Wireshark インターフェイスに表示するトラフィックを決定します。
多くの場合、分析ワークフローを最適化するために、キャプチャフィルタと表示フィルタの両方を組み合わせて使用することが望ましいです。たとえば、キャプチャフィルタを使用して収集するデータ量を制限し、その後表示フィルタを使用してキャプチャしたデータ内の特定の種類のトラフィックに焦点を当てることができます。
まとめ
このチュートリアルでは、ネットワーク分析とトラブルシューティングに欠かせないサイバーセキュリティツールである Wireshark のキャプチャフィルタと表示フィルタの違いを探りました。これらのフィルタの異なる役割と用途を理解することで、Wireshark を効果的に活用してサイバーセキュリティの監視とインシデント対応能力を強化し、最終的に組織全体のセキュリティ態勢を強化することができます。


