Tshark でのタイムスタンプ表示のカスタマイズ

WiresharkWiresharkBeginner
今すぐ練習

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

はじめに

この実験では、高度なネットワーク分析のために、Wireshark の tshark ユーティリティでタイムスタンプの表示をカスタマイズする方法を学びます。-r で PCAP ファイルを読み込む、UTC 形式 (-t u) やエポック時間 (-t e) でタイムスタンプをフォーマットするなどの重要なテクニックを探索します。

実践的な演習では、さまざまな分析ニーズに対応するために、異なるタイムスタンプ形式を適用する方法を案内します。tshark -r capture.pcap -t u などのコマンドを使って、タイムゾーン間での時間表示を標準化したり、正確なエポックタイミングを取得したりする練習を行います。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_analysis -.-> lab-548919{{"Tshark でのタイムスタンプ表示のカスタマイズ"}} wireshark/commandline_usage -.-> lab-548919{{"Tshark でのタイムスタンプ表示のカスタマイズ"}} end

-r capture.pcap でファイルを読み込む

このステップでは、Wireshark のコマンドラインツール tshark-r オプションとともに使用して、パケットキャプチャファイルを読み込む方法を学びます。PCAP ファイルには、ネットワークインターフェイスからキャプチャされた生のネットワークトラフィックデータが含まれており、tshark を使用すると、グラフィカルな Wireshark インターフェイスを使用せずにこのデータを分析することができます。

まず、キャプチャファイルが保存されている正しいディレクトリに移動しましょう。これにより、フルパスを指定せずにファイルにアクセスできます。

cd ~/project

-r オプション("read" の略)は、tshark に対して、ライブのネットワークトラフィックではなく、指定されたキャプチャファイルからパケットを読み込むよう指示します。この場合、典型的なネットワーク通信データが含まれる事前に用意されたサンプルファイル capture.pcap を分析します。

キャプチャファイルから基本的なパケット情報を表示するには、以下のコマンドを実行します。

tshark -r capture.pcap

このコマンドを実行すると、ファイル内のすべてのパケットが順番にリスト表示され、各行が 1 つのネットワークパケットを表します。出力にはいくつかの重要なフィールドが含まれます。

  • パケット番号(キャプチャの順序を示す)
  • タイムスタンプ(各パケットがキャプチャされた時刻を記録する)
  • 送信元と宛先の IP アドレス
  • プロトコルタイプ(TCP、UDP、ICMP など)
  • パケットサイズ(バイト単位)
  • パケット内容の簡単な説明

以下は、TCP 接続確立時の出力例です。

1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

この例では、2 つのパケットが表示されています。最初のパケットは、ポート 443 で 192.168.1.1 から 192.168.1.2 への接続を開始する TCP SYN パケットで、2 番目のパケットは応答する SYN - ACK パケットです。-r オプションは、以前にキャプチャされたネットワークトラフィックを調べるために不可欠であり、より高度なパケット分析技術の基礎を形成します。

-t u で UTC 形式に設定する

このステップでは、Wireshark のコマンドラインツール tshark を使用して、パケットのタイムスタンプを UTC(協定世界時)形式で表示する方法を探索します。-t u オプションは、複数のタイムゾーンにまたがるネットワークトラフィックを扱う際に特に有用で、標準化された時間基準を提供します。

始める前に、パケットキャプチャファイルがある正しい作業ディレクトリにいることを確認しましょう。

cd ~/project

-t u パラメータは、tshark にすべてのタイムスタンプを UTC 形式に変換するよう指示します。これはローカルシステムの時間とは異なります。これを以前のステップで学んだ -r オプションと組み合わせて、サンプルのキャプチャファイルを読み込みます。

tshark -r capture.pcap -t u

このコマンドを実行すると、以下のように明確な UTC タイムスタンプが表示された出力が得られます。

1 2023-01-01 00:00:00.000000 UTC 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 2023-01-01 00:00:00.000123 UTC 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

各タイムスタンプに "UTC" の指定が含まれていることに注目してください。この形式は、異なる地理的な場所にあるサーバーのログを分析する場合や、異なるタイムゾーンのチームメンバーと協力する場合に特に便利です。UTC 形式は、ローカルのタイムゾーン設定に依存しないため、時間基準に関する混乱を排除します。

違いをよりよく理解するために、この出力を以前の演習でのデフォルトのローカル時間形式と比較すると良いでしょう。これにより、同じネットワークイベントが異なる時間表現でどのように表示されるかを確認できます。

-t e でエポック時間を使用する

このステップでは、Wireshark のコマンドラインツール tshark を使って、パケットのタイムスタンプをエポック形式で表示する方法を学びます。-t e オプションは、tshark にタイムスタンプをエポック時間(Unix 時間とも呼ばれます)として表示するよう指示します。エポック時間は、1970 年 1 月 1 日からの経過秒数をカウントします。この形式は、正確な時間計算を行う場合や、エポック時間を使用する他のシステムと統合する場合に特に役立ちます。

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

cd ~/project

ここで、-r("read" の略)とともに -t e オプションを使用して、サンプルのパケットキャプチャファイルを処理します。基本的なコマンド構造は簡単です。-r の後に入力ファイルを指定し、エポック時間形式にするために -t e を追加します。

tshark -r capture.pcap -t e

このコマンドを実行すると、2 列目にエポックタイムスタンプが表示される、以下のような出力が得られます。

1 1672531200.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 34512 [SYN] Seq=0 Win=64240 Len=0
2 1672531200.000123 192.168.1.2 → 192.168.1.1 TCP 66 34512 → 443 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

各タイムスタンプが小数で表示されていることに注目してください。小数点前の部分は整数秒を表し、小数部分はマイクロ秒を表します。このような精度の高さがあるため、エポック時間はいくつかのシナリオで役立ちます。

  • ネットワークイベント間の正確な時間間隔を測定する
  • エポック時間を使用するシステムログとパケットキャプチャを照合する
  • スクリプトや分析ツールでタイムスタンプに対して数学的な演算を行う

違いをよりよく理解するために、この出力を前の UTC 形式の例の結果と比較すると良いでしょう。両方の形式を並べて見ることで、同じ時刻が異なる方法で表現できることを理解しやすくなります。

-P でパケットを表示する

このステップでは、Wireshark の tshark-P オプションとともに使用して、パケットの概要をより読みやすい形式で表示する方法を学びます。このオプションは、特にパケット分析の初心者にとって、読みやすく分析しやすいクリーンな出力形式を提供します。

まず、キャプチャファイルがある正しいディレクトリにいることを確認してください。tshark がパケットキャプチャファイルの場所を知る必要があるため、これは重要です。

cd ~/project

-P オプションは、tshark がパケット情報を表示する方法を変更します。読みにくい単一のコンパクトな行ですべてを表示する代わりに、各情報を垂直形式で 1 行ずつ表示します。これにより、特定のフィールドを一目で識別することがはるかに容易になります。サンプルのキャプチャファイルでこれを使用してみましょう。

tshark -r capture.pcap -P

この形式での典型的なパケットの表示例は次のようになります。

Packet 1:
    Arrival Time: Jan  1, 2023 00:00:00.000000000 UTC
    Epoch Time: 1672531200.000000000 seconds
    Frame Number: 1
    Frame Length: 66 bytes
    Protocols: eth:ethertype:ip:tcp
    Source: 192.168.1.1
    Destination: 192.168.1.2
    Source Port: 443
    Destination Port: 34512
    TCP Flags: 0x002 (SYN)

-P 形式は、いくつかの状況で特に有用です。

  • 目を疲れさせることなくパケット内の特定のフィールドをすばやくスキャンする必要がある場合
  • 出力を他のコマンドにパイプしてさらに処理する場合。構造化された形式のため、解析が容易になります
  • Wireshark の GUI がパケットを表示するのと同様に、パケット情報をより整理された表示形式で見たい場合

以前に -P オプションなしで tshark を使用したことがある場合、この形式がいかに読みやすいかをすぐに気づくでしょう。各情報が独自の明確な行にあるため、パケットの詳細の中から探しているものを簡単に見つけることができます。

まとめ

この実験では、実際のコマンドラインオプションを通じて、Tshark でタイムスタンプの表示をカスタマイズする方法を学びました。演習では、-r capture.pcap でパケットキャプチャを読み取り、-t u を使用してタイムスタンプを UTC 形式で表示することで、一貫したタイムゾーン分析を行う方法を示しました。

また、正確なタイムスタンプ表現のために -t e でエポック時間形式を使用し、詳細なパケット出力のために -P オプションを活用する練習を行いました。これらの技術は、柔軟なタイムスタンプ形式を提供しながら、明確なパケット検査ワークフローを維持することで、ネットワークトラフィック分析を強化します。