ネットワーク入門

ネットワーク・コーナ
ご購入はこちら
ダウンロード・データあります
パケットづくりではじめる
ネットワーク入門
第
19 回
次世代ネットワーク・パケット・フォーマット
PcapNG を出力する
PcapNG
ファイル
pcapファイル
arp.pcap
パケット・ライブラリ
libpkt.a
pcap→PcapNG
変換プログラム
(pcap2pcapng)
arp.pcapng
坂井 弘亮
PC
定番ネットワーク
解析ソフトウェア
Wireshark
PcapNG
パケットを
確認
図 1 今回すること…次世代ネットワーク・パケット・フォーマット PcapNG ファイルを出力する
PcapNG フォーマットで出力したファイルを解析ソフトウェア(Wireshark)で解析してみる
本連載はネットワーク上を流れるパケットを直接扱
うようなツールを自作しつつ,ネットワークの仕組み
を勉強していきます.テーマは「自作」,「現物ベー
ス」
,
「動く感動」の 3 つです.ネットワークにはイー
サネットと IP を想定しています.
● 前回まで…ネットワーク・パケットの定番 pcap
フォーマットで入出力を行えるようになった
▶その 1…pcap フォーマットの説明
前回(第 18 回,2017 年 1 月号)までは,ネットワー
ク・パケットを保存するための一般的なフォーマット
である pcap フォーマットについて説明しました.
▶その 2…pcap パケット送信ツールを作成
また受信したパケットを pcap フォーマットによっ
て出力する「パケット・ロガー」と,pcap フォーマッ
トのファイルからパケット・データを読み取りネット
ワーク上に送信するパケット送信ツールを作成しまし
た.しかし,pcap フォーマットには幾つかの問題点
もありました.
● 今回すること…次世代 PcapNG フォーマット
の出力にも対応
今 回 は 次 世 代 の パ ケット・フォー マットで あ る
PcapNGについて説明します.またpcapフォーマットを
PcapNGに変換するコンバータ(pcap2pcapng)を作
成してみます(図1)
.
2017 年 2 月号
次世代のネットワーク・パケット・
フォーマット PcapNG
● 古くからある定番 pcap の問題点
前回までに説明してきた pcap フォーマットは,も
ともと tcpdump のパケット・キャプチャ部のライブ
ラリとして開発された libpcap のパケット・ヘッダが
ベースになっています.
このためその設計は古く,例えば以下のような問題
点があります.
・アラインメントの考慮がないため,mmap() して
全体をランダム・アクセスするような処理に向い
ていない.
・各フィールドのサイズが,プラットフォーム依存
である(例えばパケット・ヘッダのタイム・スタ
ンプには struct timeval が利用されている
が,struct timeval の tv_sec メ ン バ の 型
は time_t であり,環境によっては 64 ビットだっ
たりする)
.
・
・パケットに対するコメントなどの付加情報を格納
複数のインターフェースを扱うことができない.
することができない.
・拡張領域がないため,ユーザ拡張ができない.
こ れ ら の 欠 点 は, 次 世 代 フ ォ ー マ ッ ト で あ る
PcapNG(PCAP Next Generation)フォーマットで解
決されています.
本連載のプログラムのソースコードは以下の筆者のホームページからダウンロードすることが
できます.ライセンスは KL-01 というもので,
組込み機器などでも自由に利用することができます.
http://kozos.jp/books/interface/ethernet2/
155