Wireshark からのパケットのエクスポート

WiresharkWiresharkBeginner
今すぐ練習

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

はじめに

この実験では、強力なネットワークプロトコルアナライザーである Wireshark からパケットをエクスポートする方法を学びます。パケットのエクスポートは、ネットワーク分析、トラブルシューティング、セキュリティ調査において重要です。また、キャプチャしたデータを同僚と共有することも可能になります。

この実験を通じて、ネットワークトラフィックをキャプチャし、特定の通信タイプを対象とするフィルターを適用し、キャプチャしたデータをさまざまな形式でエクスポートしてさらなる分析を行います。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/installation("Installation and Setup") wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") subgraph Lab Skills wireshark/installation -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} wireshark/interface -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} wireshark/packet_capture -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} wireshark/display_filters -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} wireshark/export_packets -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} wireshark/packet_analysis -.-> lab-415945{{"Wireshark からのパケットのエクスポート"}} end

Wireshark の理解とインストール

Wireshark は世界で最も広く使われているネットワークプロトコルアナライザーの 1 つです。コンピュータネットワークでは、通信はパケットと呼ばれる小さな単位を通じて行われます。パケットを、ネットワークを介してデータを運ぶ小さな封筒のように考えてください。Wireshark を使うと、これらのパケットをキャプチャし、分析することができ、ネットワークで何が起こっているかを非常に詳細なレベルで確認することができます。これは、ネットワークの顕微鏡のようなもので、データの流れや問題の有無を理解するのに役立ちます。

Wireshark の起動

まず、Wireshark を開く必要があります。これを行うには、ターミナルウィンドウを開きます。ターミナルは、コンピュータと対話するためのコマンドを入力できるテキストベースのインターフェイスです。ターミナルウィンドウを開く方法は 2 つあります。

  1. キーボードで Ctrl+Alt+T を押します。これはターミナルをすばやく開くショートカットです。
  2. または、タスクバーのターミナルアイコンをクリックすることもできます。タスクバーは通常、画面の下部または側面にあり、さまざまなアプリケーションのアイコンが含まれています。

ターミナルが開いたら、Wireshark を起動するコマンドを使用します。ターミナルで次のコマンドを入力し、Enter キーを押します。

wireshark

このコマンドを実行すると、Wireshark アプリケーションが開きます。利用可能なネットワークインターフェイスのリストが表示されます。ネットワークインターフェイスは、コンピュータがネットワーク上の他のデバイスと通信するために使用する接続で、Wi - Fi や Ethernet などがあります。

Wireshark のメインインターフェイス

Wireshark が開いたら、少し時間をかけてインターフェイスを見回してみましょう。レイアウトを理解することで、後でこのツールを使いやすくなります。

  • 上部のセクションには、利用可能なネットワークインターフェイスが表示されます。ここで、Wireshark がパケットをキャプチャするネットワーク接続を選択します。
  • 中央のセクションには、最近開いたファイルが表示されます。以前に Wireshark を使ってパケットキャプチャファイルを開いたことがある場合、それらがここにリストされ、簡単にアクセスできます。
  • 下部のセクションには、便利なリンクや機能が含まれています。これらは、ヘルプの取得や追加のツールへのアクセスなど、さまざまなタスクを支援します。

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

パケットのキャプチャを開始する前に、Wireshark インターフェイスの各部分の機能を知っておくことが重要です。この知識は、ツールを効果的に操作し、必要な情報を見つけるのに役立ちます。

  • メニューバー:他のアプリケーションと同様に、メニューバーには、ファイル、編集、表示などの一般的なアプリケーションメニューが含まれています。これらのメニューを使って、新しいファイルの開き、キャプチャの保存、表示設定の変更などの一般的な操作を行うことができます。
  • メインツールバー:メインツールバーには、一般的な機能のショートカットがあります。これらのショートカットを使うと、パケットキャプチャの開始や停止など、頻繁に使用するタスクを迅速に実行できます。
  • フィルターバー:フィルターバーは非常に便利です。キャプチャしたパケットに表示フィルターを適用することができます。これは、送信元または宛先の IP アドレスなどの特定の条件に基づいて、表示するパケットを絞り込むことができることを意味します。
  • パケットリストペイン:このペインには、キャプチャした各パケットが別々の行に表示されます。キャプチャされたすべてのパケットの概要をすばやく確認できます。
  • パケット詳細ペイン:パケットリストペインでパケットを選択すると、パケット詳細ペインにはそのパケットに関する詳細情報が表示されます。これには、使用されているプロトコル、送信元と宛先のアドレス、その他の関連データが含まれます。
  • パケットバイトペイン:このペインには、選択したパケットの生のバイトが表示されます。パケットで送信されている実際のデータを確認したい場合に便利です。

これで、Wireshark インターフェイスの基本を理解したので、ネットワークトラフィックのキャプチャを開始する準備ができました。

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

このステップでは、Wireshark の基本機能であるネットワークパケットのキャプチャ方法を学びます。パケットキャプチャは、システム上で行われているすべてのネットワーク通信を確認できる、探偵の道具のようなものです。これは、デバイスに出入りするデータの流れを明確に把握することができるため、ネットワークの問題解決や潜在的なセキュリティ脅威の分析など、様々な目的にとって不可欠です。

パケットキャプチャの開始

  1. Wireshark のメインインターフェイスで、利用可能なネットワークインターフェイスのリストが表示されていることに気付くでしょう。これらのインターフェイスは、デバイスがネットワークに接続するための異なる「ドア」のようなものです。各インターフェイスは、Wi-Fi、Ethernet、または仮想ネットワーク接続など、デバイスがデータを送受信する異なる方法を表しています。このリストを見て、パケットをキャプチャする適切なインターフェイスを選択します。

  2. eth1 インターフェイスをクリックして選択します。これはメインの Ethernet 接続です。Ethernet は、物理ケーブルを使用してデバイスをローカルネットワークに接続する一般的な方法です。eth1 を選択することで、この特定の Ethernet 接続を通過するネットワークトラフィックをキャプチャすることを選択しています。

    ネットワークインターフェイスの選択
  3. ツールバーの青いサメのヒレのアイコンをクリックして、パケットキャプチャを開始します。このアイコンは、Wireshark でパケットキャプチャを開始するボタンです。または、eth1 インターフェイスをダブルクリックすることもできます。キャプチャを開始すると、Wireshark は選択したインターフェイスを通過するすべてのネットワークパケットの収集を開始します。

  4. これで、パケットがキャプチャされ、リアルタイムで表示されるはずです。各行は 1 つのパケットを表しています。パケットの詳細には以下が含まれます。

    • パケット番号:これは各パケットの一意の識別子で、パケットがキャプチャされた順序を追跡するのに役立ちます。
    • キャプチャ開始からの経過時間:この特定のパケットがキャプチャされたときに、パケットキャプチャを開始してからどれだけの時間が経過したかを示します。
    • 送信元アドレス:これはパケットを送信したデバイスのアドレスです。データがどこから来ているかを特定するのに役立ちます。
    • 宛先アドレス:これはパケットが送信される対象のデバイスのアドレスです。データがどこに向かっているかを示します。
    • プロトコル:プロトコルは、通信に使用されるルールと標準を示します。たとえば、TCP、UDP、または HTTP は一般的なプロトコルです。
    • パケット長:これはパケットに含まれるデータの量を示します。
    • パケットに関する情報:これは、パケットの内容と目的に関するより詳細な情報を提供します。

ネットワークトラフィックの生成

もっと興味深いトラフィックを見るために、ウェブサイトを訪問して HTTP トラフィックを生成しましょう。HTTP(Hypertext Transfer Protocol)は、インターネット上でウェブページを転送するために使用されるプロトコルです。HTTP トラフィックを生成することで、ウェブサイトを訪問したときに実際に行われるデータ交換を確認することができます。

  1. Wireshark を実行したまま、Ctrl+Alt+T を押して新しいターミナルを開きます。ターミナルは、システムと対話するためのコマンドを入力できるコマンドラインインターフェイスです。

  2. curl コマンドを使用してウェブページを要求します。

    curl www.google.com

    curl コマンドは、サーバーとの間でデータを転送するためのツールです。この場合、Google のウェブページを要求するために使用しています。ターミナルの出力に Google のホームページの HTML コンテンツが表示されるはずです。これは、要求が成功し、Google サーバーからデータを受信したことを示しています。

  3. Wireshark に戻り、キャプチャされた新しいパケットを観察します。Google への要求に関連する DNS、TCP、および HTTP パケットが表示されるはずです。DNS(Domain Name System)は、www.google.com のようなドメイン名を IP アドレスに変換するために使用されます。TCP(Transmission Control Protocol)は、デバイスとサーバーの間に信頼性の高い接続を確立する役割を担っています。HTTP は、実際のウェブページデータを転送するために使用されます。

キャプチャの停止とデータの保存

  1. パケットキャプチャを停止するには、ツールバーの赤色の四角い停止ボタンをクリックします。これにより、新しいパケットの収集プロセスが停止します。

  2. これでいくつかのパケットをキャプチャしたので、それらをファイルに保存しましょう。

    • メニューバーの File をクリックします。メニューバーには、Wireshark セッションを管理するためのさまざまなオプションが含まれており、ファイルの開き、保存、エクスポートなどができます。
    • Save As を選択します。このオプションを使用すると、キャプチャしたパケットを保存するファイルの場所と名前を選択できます。
    • /home/labex/project ディレクトリに移動します。これは、キャプチャしたパケットデータを保存する場所です。
    • ファイル名として capture.pcapng を入力します。.pcapng 拡張子は、ファイルが PCAPNG 形式であることを示しており、これはネットワークパケットデータを保存するための標準形式です。
    • Save をクリックします。
    キャプチャしたパケットの保存
  3. ファイルが保存されました。PCAPNG 形式はすべてのキャプチャデータを保持し、Wireshark のデフォルト形式です。これは、キャプチャしたパケットに関するすべての詳細、たとえば送信元と宛先のアドレス、プロトコル、およびパケットの内容がファイルに保存されることを意味します。

ネットワークトラフィックを正常にキャプチャし、ファイルに保存しました。次のステップでは、特定のタイプのトラフィックに焦点を当てるために、これらのパケットをフィルタリングする方法を学びます。

パケットのフィルタリング

実際のネットワークシナリオでネットワークトラフィックをキャプチャすると、キャプチャファイルは非常に大きくなり、数千、場合によっては数百万のパケットが含まれることがあります。これらすべてのパケットを一度に分析するのは困難で非効率的です。そこでフィルタリングが役立ちます。フィルタリングは、特定のタイプのトラフィックに焦点を当てることができる重要な技術です。対象とするパケットを絞り込むことで、分析プロセスをはるかに管理しやすくし、必要な情報をより迅速に見つけることができます。

表示フィルターの理解

Wireshark には強力なフィルタリング言語が搭載されています。この言語を使用すると、特定の条件を満たすパケットのみを表示することができます。表示フィルターの一般的な使用方法をいくつか紹介します。

  • プロトコルでフィルタリング:HTTP、DNS、TCP などの特定のプロトコルのパケットを表示することができます。特定のタイプのネットワーク通信に関心がある場合に便利です。たとえば、ウェブトラフィックを調査している場合は、HTTP パケットに焦点を当てたいかもしれません。
  • IP アドレスでフィルタリング:特定の IP アドレスから送信された、または受信されたパケットを表示することができます。これにより、ネットワーク上の特定のデバイス間の通信を追跡することができます。
  • 内容でフィルタリング:特定の内容を含むパケットを表示することができます。パケット内の特定のキーワードやデータを探している場合に便利です。
  • 条件を組み合わせる:論理演算子を使用して複数の条件を組み合わせることができます。これにより、より複雑で正確なフィルターを作成することができます。

基本的なフィルターの適用

  1. まず、Wireshark でキャプチャファイルを開きます。ファイルが開いたら、Wireshark ウィンドウの上部を見てください。青い背景のテキストフィールドが表示されます。これがフィルターボックスです。フィルターボックスには、フィルター条件を入力します。

    Wireshark のフィルターボックス
  2. たとえば、HTTP トラフィックをフィルタリングしたいとします。HTTP はウェブ通信に使用されるプロトコルです。これを行うには、フィルターボックスに次のように入力します。

    http
  3. フィルターを入力した後、適用するには 2 つのオプションがあります。キーボードの Enter キーを押すか、フィルターボックスの隣の右矢印ボタンをクリックすることができます。これを行うと、Wireshark はパケットリストにフィルターを適用し始めます。

  4. フィルターを適用した後、パケットリストには HTTP パケットのみが表示されるはずです。ただし、パケットが表示されない場合は、キャプチャファイルに HTTP トラフィックが含まれていない可能性があります。その場合は、代わりにフィルター tcp を試してみることができます。TCP は基本的なトランスポート層プロトコルであり、このフィルターを使用すると、キャプチャファイル内のすべての TCP パケットが表示されます。

  5. フィルターをクリアしてすべてのパケットを再表示したい場合は、2 つの方法があります。フィルターボックスの右側にある「X」ボタンをクリックするか、ボックス内のフィルターテキストを削除してから Enter キーを押すことができます。

高度なフィルターの使用

パケット分析をさらに洗練させるために、より具体的なフィルターを探ってみましょう。

  1. たとえば、HTTP GET リクエストのみに関心があるとします。GET リクエストは、サーバーからデータを取得するために使用される一般的なタイプの HTTP リクエストです。これらのリクエストのみを表示するには、フィルターボックスに次のフィルターを入力します。

    http.request.method == "GET"
  2. Enter キーを押してフィルターを適用します。すると、Wireshark はパケットリストを検索し、HTTP GET リクエストのみを表示します。

    HTTP GET リクエストのフィルター
  3. フィルターを適用した後、パケットが表示されない場合は、キャプチャファイルに HTTP GET リクエストが含まれていない可能性があります。

  4. 次に、別のフィルターを試してみましょう。ポート 80(HTTP の標準ポート)を宛先とするすべての TCP パケットを表示したい場合は、フィルターボックスに次のフィルターを入力します。

    tcp.dstport == 80
  5. Enter キーを押してこのフィルターを適用します。

  6. フィルターを適用した後、パケットリストにはポート 80 宛てのすべての TCP パケットが表示されるはずです。

フィルターの組み合わせ

論理演算子を使用して複数のフィルターを組み合わせることで、フィルターをさらに強力にすることができます。

  1. たとえば、HTTP または DNS のパケットを表示したいとします。DNS はドメイン名を IP アドレスに変換するために使用されるプロトコルです。これをフィルタリングするには、フィルターボックスに次のように入力します。

    http or dns
  2. Enter キーを押してフィルターを適用します。

  3. フィルターを適用した後、パケットリストには HTTP と DNS の両方のパケットが表示されるはずです。

フィルタリングは Wireshark の強力な機能で、分析に最も関連するパケットに焦点を当てることができます。Wireshark の使用経験が増えるにつれて、特定のニーズに合わせたより高度なフィルターを作成することができるようになります。

パケットのエクスポート

パケットをキャプチャしてフィルタリングした後、エクスポートする必要があるのは一般的なことです。パケットをエクスポートすることで、さらなる詳細分析、ドキュメント作成、または他の人とデータを共有することができます。Wireshark はいくつかのエクスポート形式を提供しており、各形式は異なるユースケースに設計されています。

エクスポート形式の理解

Wireshark は複数のエクスポート形式をサポートしています。以下に各形式の簡単な説明を示します。

  • PCAP/PCAPNG:これはパケットキャプチャファイルのネイティブ形式です。キャプチャされたデータをそのまま保存するため、パケットデータの保存と再利用に最適です。
  • CSV (Comma - Separated Values):この形式は、パケットデータをスプレッドシートやデータベースにインポートするのに最適です。データを表形式で整理するため、一般的なデータ分析ツールを使用して簡単に分析できます。
  • TXT (Plain Text):人間が読める形式です。パケット情報を誰でも理解できる簡単なテキスト形式で提示するため、ドキュメント作成に便利です。
  • XML:構造化された形式です。スクリプトや他のツールで簡単に処理できるため、自動化分析に適しています。
  • PSML/PDML:これらは Wireshark 独自の特殊な形式です。PSML はパケットの概要に使用され、PDML は詳細なパケット情報を提供します。

特定のパケットのエクスポート

まず、キャプチャしたパケットの一部をエクスポートしてみましょう。

  1. まず、適用したすべてのフィルターをクリアする必要があります。これを行うには、フィルターボックスの「X」ボタンをクリックします。フィルターをクリアすると、キャプチャしたすべてのパケットが表示されます。このステップは、キャプチャしたすべてのパケットを完全に表示し、エクスポートしたいパケットを選択できるようにするために重要です。

    Wireshark の初期データビュー
  2. 次に、エクスポートしたいパケットを選択します。最初のパケットをクリックします。次に、Shift キーを押しながら別のパケットをクリックすると、その間のすべてのパケットが選択されます。すべてのパケットを選択するには、単に Ctrl+A を押します。

  3. パケットを選択したら、メニューバーの File をクリックします。次に、Export Specified Packets... を選択します。このオプションを使用すると、選択したパケットを特定の形式で保存することができます。

  4. 表示されるエクスポートダイアログで:

    • /home/labex/project ディレクトリに移動します。ここにエクスポートしたファイルを保存します。
    • 「Save as type」のドロップダウンを確認します。Wireshark/tcpdump/... - pcap が選択されていない場合は、選択します。PCAP 形式はパケットデータに広く使用されている形式です。
    • ファイル名として exported.pcap を入力します。これがエクスポートしたファイルの名前になります。
    • すべてのパケットを選択していない場合は、「Selected packets only」が選択されていることを確認します。これにより、選択したパケットのみがエクスポートされます。
    • 最後に、Save をクリックします。
    パケットのエクスポートダイアログ
  5. これで、選択したパケットを PCAP ファイルに正常にエクスポートしました。このファイルは、Wireshark だけでなく、PCAP 形式をサポートするすべてのツールで開くことができます。これにより、さらなる分析に異なるツールを使用する柔軟性が得られます。

CSV 形式でのエクスポート

次に、同じデータを CSV 形式でエクスポートしてみましょう。CSV 形式は、スプレッドシートアプリケーションでの分析に非常に便利です。

  1. パケットがまだ選択されていることを確認します。選択されていない場合は、Ctrl+A を押してすべてのパケットを再度選択します。次に、メニューバーの File をクリックし、Export Packet Dissections... を選択します。このオプションを使用すると、パケットデータをさまざまな形式でエクスポートすることができます。

  2. As CSV... ボタンをクリックします。これにより、エクスポート形式が CSV に設定されます。

  3. エクスポートダイアログで:

    • ファイルを保存するために /home/labex/project ディレクトリに移動します。
    • ファイル名として exported.csv を入力します。
    • Save をクリックします。
    パケットを CSV 形式でエクスポート
  4. これで、パケットデータを CSV ファイルにエクスポートしました。このファイルの内容を表示するには、ターミナルで次のコマンドを使用できます。

    head -n 10 /home/labex/project/exported.csv

    このコマンドは、CSV ファイルの最初の 10 行を表示します。列ヘッダーといくつかのパケットデータが表示され、ファイル内に何が含まれているかをすぐに確認できます。

パケットのバイト列のエクスポート

時には、パケットの実際の生バイト列をエクスポートする必要がある場合があります。以下はその方法です。

  1. パケットリストから 1 つのパケットを選択します。これが生バイト列をエクスポートしたいパケットです。

  2. パケットを右クリックし、Export Packet Bytes... を選択します。このオプションを使用すると、パケットの生データを保存することができます。

  3. エクスポートダイアログで:

    • /home/labex/project ディレクトリに移動します。
    • ファイル名として packet_bytes.bin を入力します。
    • Save をクリックします。
  4. これで、選択したパケットの生バイト列をエクスポートしました。これは、詳細な分析やパケットに埋め込まれたファイルの抽出に非常に役立ちます。

これらのエクスポートオプションは、パケットキャプチャデータの分析と共有方法に大きな柔軟性を与えます。選択する形式は、特定のニーズとさらなる分析に使用する予定のツールによって異なります。

まとめ

この実験では、強力なネットワークプロトコルアナライザーである Wireshark を使用して、ネットワークパケットをキャプチャ、フィルタリング、およびエクスポートする方法を学びました。まず、Wireshark のインターフェイスに慣れ、実際のネットワークトラフィックをキャプチャしました。次に、HTTP リクエストや TCP 通信などの特定のトラフィックタイプを対象とするフィルターを適用する方法を学びました。最後に、PCAP や CSV などの形式でパケットをエクスポートして、さらなる分析や共有を行うさまざまな方法を探りました。

これらのスキルは、ネットワーク管理者、セキュリティアナリスト、および IT プロフェッショナルにとって不可欠です。これらのスキルを使えば、ネットワーク問題の効率的なトラブルシューティング、セキュリティインシデントの調査、およびネットワークの動作の理解が可能になります。Wireshark のパケットエクスポート機能を習得することは、サイバーセキュリティとネットワーク分析にとって貴重なツールとなり、実際の IT およびセキュリティの役割で適用できるより高度な技術の基礎を築きます。