2月9日(火)1コマ目
今日、やったこと
DNSのパケット解析
今日のパケット
以下のパケットを解析しました。
![]() |
| 図 解析パケット① |
![]() |
| 図 解析パケット② |
解析結果
イーサネットヘッダ、IPヘッダ
![]() |
| 図 イーサネットヘッダ |
![]() |
| 図 IPヘッダ |
イーサネットヘッダのタイプは0x0800。よって、上位プロトコルはIP。
IPヘッダ中のプロトコル番号は0x11。よって、上位プロトコルはUDP。
UDPヘッダ
UDPはTCPと同じ階層のプロトコルです。TCPは重厚長大なプロトコルですが、UDPはIP層とアプリケーション層のつなぎ役しかしません。
初見ですが、パケットはイーサネットヘッダ並みにあっさりです。
![]() |
| 図 UDPヘッダ |
ここまでをまとめると
UDPの53ポートはDNSのウェルノウンポートです。ということはこのパケットはDNSサーバーへの問い合わせパケットと推測できます。
DNS
DNSの問い合わせパケット(クライアント=>サーバー)はまず、ヘッダセクションがあります。
ヘッダセクション
![]() |
| 図 DNSのヘッダセクション |
ヘッダセクションのフラグからこのパケットの目的がわかります。
このフォーマットに従ってQuestionセクションを解析すると以下のようになります。
RDのビットが1になっているため、再帰問い合わせです。
また、QDCOUNTが1になっているため、問い合わせが1件含まれることがわかります。
まとめると、サーバーへの再帰問い合わせが1件です。
![]() |
| 図 ヘッダセクションまとめ |
Questionセクション
続いてQuestionセクションです。
ここは問い合わせたいドメイン名(ホスト名)が書き込まれています。
1つのラベルにはラベル長とラベルデータが含まれます。このラベルが連続しています。
![]() |
| 図 ラベル(ラベル長+ラベルデータ) |
![]() |
| 図 Questionセクション |















コメント