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パケット解析のテストをします。






このブログの人気の投稿

1月26日(木)2コマ目

12月1日(木)2コマ目

2月2日(木)2コマ目