Wiresharkにはパケットを収集する▼以外に、収集したパケットを解析する役割もある。すなわちパケットの可視化である。
3つのペインで構成
ここでWiresharkのメイン画面を見ておこう(図3-1)。Wiresharkには大きく3つのペイン▼がある。上部にあるのが「パケットリスト」、左下が「パケットディテール」、右下が「パケットバイト」だ。
パケットリストには、収集した際の時系列順にパケットが並んでいる。各行が1つのパケットを表している。送信元や宛先、プロトコルの種別など、パケットの概略を把握できる情報が並んでいる。解析時には、まずここを見てどの通信を詳細に調べるのかなどを検討することになる。
パケットリストの上にはリストに表示するパケットを絞り込むための「フィルターツールバー」がある。ここに検索式を入力してフィルターを作れば、該当するパケットだけをリストに表示できる。
パケットディテールは、パケットリストで選択したパケットの詳細を表示するペインである。プロトコルの階層ごとに情報を整理している。
パケットバイトは、パケットを生のデータとして表示するペインだ。16進数で表示するブロックと、バイト単位でASCII文字▼で表示する部分がある。
4階層のプロトコルで整理
パケットディテールを詳しく見てみよう。パケットディテールの表示は、インターネットプロトコルの4階層モデル▼に準じた分類になっている。すなわち「ネットワークインターフェース層」「インターネット層」「トランスポート層」「アプリケーション層」である(図3-2)。
各階層に付与されるヘッダー情報を整理して並べている。例えばトランスポート層では、TCPヘッダーに格納される情報が表示される。宛先と送信元のポート番号のほか、コネクション確立の際に使われるフラグ、シーケンス番号▼などが含まれている。イーサネットのレイヤーであるネットワークインターフェース層では、宛先と送信元のMACアドレスなどが表示される。
インターネット層を例にもう少し具体的に見てみよう。先頭に「>」が表示されている行は、それをクリックすると展開されてさらに詳細な情報が表示される。そこでインターネット層に関して、すべて展開した状態で表示した(図3-3)。表示される各項目とIPヘッダーの構成図を参照すると、1対1に対応していることが分かる。