Shikata Ga Nai

Private? There is no such things.

Wiresharkの基本的なDNSパケットについてかいてみた

Hello there, ('ω')ノ


DNSパケットは、下記のようなフィールドで構成されて。

 

Transaction ID:

 ドメインクエリとそれに対応する応答を追跡する番号で。


Query/response:

 すべてのDNSパケットは、クエリまたは応答としてマークされて。


Flag bits:

 各クエリと応答には、 follows:として異なるフラグビットのセットが含まれて。

 

Response:

 メッセージは、クエリなのか応答なのか。

 

Opcode:

 含まれるクエリのタイプで。

 オペコードの範囲は0〜15で、下記のとおりで。


 0

  標準クエリ

 1

  逆クエリ

 2

  サーバステータスリクエスト

 3

  未割り当て

 4

  通知

 5

  更新

 6-15

  未割り当て

 

Truncated:

 サイズが大きい(512バイト超)場合にパケットを切り捨てるかを決定して。


Recursion desired:

 探しているリソースレコードがプライマリDNSに存在しない場合。

 クライアントから送信されるクエリは、別のDNSサーバへの検索手順に進んで。


Recursion available:

 このビットが設定されているとクライアントが要求した再帰が利用可能で。


Reserved (z):

 RFC 1035で定義されていて。

 予約されているので、すべてのクエリと応答でゼロに設定する必要があって。

 

Response code:

 このフィールドの値は応答を示して。

 エラーの有無とエラーのタイプを示すために使用されて。

 受け取ることができる可能なコード値は、以下のとおりで。


 0

  エラーなし

 1

  フォーマットエラー

 2

  サーバ障害

 3

  名前エラー

 4

  未実装

 5

  拒否

 

Questions:

 パケットに存在するクエリの数。


Answers:

 クエリへの応答として送信された回答の数。


Authority RRs:

 応答として送信された権限リソースレコードの数。


Additional RRs:

 応答として送信された追加のリソースレコードの数。


Query section:

 DNSサーバーに送信されるクエリ。


Answer section:

 応答として受け取ったリソースレコードで構成されて。


Type:

 送信されたクエリのタイプ。

 一般的なクエリタイプについては、以下のとおりで。


 A

  ホストアドレス

 NA

  ネームサーバ

 MX

  メール交換

 SOA

  ゾーン権限の開始

 PTR

  ポインタレコード

 AAAA

  IPv6アドレス

 AXFR

  フルゾーン転送

 IXFR

  増分ゾーン転送

 

Additional info:

 リソースレコードを含む追加情報が含まれて。

 

Best regards, (^^ゞ