11月2日(水)1コマ目
今日、やったこと
DNSパケット解析
今日のホワイトボード
前回はDNSヘッダのヘッダセクションまで解析しました。
その結果、ヘッダセクション以降には以下のセクションが続くことがわかりました。
- Questionセクションx1
- Answerセクションx1
- Authorityセクションx4
- Additionalセクションx8
今日は続きのQuestionセクション以降です。
Questionセクション
Questionセクションは以前に一度解析しました。フォーマットに従って切り取っていきます。
![]() |
| 図 DNSヘッダのQuestionセクション |
![]() |
| 図 Questionセクション解析結果 |
Answerセクション①ドメイン名
AnswerセクションもQuestionセクション同様、先頭はドメイン名です。
が、先頭の2ビットでドメイン名がどこに書き込まれているかが分かれます。
今回は先頭2ビットが”11”なので、圧縮ありです。
ドメイン名はAnswerセクションに書き込まれず、どこか別のところに書き込まれています。
で、どこに書き込まれているかは、続く6ビット+8ビット(オフセット値)に書き込まれています。
![]() |
| 図 Answerセクションのドメイン名 |
![]() |
| 図 Answerセクションのドメイン名の解析結果 |
オフセット値は12です。DNSヘッダの先頭から12+1バイト目にドメイン名が書き込まれていることになります。
DNSヘッダの先頭から13バイト目はQuestionセクションのドメイン名です。
結局、Answerセクションに書き込むべきドメイン名はQuestionセクションのドメイン名と同じということになります。
![]() |
| 図 DNSヘッダの先頭から13バイト目 |
Answerセクション②ドメイン名以降
解析すると以下のようになります。
![]() |
| 図 Answerセクション |
![]() |
| 図 Answerセクションドメイン名以降解析結果① |
Answerセクション最後のRDATAは可変長です。
RDLengthにRDATAの長さが書き込まれています。
![]() |
| 図 AnswerセクションのRDATA解析結果 |
このパケットは
本来なら、Answerセクション以降にAuthorityセクション、Additionalセクションが続きます。
![]() |
| 図 Answerセクション以降 |
次回は
DNSパケット解析の練習問題をやってもらいます。
そのうち、DNSパケット解析のテストをします。








