Wireshark でネットワークトラフィックをキャプチャと分析

WiresharkBeginner
オンラインで実践に進む

はじめに

この実験 (lab) では、一般的なネットワークプロトコルアナライザである Wireshark を使用して、ネットワークトラフィックをキャプチャおよび分析する方法を学びます。ネットワークトラフィック分析はサイバーセキュリティにおいて不可欠であり、潜在的な脅威の特定やネットワーク活動の監視を可能にします。

この実験 (lab) を終えるまでに、Wireshark を使用してネットワークパケットをキャプチャおよび分析する実践的な経験を積むことができます。これは、セキュリティインシデントの調査に役立つ貴重なスキルです。

ネットワークトラフィックのキャプチャ

このステップでは、Wireshark を起動し、ネットワークトラフィックをキャプチャして、分析のために保存する方法を学びます。ネットワークパケットのキャプチャにより、ネットワークインターフェースを流れるすべてのデータを表示できるようになり、ネットワーク通信の可視性が向上します。

ネットワークパケットとは (What is a Network Packet?)

始める前に、ネットワークパケットとは何かを理解しましょう。パケットとは、ネットワーク上で送信されるフォーマットされたデータユニットです。インターネット上で何らかのアクティビティ(ウェブサイトへのアクセス、メールの送信、ビデオの視聴など)を実行すると、データはより小さなチャンクまたは「パケット」に分割され、ネットワークを介して宛先に送信されます。

各パケットには以下が含まれます。

  • 送信元アドレスと宛先アドレス(手紙の送信者と受信者のアドレスに類似)
  • ペイロード (Payload)(実際のデータまたはメッセージの内容)
  • メタデータ (Metadata)(パケットの処理方法に関する情報)

実際のアプリケーション (Real-world application): サイバーセキュリティでは、パケット構造を理解することは、疑わしい動作を検出するための基本です。たとえば、異常な送信元アドレスまたは宛先ポートを持つパケットは、誰かがネットワークをスキャンしようとしていることを示している可能性があります。

Wireshark の起動 (Launch Wireshark)

まず、ターミナルで次のコマンドを実行して Wireshark を開きます。

wireshark

このコマンドを実行すると、Wireshark アプリケーションが開きます。利用可能なネットワークインターフェースを表示する Wireshark のメインインターフェースが表示されます。

出力は次のようになります。

Wireshark Main Interface Screenshot

初心者向けの注意 (Note for beginners): Wireshark を初めて使用する場合は、表示されるすべてのオプションについて心配する必要はありません。ここでは、基本的なパケットキャプチャと分析に必要な重要な機能に焦点を当てます。

ネットワークインターフェースの選択 (Select a Network Interface)

パケットをキャプチャする前に、監視するネットワークインターフェースを選択する必要があります。各インターフェースは、システム上の異なるネットワーク接続を表します。

Wireshark のメインウィンドウには、利用可能なネットワークインターフェースのリストが表示されます。各インターフェースの横には、現在のアクティビティを示す小さなグラフがあります。

この実験 (lab) では、eth1 インターフェースをダブルクリックします。これは通常、メインの Ethernet インターフェースです。eth1 が表示されない場合は、アクティビティ(動いているグラフ)が表示されているインターフェースを選択してください。

ヒント (Tip): 各インターフェースの横にあるグラフは、そのインターフェース上のネットワークアクティビティのレベルを示しています。アクティビティが多いインターフェースを選択すると、より興味深いキャプチャ結果が得られます。

何が起こっているか (What's happening): インターフェースを選択すると、Wireshark にどの「ネットワークパイプ」をリッスンするかを指示します。異なるインターフェースは、異なる種類のトラフィックを表示する場合があります。たとえば、Wi-Fi と Ethernet 接続などです。

パケットのキャプチャ開始 (Start Capturing Packets)

インターフェースを選択すると、Wireshark は自動的にパケットのキャプチャを開始します。開始しない場合は、ツールバーの青いサメのひれアイコンをクリックするか、Ctrl+E を押して、手動でキャプチャを開始できます。

キャプチャが実行されると、メインウィンドウにパケットがリアルタイムで表示されます。

Wireshark capturing network traffic

分析のために十分なネットワークトラフィックを収集するために、キャプチャを約 30〜60 秒間実行します。

セキュリティに関する注意 (Security Note): Wireshark は、選択したネットワークインターフェースを流れるすべてのトラフィックをキャプチャすることを忘れないでください。本番環境または共有ネットワークで使用する場合は、そのような監視を実行する許可があることを確認してください。機密情報がキャプチャされる可能性があります。

期待されること (What to expect): キャプチャ中、さまざまな色の線がディスプレイに急速に表示される可能性があります。各行はパケットを表し、色は異なるプロトコル (TCP は青、HTTP は薄緑など) を示します。

パケットリストの理解 (Understanding the Packet List)

キャプチャ中に、Wireshark ウィンドウのメインパケットリストを観察します。各行は単一のパケットを表し、いくつかの列の情報があります。

  • No.: このキャプチャセッションのパケット番号
  • Time: パケットがキャプチャされた時刻
  • Source: 送信デバイスの IP アドレスまたはホスト名
  • Destination: 受信デバイスの IP アドレスまたはホスト名
  • Protocol: 使用されたネットワークプロトコル (TCP, UDP, HTTP など)
  • Length: パケットのサイズ (バイト単位)
  • Info: パケットに関する追加の詳細

Wireshark は、さまざまなプロトコルを強調表示するために異なる色を使用しており、異なる種類のトラフィックを簡単に識別できます。

詳細 (Deep Dive): カラーコーディングは、Wireshark の強力な機能です。たとえば、赤はエラーを示すためによく使用され、薄い青は TCP トラフィック、薄い緑は HTTP トラフィックに使用されます。この視覚的なヒントは、関心のあるトラフィックをすばやく識別するのに役立ちます。

並べ替えのヒント (Sorting tip): 任意の列ヘッダーをクリックして、パケットリストを並べ替えることができます。たとえば、「Protocol」ヘッダーをクリックすると、同様のプロトコルがグループ化されます。これは、特定の種類のトラフィックを探す場合に役立ちます。

キャプチャの停止 (Stop the Capture)

30〜60 秒間キャプチャした後、ツールバーの赤い四角いアイコンをクリックするか、Ctrl+E をもう一度押して、キャプチャを停止します。

なぜ停止するのか (Why stop?): Wireshark はパケットを無期限にキャプチャできますが、妥当な期間後に停止すると、ファイルサイズを管理しやすくし、分析を容易にすることができます。特定の調査では、より長い期間キャプチャを実行する場合があります。

キャプチャされたパケットの保存 (Save the Captured Packets)

次に、キャプチャされたネットワークトラフィックを後で分析するために保存しましょう。

  1. Wireshark ウィンドウの上部にあるメニューの File をクリックします
  2. Save As を選択します
  3. /home/labex/project ディレクトリに移動します
  4. ファイル名として capture.pcapng を入力します
  5. Save ボタンをクリックします

保存ダイアログは次のようになります。

Save captured packets dialog in Wireshark

.pcapng ファイル形式は、パケットキャプチャを保存するための Wireshark のネイティブ形式です。これには、キャプチャされたパケットに関するすべての情報が含まれており、Wireshark で再度開いてさらに分析できます。

拡張知識 (Extended Knowledge): Wireshark は、古い .pcap 形式や、インポート/エクスポート用の他の形式もサポートしています。.pcapng 形式は、複数のインターフェースキャプチャやパケットアノテーションのサポートなど、古い .pcap 形式よりも多くの機能を提供します。

これで、ネットワークトラフィックのキャプチャに成功し、分析のために保存しました。次のステップでは、このキャプチャされたデータを分析する方法を探ります。

Wireshark インターフェースの理解

ネットワークトラフィックをキャプチャしたので、Wireshark のインターフェースを使用して分析する方法を学びましょう。このインターフェースを理解することは、効果的なネットワークトラフィック分析に不可欠です。

Wireshark インターフェースのレイアウト (The Wireshark Interface Layout)

Wireshark インターフェースは、主に 3 つのペインに分かれています。

  1. パケットリストペイン (Packet List Pane) (上): キャプチャされたすべてのパケットを基本的な情報とともに表示します。
  2. パケット詳細ペイン (Packet Details Pane) (中央): 選択したパケットに関する詳細情報を表示します。
  3. パケットバイトペイン (Packet Bytes Pane) (下): 選択したパケットの生データ (raw data) を 16 進数および ASCII 形式で表示します。

パケットを詳細に調べるには、パケットリストペインでそれをクリックするだけです。そのパケットの詳細は、下のペインに表示されます。

Wireshark Interface Layout Illustration

この 3 ペインレイアウト設計により、高レベルの概要と低レベルの詳細の両方を表示できるため、包括的なネットワーク分析に不可欠です。

カスタマイズのヒント (Customization Tip): Wireshark では、インターフェースレイアウトをカスタマイズできます。各ペインの間の仕切りをドラッグしてサイズを変更したり、仕切りを右クリックして「Hide (非表示)」を選択してペインを完全に非表示にしたりできます。誤ってペインを非表示にした場合は、メニューの View (表示) > Panes (ペイン) から復元できます。

Wireshark インターフェースのナビゲーション (Navigating the Wireshark Interface)

パケットを詳細に検査するには:

  1. パケットリストペインでパケットをクリックします。
  2. そのパケットの詳細は、下のペインに表示されます。
  3. パケット詳細ペインを参照して、パケットに関する構造化された情報を表示します。
  4. パケットバイトペインを表示して、パケットの生の 16 進数および ASCII 表現を理解します。

練習のヒント (Practice Tip): パケットリストペインで異なるパケットを選択し、他の 2 つのペインが更新されて、選択したパケットに関する情報が表示される様子を観察してみてください。異なるプロトコルタイプのパケットを試して、それらに含まれるさまざまな情報を確認してください。

パケット詳細ペインの理解 (Understanding the Packet Details Pane)

パケット詳細ペインには、ネットワークプロトコルスタックを反映した階層化されたパケット情報が表示されます。

  1. フレームレイヤー (Frame Layer): パケットキャプチャに関する物理情報 (キャプチャ時間、フレーム長)
  2. イーサネットレイヤー (Ethernet Layer): MAC アドレスおよびその他のリンクレイヤー情報が含まれます。
  3. インターネットプロトコル (IP) レイヤー (Internet Protocol (IP) Layer): IP アドレス情報が含まれます。
  4. トランスポートレイヤー (TCP/UDP) (Transport Layer (TCP/UDP)): ポート番号とセッション情報が含まれます。
  5. アプリケーションレイヤー (HTTP, DNS など) (Application Layer (HTTP, DNS, etc.)): アプリケーション固有のデータが含まれます。

背景知識 (Background Knowledge): この階層化された反映は、OSI (Open Systems Interconnection) モデルまたは TCP/IP モデルに従います。これらは、ネットワーク通信の標準モデルです。これらのレイヤーを理解すると、ネットワーク通信の仕組みを理解するのに役立ちます。

視覚化 (Visualization): これらのレイヤーを、封筒の中の封筒のように考えてください。最も外側のレイヤー (Frame) には、すべてが含まれています。その内側にはイーサネットレイヤー、次に IP レイヤーなどがあります。各レイヤーは、データが宛先に正しく到達するように、独自のアドレス指定および制御情報を追加します。

パケット詳細の確認 (Checking Packet Details)

特定のパケットを深く理解するには:

  1. パケットリストペインでパケットをクリックします。
  2. パケット詳細ペインで、各フィールドの横にある矢印 (►) をクリックしてセクションを展開します。
  3. パケット詳細ペインで異なるフィールドを選択すると、対応するバイトがパケットバイトペインで強調表示されます。

これにより、低レベルの Ethernet フレームから高レベルのアプリケーションデータまで、パケットのあらゆる側面を検査できます。

たとえば、HTTP パケットを選択し、「Hypertext Transfer Protocol」セクションを展開すると、HTTP リクエストまたはレスポンスの詳細を確認できます。

  • リクエストメソッド (GET, POST など)
  • ヘッダー情報 (User-Agent, Content-Type など)
  • ステータスコードとレスポンスメッセージ

実践的な演習 (Hands-On Exercise): HTTP パケットを見つけて、その詳細を展開してみてください。リクエスト URL、ステータスコード、またはその他の興味深い HTTP ヘッダー情報を確認してください。HTTP パケットが見つからない場合は、ネットワーク上でウェブサイトを開いて、HTTP トラフィックを生成してみてください。

トラブルシューティングのヒント (Troubleshooting Tip): ネットワークの問題を調査する場合は、赤で強調表示されているフィールドや、「error (エラー)」、「warning (警告)」、「malformed (不正な形式)」などの単語が含まれているフィールドに特に注意してください。これらは、ネットワークの問題を引き起こしている可能性のある潜在的な問題を示していることがよくあります。

Wireshark のナビゲーションツールの使用 (Using Wireshark's Navigation Tools)

Wireshark には、キャプチャの参照に役立ついくつかの便利なナビゲーションツールが用意されています。

  • フィルタツールバー (Filter Toolbar): メインウィンドウの上部にあり、表示されるパケットをフィルタリングできます。
  • ズームツール (Zoom Tools): 時間軸ビューを拡大または縮小できます。
  • カラーコーディング (Color Coding): さまざまな種類のパケットは異なる色を使用しているため、視覚的に識別しやすくなります。
  • 検索機能 (Find Feature) (Ctrl+F): パケットコンテンツ内の特定の情報を検索できます。

時間表示オプション (Time Display Options): デフォルトでは、Wireshark はキャプチャの開始からの相対時間を表示します。Time (時間) 列を右クリックし、絶対時間や日付と時刻など、別の「Time Display Format (時間表示形式)」を選択することで、これを変更できます。

ナビゲーションショートカット (Navigation Shortcut): Ctrl+G を押して特定のパケット番号にジャンプします。これは、大規模なキャプチャを分析する場合や、ドキュメント内の特定のパケットへの参照を追跡する場合に役立ちます。

これらのツールに慣れることで、ネットワークキャプチャをより効果的に参照および分析できるようになります。

表示フィルタの使用

表示フィルタは、Wireshark の最も強力な機能の 1 つであり、特定の種類のトラフィックに焦点を当てることができます。これにより、関心のあるパケットのみを表示することで、分析がより管理しやすくなります。

フィルタが重要な理由 (Why Filters are Important)

キャプチャに数千、あるいは数百万ものパケットがあると想像してみてください。そのような大量のデータから特定の情報を見つけるのは非常に困難です。表示フィルタを使用すると、「検索範囲を絞り込み」、分析に関連するパケットのみに絞り込むことができます。

実際の例 (Real-world example): Web アプリケーションの問題をトラブルシューティングする場合、特定のサーバーへの HTTP トラフィックのみに関心がある場合があります。フィルタを使用すると、関係のないネットワークトラフィックを無視して、それらのパケットだけに瞬時に焦点を当てることができます。

基本的なフィルタの適用 (Applying Basic Filters)

フィルタを適用するには、ウィンドウの上部にあるフィルタバーにフィルタを入力します。たとえば、TCP トラフィックのみを表示するには、次のように入力します。

tcp

Enter キーを押すか、青い矢印ボタンをクリックしてフィルタを適用します。

結果として、TCP パケットのみが表示されます。

Result of filtering TCP packets

試すことができるその他の便利なフィルタを次に示します。

  • http: HTTP トラフィックのみを表示します。
  • dns: DNS トラフィックのみを表示します。
  • ip.addr == 8.8.8.8: IP アドレス 8.8.8.8 との間のトラフィックを表示します。
  • tcp.port == 443: HTTPS トラフィックのみを表示します。

フィルタをクリアして、すべてのパケットを再度表示するには、フィルタバーの横にある「X」ボタンをクリックします。

フィルタ構文のヘルプ (Filter syntax help): Wireshark のフィルタバーには、組み込みのアシスタンスがあります。入力すると、構文が有効な場合は緑色で、エラーがある場合は赤色で強調表示されます。Ctrl+Space キーを押すと、オートコンプリートの候補が表示されます。

履歴のヒント (History tip): Wireshark は、以前に使用したフィルタを記憶しています。フィルタバーの右側にある下向き矢印をクリックすると、フィルタの履歴が表示されます。

高度なフィルタリングテクニック (Advanced Filtering Techniques)

基本的なフィルタに加えて、Wireshark はより複雑なフィルタ式をサポートしています。

  1. 比較演算子 (Comparison operators): 等しい (==) だけではありません。

    • tcp.len > 100: 100 バイトを超える TCP パケット
    • frame.time_delta <= 0.1: 前のパケットからの時間差が 0.1 秒以下のパケット

Example of comparison operators in Wireshark

  1. 複合条件 (Compound conditions):

    • http && !(tcp.port == 80): HTTP トラフィックですが、標準の HTTP ポート上ではありません。
    • (ip.src == 192.168.1.100 && ip.dst == 8.8.8.8) || (ip.src == 8.8.8.8 && ip.dst == 192.168.1.100): 特定のデバイスと DNS サーバー間の通信
  2. Contains (含む) および matches (一致):

    • http contains "password": 文字列 "password" を含む HTTP トラフィック
    • tcp matches "GET [^ ]+ HTTP": GET リクエストの正規表現に一致する TCP パケット

効率化のヒント (Efficiency tip): フィルタ式を習得すると、ネットワークトラフィックの分析時の効率が大幅に向上します。よく使用するフィルタ式を保存して、すばやく適用することを検討してください。

式ビルダーの使用 (Using Expression Builder)

正確なフィルタ構文がわからない場合は、Wireshark には式ビルダーが用意されています。

  1. フィルタバーの横にある「Expression... (式...)」ボタンをクリックします。
  2. フィールド名リストを参照するか、入力を開始して検索します。
  3. フィールドを選択し、関係 (==, >, contains など) を選択して、値を入力します。
  4. 「OK」をクリックしてフィルタを適用します。

これにより、正確な構文を記憶する必要なく、複雑なフィルタを作成できます。

カラーリングルールの使用 (Using Coloring Rules)

Wireshark は、さまざまな種類のトラフィックをすばやく識別できるように、色を使用します。カラーリングルールを表示するには:

  1. メニューの View (表示) > Coloring Rules (カラーリングルール) に移動します。
  2. 現在のカラーリングルールを示すダイアログが開きます。

Coloring Rules Dialog in Wireshark

カラーリングルールは、上から下の順に適用されます。パケットに一致する最初のルールによって、その色が決まります。ルールの横にあるチェックボックスをオンまたはオフにすることで、ルールを有効または無効にできます。

表示が完了したら、カラーリングルールダイアログを閉じます。

カスタムルール (Custom rules): 特定の種類の分析を頻繁に実行するユーザーにとって、独自のカラーリングルールを作成することは非常に役立ちます。たとえば、会社の内部サーバーへのトラフィックや、関心のある特定のアプリケーションに特別な色を作成できます。

色 vs. フィルタ (Color vs. Filter): カラーリングルールはパケットを強調表示しますが、すべてを表示したままにするのに対し、フィルタは一致しないパケットをビューから実際に削除することを忘れないでください。多くの場合、カラーリングを使用して概要を把握し、次にフィルタを適用して特定の問題に焦点を当てるのが役立ちます。

TCP ストリームの追跡

Wireshark の最も強力な分析機能の 1 つは、TCP ストリームを追跡する機能です。TCP ストリームは、2 つのホスト間の会話全体を表します。

TCP ストリームとは (What is a TCP Stream?)

TCP (Transmission Control Protocol、伝送制御プロトコル) は、インターネットで使用される最も一般的な通信プロトコルの 1 つです。信頼性の高い、順序付けられたデータ転送を提供します。TCP ストリームは、単一の TCP 接続で交換されるすべてのパケットのコレクションであり、2 つのエンドポイント間の完全な会話を表します。

たとえば、ブラウザが Web サイトに接続すると、TCP 接続を確立し、その接続を介してリクエストを送信し、レスポンスを受信します。この交換全体が TCP ストリームを構成します。

重要な理由 (Why it matters): ネットワーク通信には、まとめて表示した場合にのみ意味をなす、多くの個別のパケットが含まれることがよくあります。TCP ストリーム機能は、これらの断片化された通信をまとまりのある会話に再構築し、アプリケーションレベルで何が起こっているかをはるかに理解しやすくします。

TCP ストリームの追跡 (Following a TCP Stream)

TCP ストリームを追跡するには:

  1. キャプチャで TCP パケットを見つけます (必要に応じて tcp フィルタを使用できます)。
  2. パケットを右クリックします。
  3. Follow (追跡) > TCP Stream (TCP ストリーム) を選択します。

Menu for following TCP Stream

新しいウィンドウが開き、完全な会話が表示されます。赤色のテキストはクライアントからサーバーに送信されたデータを表し、青色のテキストはサーバーからクライアントに送信されたデータを表します。

色の理解 (Understanding the colors): 赤色のテキスト (クライアントからサーバー) には、リクエスト、コマンド、またはアップロードされたデータが含まれることがよくあります。青色のテキスト (サーバーからクライアント) には、通常、レスポンス、ダウンロードされたコンテンツ、またはステータスメッセージが含まれます。このカラーコーディングは、通信の方向をすばやく理解するのに役立ちます。

TCP ストリームコンテンツの分析 (Analyzing TCP Stream Content)

TCP ストリームウィンドウには、分析に役立ついくつかのオプションがあります。

  1. コンテンツ表示オプション (Content display options) (右上隅):

    • ASCII: コンテンツをテキストとして表示します。HTTP およびその他のテキストベースのプロトコルに最適です。
    • Hex Dump (16 進ダンプ): コンテンツを 16 進数および ASCII で表示します。バイナリデータを含むストリームに役立ちます。
    • C Arrays (C 配列): データを C プログラミング言語の配列として表示します。
    • Raw (ロウ): 生データのみを表示します。

    YAML 形式を試して、データをより読みやすい形式で表示してみましょう。

    TCP Stream Window Screenshot

  2. ストリームナビゲーション (Stream navigation) (ドロップダウンメニュー):

    • キャプチャに複数の TCP ストリームが含まれている場合は、このメニューを使用してそれらをナビゲートできます。
    • ストリーム番号は 0 から始まり、検出された順に増加します。
  3. 検索機能 (Find feature):

    • Ctrl+F を使用して、ストリームコンテンツ内を検索します。
    • これは、大きなストリーム内の特定の文字列またはパターンを見つけるのに役立ちます。

分析のヒント (Analysis tip): さまざまな表示オプションを使用すると、さまざまな洞察が得られます。たとえば、「Hex Dump (16 進ダンプ)」ビューに切り替えて、左側に 16 進数の値、右側に ASCII 表現を表示します。これは、テキストとバイナリデータを混在させるプロトコルを分析する場合に役立ちます。

TCP ストリームの保存 (Saving TCP Streams)

TCP ストリームの保存は、ドキュメント化またはオフライン分析に役立ちます。

  1. TCP ストリームウィンドウの「Save As (名前を付けて保存)」ボタンをクリックします。
  2. /home/labex/project ディレクトリに移動します。
  3. ファイル名として tcp_stream.txt を入力します。
  4. 「Save (保存)」をクリックします。

Save TCP Stream Dialog Screenshot

この保存されたファイルには、TCP 会話全体のテキストが含まれており、後で確認したり、他のユーザーと共有したりできます。

興味深いストリームの検索 (Finding Interesting Streams)

実際のシナリオでは、キャプチャには数百または数千の異なる TCP ストリームが含まれていることがよくあります。興味深いものを見つけるには:

  1. 表示フィルタを使用して範囲を絞り込みます (例:http または tcp.port == 3001)。
  2. キーとなるパケット (接続の開始や特定のコンテンツを含むパケットなど) を探します。
  3. それらのパケットで「Follow TCP Stream (TCP ストリームを追跡)」機能を使用します。

特定のストリームを特定したら、そのストリームでフィルタリングすることもできます。TCP ストリームウィンドウで、「Stream index (ストリームインデックス)」の値 (「TCP Stream: 5」など) をメモします。フィルタ tcp.stream eq 5 を使用して、その特定のストリームからのすべてのパケットのみを表示できます。

調査戦略 (Investigation strategy): 潜在的なセキュリティインシデントを分析する場合は、異常なポート番号、予期しない IP アドレスへの接続、または異常な時間に発生する通信に注意してください。これらのストリームを追跡すると、悪意のあるアクティビティが明らかになることがよくあります。

TCP 通信パターンの理解 (Understanding TCP Communication Patterns)

複数の TCP ストリームを調べると、TCP 通信のパターンを認識し始めるでしょう。

  1. スリーウェイハンドシェイク (Three-way handshake): 接続を開始する SYN、SYN-ACK、ACK シーケンス
  2. データ転送 (Data transfer): メインのリクエスト - レスポンス交換
  3. フォーウェイクローズ (Four-way closure): 接続を終了する FIN および ACK シーケンス

これらのパターンを調べることで、接続の確立の失敗や早期終了など、通信の問題が発生する場所を特定できます。

統計分析ツール

Wireshark は、キャプチャの分析に役立ついくつかの統計ツールを提供しています。これらのツールは、ネットワーク全体のパターンに関する洞察を提供し、異常なアクティビティの特定に役立ちます。

統計分析が重要な理由 (Why Statistical Analysis Matters)

パケットごとの分析は詳細な調査に不可欠ですが、統計分析は次のことに役立ちます。

  • ネットワーク上の主要なアクティビティパターンを特定する
  • 異常なトラフィックまたは潜在的な問題を検出する
  • リソースの使用状況とネットワークパフォーマンスを理解する
  • 最もアクティブなホストとサービスを特定する

全体像 (The big picture): パケット分析を個々の木を調べることと考えると、統計分析は森全体を見渡すことができます。完全なネットワーク分析には、両方の視点が必要です。

統計ツールの使用 (Using Statistical Tools)

これらのツールにアクセスするには、Statistics (統計) メニューを調べて、次のオプションを試してください。

プロトコル階層 (Protocol Hierarchy)

プロトコル階層は、キャプチャ内のプロトコルの分布を示します。

  1. Statistics (統計) > Protocol Hierarchy (プロトコル階層) をクリックします。
  2. 検出されたすべてのプロトコルのツリービューを示すウィンドウが開きます。
  3. パーセンテージは、トラフィックのどれだけが各プロトコルを使用しているかを示します。

Protocol Hierarchy Example in Wireshark

このビューは、次のことをすばやく特定するのに役立ちます。

  • どのプロトコルが最も帯域幅を消費しているか
  • 予期しない、または潜在的に不要なネットワークトラフィック
  • ネットワークトラフィックの全体的な構成

分析のヒント (Analysis tip): 異常なプロトコルの分布は、ネットワークの問題またはセキュリティの問題を示している可能性があります。たとえば、異常に大量の DNS トラフィックは、DNS トンネリングアクティビティまたはマルウェア通信を示唆している可能性があります。

会話 (Conversations)

会話の統計は、エンドポイント間のすべての接続をリストします。

  1. Statistics (統計) > Conversations (会話) をクリックします。
  2. 調べたいプロトコルレベルのタブ (Ethernet、IPv4、TCP など) を選択します。
  3. リストには、どのホストが通信しているか、および交換したデータ量が示されます。

Conversations Statistics Example

このツールは、特に次のことに役立ちます。

  • どのデバイスペアが最も多くのデータを交換しているかを特定する
  • デバイス間の予期しない通信を発見する
  • 潜在的な不正接続を見つける

インタラクティブ機能 (Interactive feature): 会話を右クリックして「Apply as Filter (フィルタとして適用)」を選択すると、その会話に属するパケットのみを表示できます。これにより、特定の通信を簡単に調査できます。

エンドポイント (Endpoints)

エンドポイントの統計は、キャプチャ内のすべてのデバイスをリストします。

  1. Statistics (統計) > Endpoints (エンドポイント) をクリックします。
  2. 調べたいプロトコルレベルのタブを選択します。
  3. リストには、トラフィックに関与するすべてのデバイスが表示されます。

Endpoints Statistics in Wireshark

このツールを使用して、次のことを行います。

  • ネットワーク上で最もアクティブなデバイスを特定する
  • 不明または予期しないデバイスを見つける
  • IP アドレスまたは MAC アドレスでトラフィックパターンを分析する

ネットワークマッピング (Network mapping): エンドポイントツールは、基本的に、ネットワーク上で通信しているすべてのデバイスのマップを作成します。セキュリティのコンテキストでは、これは不正なデバイスまたは不正なシステムを特定するのに役立ちます。

I/O グラフ (I/O Graph)

I/O グラフは、時間の経過に伴うトラフィック量を表示します。

  1. Statistics (統計) > I/O Graph (I/O グラフ) をクリックします。
  2. グラフは、キャプチャの期間にわたってトラフィック量がどのように変化するかを示します。
  3. 異なるフィルタを使用して複数のグラフを追加して、異なる種類のトラフィックを比較できます。

I/O Graph Traffic Volume Visual

この視覚化は、次のことに最適です。

  • トラフィックのスパイクまたは異常なパターンを特定する
  • ネットワークイベントを時間と関連付ける
  • 同じ期間にわたって異なる種類のトラフィックを比較する

高度な使用法 (Advanced usage): 「+」ボタンをクリックして、特定の表示フィルタを使用して追加のグラフラインを追加します。たとえば、すべてのトラフィックを示す 1 つのライン、HTTP トラフィックのみを示す別のライン、および DNS トラフィックを示す 3 番目のラインを作成できます。これにより、異なるプロトコル間の関係を簡単に確認できます。

統計分析の実用的な応用 (Practical Applications of Statistical Analysis)

これらの統計ツールは、次のようなシナリオで特に役立ちます。

  • ネットワークの問題のトラブルシューティング (Troubleshooting network problems): 過剰な帯域幅を消費しているアプリケーションまたはデバイスを特定する
  • セキュリティ監視 (Security monitoring): 侵入またはマルウェアを示している可能性のある異常なトラフィックパターンを検出する
  • ネットワークベースライン (Network baseline): 将来の異常を特定するのに役立つ通常のトラフィックパターンを確立する
  • パフォーマンスの最適化 (Performance optimization): ネットワークの使用を支配しているプロトコルまたは接続を特定する

高度な統計機能 (Advanced Statistical Features)

Wireshark に慣れてきたら、次の追加の統計機能を調べてください。

  • Service Response Time (サービス応答時間): サービスがリクエストに応答するのにかかる時間を測定します。
  • HTTP Statistics (HTTP 統計): HTTP トラフィックとパフォーマンスの詳細な内訳を提供します。
  • DNS Statistics (DNS 統計): DNS クエリと応答パターンを示します。
  • Expert Information (エキスパート情報): Wireshark によって検出された潜在的な問題または異常を強調表示します。

これらの高度な統計は、特殊な分析タスクのためのより深い洞察を提供します。

おめでとうございます!これで、Wireshark を使用したネットワークトラフィックの分析の基本を学びました。これらのスキルは、より高度なネットワーク分析およびサイバーセキュリティ調査の基礎となります。

まとめ

この実験 (Lab) では、Wireshark を使用してネットワークトラフィックをキャプチャおよび分析するための重要なスキルを学びました。まず、Wireshark をインストールし、パケットキャプチャに必要な権限を設定しました。次に、システムからライブネットワークトラフィックをキャプチャし、後で分析するために保存しました。最後に、表示フィルタ (display filters)、色分けルール (coloring rules)、TCP ストリームの追跡 (following TCP streams) など、さまざまな分析手法を調査しました。

習得したスキルは、ネットワークのトラブルシューティング (troubleshooting) およびサイバーセキュリティ調査 (cybersecurity investigations) に不可欠です。ネットワークトラフィック分析 (network traffic analysis) により、セキュリティの脅威を特定し、ネットワークおよびアプリケーションの問題をトラブルシューティングし、プロトコル機能を詳細に理解し、ネットワークパフォーマンスを監視できます。サイバーセキュリティの道のりを進むにつれて、これらの基本に基づいて、マルウェア検出 (malware detection)、侵入検知 (intrusion detection)、ネットワークフォレンジクス (network forensics) などの、より高度なパケット分析手法を開発できます。