ネットワークとWireshark入門:パケットをCTFで読む基礎

ネットワークのCTFでは、通信を構成する小さな記録であるパケットから、名前解決、接続、アプリケーションのやり取りを読みます。

Wiresharkはパケットを表示するための道具であり、最初から全行を読むより、通信の目的に合わせて範囲を狭めるほうが確実です。

通信の層を対応させる

IPアドレスは通信相手をネットワーク上で識別し、TCPやUDPはデータの運び方を定めます。

DNSは名前から接続先を調べ、HTTPはWebの要求と応答を表します。

この区別を持つと、表示されたポート番号、ドメイン名、URLを一つの意味として扱わずに済みます。

Wiresharkでの絞り込み

  1. 配布されたキャプチャの時刻範囲と、問題文にある利用者やサービス名を確認します。
  2. DNS、TCP、HTTPなど、問いに関係するプロトコルから表示を絞ります。
  3. 送信元、宛先、時刻、要求と応答を対応させ、会話の単位で読みます。
  4. 見つけた文字列は、どのパケットとどのフィールドにあったかをメモします。

フィルターは発見を助けますが、除外された通信に答えがないことを保証するものではありません。

結果が不自然なら、時刻範囲や別のプロトコルに戻って条件を見直します。

TCPの流れを読む

TCPでは、接続開始、データ送受信、切断という流れを追えます。

再送や順序の入れ替わりがあると、画面に並んだパケットの順番だけではアプリケーションの内容を正しく復元できない場合があります。

通信をストリーム単位で見る理由は、同じ接続に属するデータをまとめて関係付けるためです。

キャプチャに含まれる情報

パケットキャプチャには、通信内容だけでなく、接続先、時刻、端末の情報が含まれることがあります。

実際の組織や家庭の通信を無断で取得、閲覧、共有してはいけません。

キノコハッカーの配布データなど、解析を許可された記録だけを対象にし、迷った場合は責任ある利用方針を確認してください。

次に読むページ