11月18日(木)2コマ目
前回のテスト(DNSパケット解析 パケット4)の解答例
今日、やったこと
- 前回のテスト(DNSパケット解析 パケット4)の解説
- HTTPパケットの解析(HTTPヘッダ部)
今日のホワイトボード
前回のテスト(DNSパケット解析 パケット4)の解説
イーサネットヘッダ
タイプ(0x0800)から上位プロトコルはIP。
| 図 イーサネットヘッダ |
IPヘッダ
| 図 IPヘッダ |
プロトコル番号から上位プロトコルはUDP。
UDPヘッダ
| 図 UDPヘッダ |
送信元ポート番号から上位プロトコルはDNS。
DNSヘッダ(ヘッダセクション)
| 図 DNSヘッダ(ヘッダセクション) |
Questionセクションが1、Answerセクションが1なので、ヘッダセクションのあとにQuestionセクション、Answerセクションが1つづつ続く。
DNSヘッダ(Questionセクション)
Questionセクションには問い合わせデータが書き込まれている。
ドメイン名部を文字列に戻す際に注意。
| 図 DNSヘッダ(Questionセクション) |
DNSヘッダ(Answerセクション)
Answerセクションは問い合わせに対する回答が格納される。
ドメイン名部が圧縮されている点に注意。
| 図 DNSヘッダ(Answerセクション) |
HTTPパケット解析(HTTPヘッダ)
HTTPヘッダは文字列データをASCIIコードで符号化したデータ。
データとデータの間には区切りとしてCR+LFが挿入される。
リクエストライン
HTTPヘッダはリクエストラインから始まる。
| 図 HTTPヘッダ リクエストライン |
リクエストラインに書き込まれているデータはクライアントからサーバーへのリクエスト。
HTTPではクライアントがサーバーへリクエストするための手段として、GETコマンドやPOSTコマンド等を定義している。
| 図 リクエストラインの内容 |
リクエストヘッダフィールド
以下のような
フィールド名:フィールド値
がCR+LF区切りで複数個並ぶ。
| 図 リクエストヘッダフィールド(フィールド名:Host) |
| 図 リクエストヘッダフィールド(フィールド名:Connection) |
フィールド名はHTTPで目的別に定義されている。
| 図 各フィールドについて |