ネットワーク入門

ネットワーク・コーナ
ご購入はこちら
ダウンロード・データあります
パケットづくりではじめる
ネットワーク入門
第
17 回
定番 pcap フォーマットで
ネットワーク・パケットを取り込む
坂井 弘亮
仮想PC1(FreeBSD)
パケットを
取り込んで
表示してみる
pcapファイル
定番ネットワーク
解析ソフトウェア
Wireshark
ping.pcap
仮想PC2(FreeBSD)
自作ネットワーク・パケット
取り込みプログラム
(pcaprecv)
pingコマンド
FreeBSD
カーネル
FreeBSD
カーネル
パケット直接送受信
デバイス・ドライバ
TCP/IP処理
仮想LAN
ケーブル
仮想イーサカード
デバイス・ドライバ
仮想イーサカード
192.168.10.1/24
FreeBSDマシン
図 1 実験すること…定番 pcap フォーマットでネットワーク・パケットを取り込んでみる
定番解析ソフトウェア Wireshark に入力して表示もさせてみる
前回(第 16 回,2016 年 11 月号)は,L2 ネットワー
クの種別を調べ,さらに種別に応じて受信バッファの
先頭オフセットを調整することで,バッファのアドレ
スのアラインメントを考慮せずに済むようにする方法
を説明しました.
今回は,ネットワーク・パケットを保存するための
一般的なフォーマットである pcap フォーマットにつ
いて説明します注 1.
また受信したパケットを,pcap フォーマットによっ
て出力する「パケット・ロガー」を作成してみます
ファイル・ヘッダ
パケット・ヘッダ1
パケット・データ1
パケット・ヘッダ2
パケット・データ2
パケット・ヘッダ3
パケット・データ3
…
図 2 ネットワーク・パケットの定番 pcap フォーマットの構造
124
(図 1).なお pcap フォーマットからの入力は,次回
に扱います.
ネットワーク・パケットの定番
pcap フォーマットを知る
● フォーマットの全体像
pcap フォーマットの全体像は,図 2 のようになっ
ています.
ファイルの先頭にはファイル・ヘッダがあります.
ファイル・ヘッダの後には,パケット・ヘッダとパ
ケット・データが対となって連続しています.
ファイル・ヘッダにはフォーマットのバージョンや
時刻情報のタイムゾーンなど,ファイル全体に関わる
情報が格納されています.対してパケット・ヘッダに
は,パケットごとの情報が格納されます.
図 2 では 3 つのパケット・データが示されています
注 1:pcap フォーマットについては,本誌 2014 年 8 月号の特集
中(pp.54-56)でも説明されている.しかしここで説明され
ているのはフォーマットの概略と簡単なサンプル・プログ
ラムのみなので,今回は pcap フォーマットの解析結果や
情報の調べ方など,実践的な内容を紹介する.
本連載のプログラムのソースコードは以下の筆者のホームページからダウンロードすることが
できます.ライセンスは KL-01 というもので,
組込み機器などでも自由に利用することができます.
http://kozos.jp/books/interface/ethernet2/
2016 年 12 月号