Tshark で IPv6 トラフィックを解析する

WiresharkWiresharkBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Wireshark のコマンドラインツールである Tshark を使用して IPv6 ネットワークトラフィックを分析する方法を学びます。IPv6 フィルターを使用してパケットをキャプチャし、ホップ制限やトラフィッククラスなどの特定のパケット詳細を調べるなどの基本的な技術を練習します。

実践的な演習を通じて、実際の IPv6 トラフィックをキャプチャし、保存されたキャプチャを分析するために表示フィルターを適用する経験を積みます。この実験では、Tshark の強力な機能を使用した基本的なコマンドから高度な分析方法までをカバーしています。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/capture_filters("Capture Filters") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") subgraph Lab Skills wireshark/packet_capture -.-> lab-548911{{"Tshark で IPv6 トラフィックを解析する"}} wireshark/display_filters -.-> lab-548911{{"Tshark で IPv6 トラフィックを解析する"}} wireshark/capture_filters -.-> lab-548911{{"Tshark で IPv6 トラフィックを解析する"}} wireshark/packet_analysis -.-> lab-548911{{"Tshark で IPv6 トラフィックを解析する"}} end

-f "ip6" で IPv6 をキャプチャする

このステップでは、Wireshark のキャプチャフィルタオプション -f "ip6" を使用して IPv6 ネットワークトラフィックをキャプチャする方法を学びます。このフィルタを使用すると、ネットワークスニッフィングの過程で IPv6 パケットのみがキャプチャされます。IPv6 はインターネットプロトコルの最新バージョンで、より大きなアドレス空間を持ち、IPv4 の代替として設計されています。ネットワークトラフィックを分析する際には、キャプチャのノイズを減らすために、IPv6 のような特定のプロトコルに焦点を当てることがよくあります。

  1. まず、LabEx 仮想マシン (VM) でターミナルを開きます。Xfce デスクトップのターミナルアイコンをクリックするか、ショートカット Ctrl+Alt+T を使用します。このターミナルで、この実験のすべてのコマンドを実行します。

  2. キャプチャファイルを保存するデフォルトの作業ディレクトリに移動します。

cd ~/project
  1. IPv6 キャプチャフィルタを指定して Wireshark を起動します。このコマンドは、Wireshark に IPv6 プロトコルを使用するパケットのみをキャプチャするよう指示します。
sudo wireshark -k -f "ip6" -i any

このコマンドを分解して説明します。

  • -k:Wireshark が起動すると同時にキャプチャを開始します。
  • -f "ip6":IPv6 キャプチャフィルタを適用します(IPv6 パケットのみがキャプチャされます)。
  • -i any:すべての利用可能なネットワークインターフェイスからキャプチャします。
  1. Wireshark の GUI が開き、IPv6 パケットのみがキャプチャされるはずです。ネットワーク上に IPv6 トラフィックがない場合(多くの環境では一般的です)、IPv6 アドレスを ping することでテストトラフィックを生成できます。
ping6 -c 4 ipv6.google.com

ping6 コマンドは、IPv6 の接続性をテストするために ICMPv6 パケットを送信します。-c 4 オプションは、4 つのパケットを送信した後に停止します。

  1. Wireshark でキャプチャされたパケットを観察します。表示されるすべてのパケットは IPv6 パケットであるはずです。パケットリストには、次のような基本情報が表示されます。

    • 送信元 IPv6 アドレス(パケットの送信元)
    • 宛先 IPv6 アドレス(パケットの宛先)
    • プロトコル(IPv6 トラフィックの種類)
    • パケットの長さなどの基本的な詳細
  2. 分析が終了したら、キャプチャを停止するには、Wireshark のツールバーにある赤い四角の「停止」ボタンをクリックします。これにより、パケットの表示が凍結され、新しいパケットが分析に干渉することなく、キャプチャされたトラフィックを調べることができます。

-Y "ipv6" で IPv6 パケットをフィルタリングする

このステップでは、Wireshark の表示フィルタオプション -Y "ipv6" を使用して、キャプチャした IPv6 トラフィックを分析するための表示フィルタを適用する方法を学びます。このフィルタを使用すると、既存のキャプチャファイルから IPv6 パケットのみを表示し、他のプロトコルのパケットを無視して IPv6 トラフィックに焦点を当てることができます。

  1. まず、前のステップでキャプチャファイルがあることを確認します。ない場合は、まず IPv6 トラフィックをキャプチャします。次のコマンドは、すべてのインターフェイスで IPv6 パケットのみをキャプチャするよう Wireshark を起動します。
cd ~/project
sudo wireshark -k -f "ip6" -i any -w ipv6_capture.pcapng

(十分なパケットをキャプチャするために 10 - 15 秒間実行し、その後 Wireshark の停止ボタンをクリックしてキャプチャを停止します)

  1. ここで、Wireshark の表示フィルタ機能を使用して、キャプチャした IPv6 パケットをフィルタリングします。-Y オプションを使用すると、キャプチャファイルから表示する内容を指定できます。
sudo wireshark -r ipv6_capture.pcapng -Y "ipv6"

このコマンドは主に 2 つのことを行います。

  • -r:Wireshark に指定されたキャプチャファイル (ipv6_capture.pcapng) から読み取るよう指示します。
  • -Y:表示フィルタ "ipv6" を適用し、IPv6 パケットのみを表示します。
  1. Wireshark が開くと、インターフェイスには IPv6 パケットのみが表示されます。上部の表示フィルタバーには、アクティブなフィルタとして "ipv6" が表示されていることに注意してください。これは、すべての非 IPv6 パケットが一時的に表示から隠されていることを意味します。

  2. 表示フィルタの動作を理解するために、もう少し具体的な IPv6 フィルタを試してみましょう。これらの例は、トラフィックを絞り込む方法を示しています。

## IPv6 ICMP パケットのみをフィルタリングする (ping6 トラフィックのような)
sudo wireshark -r ipv6_capture.pcapng -Y "icmpv6"

## 特定のアドレスを含む IPv6 トラフィックをフィルタリングする (ここではローカルホスト ::1 を例として使用)
sudo wireshark -r ipv6_capture.pcapng -Y "ipv6.addr == ::1"
  1. 異なるフィルタを試すと、パケットリストがすぐに更新されるのを観察してください。このリアルタイムフィルタリングにより、大きなキャプチャファイル内の特定のトラフィックパターンをすばやく見つけることができます。表示フィルタの構文は強力で、条件を組み合わせて非常に具体的なフィルタを作成することができます。

-z ip6_hop,tree でホップ制限を確認する

このステップでは、Wireshark の統計機能を使用して IPv6 のホップ制限 (Hop Limit) 値を分析する方法を学びます。IPv6 のホップ制限フィールドは、IPv4 の TTL (Time To Live) フィールドに似ています。これは、パケットが破棄される前に通過できるルーター (ホップ) の数を指定します。これは、パケットがネットワーク内で無限に循環するのを防ぐ重要なメカニズムです。

  1. まず、キャプチャファイルを操作するプロジェクトディレクトリに移動します。これにより、すべてのファイルが一箇所に整理されます。
cd ~/project
  1. まだキャプチャファイルを作成していない場合は、ここで IPv6 トラフィックを具体的にキャプチャするファイルを作成します。-f "ip6" フィルタは、Wireshark に IPv6 パケットのみをキャプチャするよう指示し、-i any はすべての利用可能なインターフェイスを監視することを意味します。
sudo wireshark -k -f "ip6" -i any -w ipv6_hoplimit.pcapng

(十分なパケットを収集するために 10 - 15 秒間キャプチャを実行し、その後 Wireshark の停止ボタンをクリックして停止します)

  1. ここで、Tshark (Wireshark のコマンドラインバージョン) を使用してホップ制限値を分析します。-z ip6_hop,tree オプションは、キャプチャしたパケット内のホップ制限値の分布を示す統計ツリーを生成します。
sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,tree
  1. 出力には、パケット内で見つかった各ホップ制限値に関する 3 つの重要な情報が表示されます。
  • 実際のホップ制限値(一般的な値は 64、128、または 255)
  • その特定のホップ制限を持つパケットの数
  • その値が総パケット数に占める割合
  1. 典型的な出力は次のようになります。実際の数値はネットワークトラフィックによって異なります。
===================================================================
IPv6 Hop Limit Tree
===================================================================
Hop Limit    Count     %
      64       12    60%
     128        6    30%
     255        2    10%
===================================================================
  1. IPv6 アドレスを含むより詳細な表示をするには、このコマンドを使用できます。-q オプションは、パケット数情報を抑制することで、出力を簡潔にします。
sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,ipv6 -q

-V で詳細を表示する

このステップでは、Wireshark の詳細モードを使用して IPv6 パケットを詳細に調査する方法を探ります。-V フラグは、ネットワークパケットを構成するすべての技術的詳細をレイヤーごとに確認する必要がある場合に特に役立ちます。これにより、IPv6 通信において異なるプロトコルがどのように相互作用するかを理解するのに役立ちます。

  1. まず、正しい作業ディレクトリに移動しましょう。これにより、キャプチャファイルに簡単にアクセスできます。
cd ~/project
  1. まだキャプチャファイルがない場合は、IPv6 トラフィック用の新しいキャプチャファイルを作成します。次のコマンドは、リアルタイムキャプチャを開始します。
sudo wireshark -k -f "ip6" -i any -w ipv6_verbose.pcapng

(十分なデータを収集するために約 10 - 15 秒間キャプチャを実行し、その後手動で停止します)

  1. ここで、tshark を使用してキャプチャしたパケットを詳細に調査します。詳細モード (-V) を使用すると、完全な詳細が表示されます。
sudo tshark -r ipv6_verbose.pcapng -V -c 5

このコマンドを分解すると:

  • -r:読み取る入力ファイルを指定します。
  • -V:すべてのプロトコルレイヤーを表示する詳細出力を有効にします。
  • -c 5:初期分析を容易にするために、出力を 5 つのパケットに制限します。
  1. 出力にはいくつかの重要なセクションが表示されます。
  • フレーム情報(パケットがいつ、どのようにキャプチャされたかを示す)
  • イーサネットレイヤー(MAC アドレスとリンクレイヤーの詳細)
  • IPv6 の詳細(バージョン、トラフィッククラス、フローラベルなど)
  • トランスポートレイヤープロトコル(TCP、UDP、または ICMPv6 かどうか)
  • 利用可能な場合は実際のペイロードデータ
  1. 特定のプロトコルを扱う場合、フィルタと詳細出力を組み合わせることができます。この例では、ICMPv6 パケットのみに焦点を当てています。
sudo tshark -r ipv6_verbose.pcapng -Y "icmpv6" -V -c 3
  1. ドキュメント化または後の分析のために、詳細出力をテキストファイルに保存することができます。これにより、調査の永続的な記録が作成されます。
sudo tshark -r ipv6_verbose.pcapng -V > ipv6_packet_details.txt

まとめ

この実験では、Wireshark のコマンドラインツールである Tshark を使用して IPv6 トラフィックを分析する主要な技術を学びました。-f "ip6" フィルタを使用して IPv6 パケットをキャプチャし、-i any を使用してインターフェイスを監視する練習を行い、ping6 テストトラフィックで結果を検証しました。

さらに、-Y "ipv6" のような表示フィルタを適用して高度な IPv6 分析を行い、-z ip6_hop,tree でホップ制限を調査し、-V 詳細オプションを使用してパケットの詳細な構造を表示することも学びました。これらのスキルにより、ネットワーク環境における IPv6 トラフィックの効率的な検査とトラブルシューティングが可能になります。