Tshark でのプロトコル無効化

WiresharkWiresharkBeginner
今すぐ練習

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

はじめに

この実験では、Wireshark のコマンドラインツール tshark で、プロトコルを選択的に無効化および有効化することで、プロトコル解析を制御する方法を学びます。-r オプションを使用してパケットキャプチャを読み取り、--disable-protocol udp を使用して UDP トラフィックを除外し、詳細出力 (-V) で結果を検証する操作を練習します。

演習では、プロトコルフィルタリング、出力比較、および表示制御に関する実践的な経験を積むことができます。構造化された実験環境で、サンプルの capture.pcap ファイルを使用しながら、重要な tshark コマンドを学習します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/display_filters -.-> lab-548922{{"Tshark でのプロトコル無効化"}} wireshark/protocol_dissection -.-> lab-548922{{"Tshark でのプロトコル無効化"}} wireshark/packet_analysis -.-> lab-548922{{"Tshark でのプロトコル無効化"}} wireshark/commandline_usage -.-> lab-548922{{"Tshark でのプロトコル無効化"}} end

-r capture.pcap でファイルを読み取る

このステップでは、Wireshark のコマンドラインツール tshark-r オプションとともに使用して、パケットキャプチャファイルを読み取る方法を学びます。これは、事前に記録されたキャプチャファイルからネットワークトラフィックを解析する最初のステップです。-r フラグは、tshark に対して、ライブのネットワークトラフィックをキャプチャするのではなく、ファイルからパケットを読み取るよう指示します。

  1. まず、パケットキャプチャファイルが保存されている正しい作業ディレクトリにいることを確認します。tshark がファイルを見つけるためには、この情報が必要なので重要です。

    cd ~/project
  2. 実験環境には、capture.pcap という名前のサンプルパケットキャプチャファイルが用意されています。進む前に、その存在を確認し、そのプロパティをチェックしましょう。ls -l コマンドは、サイズやパーミッションを含む詳細なファイル情報を表示します。

    ls -l capture.pcap

    以下のような出力が表示されるはずです。

    -rw-r--r-- 1 labex labex 12345 Jan 1 00:00 capture.pcap
  3. 次に、tshark でキャプチャファイルを読み取ります。基本的なコマンドでは、タイムスタンプ、送信元/宛先アドレス、およびプロトコルを含む各パケットの概要が表示されます。

    tshark -r capture.pcap
  4. より詳細な解析のために、-V フラグを使用して詳細出力を表示することができます。これにより、すべてのプロトコル詳細とパケット内容が階層形式で表示され、特定のプロトコルフィールドを調べる必要がある場合に便利です。

    tshark -r capture.pcap -V
  5. 大きなキャプチャファイルを扱う場合、出力を制限したいことがあります。-c オプションを使用すると、表示するパケットの数を指定できます。ここでは、最初の 5 つのパケットのみを表示しています。

    tshark -r capture.pcap -c 5

--disable-protocol udp で UDP を無効化する

このステップでは、Wireshark のコマンドラインツール tshark を使用してパケットキャプチャを解析する際に、UDP (User Datagram Protocol) トラフィックをフィルタリングする方法を学びます。UDP は一般的なトランスポート層プロトコルですが、TCP などの他のプロトコルの解析に集中するために、UDP を除外したい場合があります。--disable-protocol オプションを使用すると、解析中に UDP パケットを完全に無視することができます。

  1. まず、パケットキャプチャファイルがある正しい作業ディレクトリにいることを確認します。これにより、すべてのコマンドが正しいファイルで動作するようになります。

    cd ~/project
  2. キャプチャファイルを読み取る際に UDP プロトコルの解析を無効にするには、--disable-protocol オプションの後にプロトコル名を指定します。これにより、tshark は UDP を使用するすべてのパケットの処理をスキップします。

    tshark -r capture.pcap --disable-protocol udp
  3. このフィルタリングされた出力を、ステップ 1 の元のフィルタリングされていない出力と比較してみましょう。head -n 10 コマンドを使用すると、出力の最初の 10 行のみを表示して、比較が容易になります。

    tshark -r capture.pcap --disable-protocol udp | head -n 10

    出力から UDP パケットがなくなっていることに気づくはずです。

  4. UDP パケットが除外されていることを適切に検証するために、フィルターを適用する前後でパケットをカウントすることができます。最初のコマンドは元のファイル内のすべての UDP パケットをカウントし、2 番目のコマンドは UDP の処理を無効にしているため、0 を返すはずです。

    ## Count all UDP packets in original capture
    tshark -r capture.pcap -Y "udp" | wc -l
    
    ## Count UDP packets after disabling protocol (should be 0)
    tshark -r capture.pcap --disable-protocol udp -Y "udp" | wc -l
  5. プロトコルの無効化を他の表示フィルターと組み合わせることができます。この例では、処理レベルですべての UDP パケットを完全に無視しながら、TCP トラフィックのみを表示します。

    tshark -r capture.pcap --disable-protocol udp -Y "tcp"

    なお、--disable-protocol は表示フィルター (-Y) とは異なる動作をします。--disable-protocol は、tshark がプロトコルを処理しないようにするのに対し、表示フィルターは単に表示から隠すだけです。

-V で除外の検証

このステップでは、Tshark が UDP パケットを解析から正しく除外していることを検証します。詳細表示 (-V) フラグを使用すると、詳細なパケット情報を確認できるため、--disable-protocol udp 設定が正しく機能しているかどうかを確認するのに役立ちます。ネットワーク解析では、特定のプロトコルに焦点を当て、他のプロトコルを無視することが多いため、この検証は重要です。

  1. まず、パケットキャプチャファイルが保存されている正しい作業ディレクトリにいることを確認します。

    cd ~/project
  2. 次に、プロトコル無効化フラグと詳細表示フラグの両方を使用して tshark を実行します。head -n 30 コマンドを使用すると、出力の最初の 30 行のみを表示するため、レビューが容易になります。

    tshark -r capture.pcap --disable-protocol udp -V | head -n 30

    出力を注意深く調べてください。パケットの詳細なプロトコル情報が表示されるはずですが、UDP に関連する内容は表示されないはずです。

  3. UDP プロトコルが除外されていることを具体的に確認するために、出力内で "UDP" を検索するために grep を使用します。wc -l コマンドは一致する行数をカウントします。

    tshark -r capture.pcap --disable-protocol udp -V | grep -i "udp" | wc -l

    カウントが 0 であれば、Tshark が UDP パケットを処理していないことが確認できます。0 より大きい数値が表示された場合は、除外が正しく機能していません。

  4. 比較のために、プロトコルを無効化しない通常の詳細出力がどのようになるかを見てみましょう。

    tshark -r capture.pcap -V | grep -i "udp" | head -n 5

    このコマンドは、キャプチャファイルに UDP パケットが存在する場合、それらを表示する可能性があります。この出力と前のコマンドの出力の違いが、--disable-protocol udp の効果を示しています。

  5. 最後に、パケットレベルでのプロトコル除外を検証するために、1 つのパケットのみを詳細に調べましょう。

    tshark -r capture.pcap --disable-protocol udp -V -c 1

    -c 1 オプションは、出力を 1 つのパケットに制限します。このパケットの出力のプロトコルレイヤーを確認してください。プロトコル階層内に UDP の記述がないはずです。

--enable-protocol udp で再有効化する

このステップでは、tshark で UDP プロトコルの解析を無効にした後、どのように再び有効にするかを学びます。DNS、ビデオストリーミング、その他のリアルタイムアプリケーションで一般的に使用される UDP パケットを含むすべてのネットワークトラフィックを再度解析する必要がある場合、この操作は重要です。

  1. まず、パケットキャプチャファイルが保存されている正しい作業ディレクトリにいることを確認します。

    cd ~/project

    このコマンドは、パケットキャプチャファイル (capture.pcap) を操作するプロジェクトディレクトリに移動します。

  2. UDP プロトコルの解析を再び有効にするには、--enable-protocol オプションの後にプロトコル名を指定します。

    tshark -r capture.pcap --enable-protocol udp

    これにより、tshark はキャプチャファイルを読み取る際に再び UDP パケットを処理するようになります。

  3. UDP パケットが現在処理されていることを確認するために、パケットをカウントしましょう。

    tshark -r capture.pcap --enable-protocol udp -Y "udp" | wc -l

    -Y "udp" フィルターは UDP パケットのみを表示し、wc -l はそれらをカウントします。キャプチャファイルに UDP パケットが存在する場合、それらが表示されるはずです。

  4. 明確に違いを確認するために、UDP を有効にした場合と無効にした場合の出力を比較しましょう。

    ## With UDP enabled (should display UDP packets)
    tshark -r capture.pcap --enable-protocol udp -Y "udp" | head -n 5
    
    ## With UDP disabled (should show empty output)
    tshark -r capture.pcap --disable-protocol udp -Y "udp" | head -n 5

    head -n 5 は、迅速な比較のために出力の最初の 5 行のみを表示します。

  5. 完全に確認するために、詳細出力に UDP プロトコルの詳細が表示されることを確認しましょう。

    tshark -r capture.pcap --enable-protocol udp -V | grep -i "User Datagram Protocol" | head -n 3

    -V は詳細なパケット情報を表示し、UDP プロトコルヘッダーをフィルタリングして、再び処理されていることを確認します。

まとめ

この実験では、サンプルのパケットキャプチャファイルを使用して、tshark を用いたプロトコル解析の方法を学びました。ファイル読み取り用の -r や詳細出力用の -V などの基本的なコマンドを練習し、これらが tshark でのパケット解析の基礎を形成することを理解しました。

また、この実験ではプロトコルフィルタリング技術についても学びました。具体的には、--disable-protocol udp を使用して UDP トラフィックを無効にする方法を学びました。フィルタリングされた出力とされていない出力を比較することで、解析中に特定のプロトコルトラフィックを効果的に分離する方法を確認しました。