ネットワーク入門

ご購入はこちら
ネットワーク・コーナ
ダウンロード・データあります
パケットづくりではじめる
ネットワーク入門
第
18 回
ネットワーク・パケットの
定番 pcap フォーマットを解読する
仮想PC1(FreeBSD)
pcapファイル
arp.pcap
坂井 弘亮
仮想PC2(FreeBSD)
pcapパケット
パケット・ライブラリ
送信プログラム
libpkt.a
(pcapsend)
定番ネットワーク
解析ソフトウェア
Wireshark
ネットワーク
上に送信され
たpcapパケッ
トを確認
FreeBSD
カーネル
FreeBSD
カーネル
パケット直接送受信
パケット直接送受信
デバイス・ドライバ
仮想LAN
ケーブル
仮想イーサカード
デバイス・ドライバ
仮想イーサカード
FreeBSDマシン
図 1 今回すること…ネットワーク・パケットの定番 pcap フォーマットを解読する
解読したパケットをネットワークに再送信して解析ソフトウェア Wireshark で確認してみる
前回(2016 年 12 月号)は,ネットワーク・パケット
を保存するための一般的なフォーマットである pcap
フォーマットについて説明し,受信したパケットを,
pcap フォーマットによって出力する「パケット・ロ
ガー」を作成しました.
今回は pcap フォーマットからの入力について説明
します.また pcap フォーマットのファイルからパケッ
ト・データを読み取り,ネットワーク上に送信するパ
ケット送信ツールを作成します(図 1).
pcap フォーマット解読の注意点
ディアンは,そのフォーマットを生成した環境に依存
します.
例 え ば リ ト ル・ エ ン デ ィ ア ン の 環 境 で 作 成 し た
pcap ファイルのヘッダ情報はリトル・エンディアン
で格納されますが,ビッグ・エンディアンの環境なら
ばビッグ・エンディアンで格納されます.
そしてエンディアンはファイル・ヘッダの先頭のマ
ファイル・ヘッダ
パケット・ヘッダ1
パケット・データ1
pcap フォーマットは,ファイルの先頭にファイル・
ヘッダがあり,その後にパケット・ヘッダとパケッ
ト・データの対が連続している構造になっています
(図 2,詳細は前回,第 17 回参照).pcap フォーマッ
トからパケットを読み出す際には,以下の注意点があ
ります.
パケット・データ2
パケット・ヘッダ3
パケット・データ3
…
図 2 ネットワーク・パケットの定番 pcap フォーマットの構造
● その 1:エンディアンの考慮
pcap フォーマットのヘッダ中のフィールドのエン
2017 年 1 月号
パケット・ヘッダ2
定番解析ソフトウェア Wireshark の入力にも使われる.前回(第 17 回)図
2 再掲
本連載のプログラムのソースコードは以下の筆者のホームページからダウンロードすることが
できます.ライセンスは KL-01 というもので,
組込み機器などでも自由に利用することができます.
http://kozos.jp/books/interface/ethernet2/
131