Help us understand the problem. What is going on with this article?

Windows Server の DNS のデバッグログについて

More than 1 year has passed since last update.

Windows Server 2012 で DNS デバッグログの場所と読み方の自分用備忘録です。

DNS サーバーのデバッグ ログ オプションを選択および有効にするには

デフォルトの出力先

デバッグログ出力先を特に指定しない場合、以下の場所に出力されます。

C:\Windows\System32\dns\dns.log

読み方

ログファイルの先頭に各フィールドの一応意味が書いてありますが、一部 DNS に詳しくないとわからないものがあります。以下のリンク先の記事を読むとある程度わかるようになります。それにしてもドキュメントが見つからないので苦労します。
DNSプロトコルのヘッダセクションのフォーマット
以下の解説っぽいのは想像を含みますので、信頼度は低いです。

fields):
    Field #  Information         Values
    -------  -----------         ------
       1     Date
       2     Time
       3     Thread ID
       4     Context
       5     Internal packet identifier
       6     UDP/TCP indicator
       7     Send/Receive indicator
       8     Remote IP
       9     Xid (hex)
      10     Query/Response      R = Response
                                 blank = Query
      11     Opcode              Q = Standard Query
                                 N = Notify
                                 U = Update
                                 ? = Unknown
      12     [ Flags (hex)
      13     Flags (char codes)  A = Authoritative Answer
                                 T = Truncated Response
                                 D = Recursion Desired
                                 R = Recursion Available
      14     ResponseCode ]
      15     Question Type
      16     Question Name

2019/08/20 11:48:27 0BE4 PACKET  000000149B80B390 UDP Rcv 8.8.8.8 
  ccfb R Q [0581   D   REFUSED] A      (6)google(3)com(0)

6の「UDP/TCP indicator」は UDP か TCP がセットされると思いますが、UDP しか見たことがないです。DNS の仕様だと UDP のサイズには制限があり、応答でそのサイズを超える場合は、TCP を使うようです。サイズは時代とともに増やされ今はサーバー毎バラバラらしいです。

7の「Send/Receive indicator」は Send の場合「Snd」、Receive の場合は「Rcv」になります。

12と13の「Flags」は16bitのフラグを4つの10進数で表現したのが12でそれを文字で表すと13になると思われます。

14の「ResponseCode」には「NOERROR」や「REFUSED」「NXDOMAIN」などDNS Update Message Flagsの名称がセットされます。

15の「Question Type」は「A」や「CN」などを意味します。

16の「Question Name」は問い合わせをしたドメイン名です。カッコ内の数字はその後に続く文字列の文字数です。

感想

DNS は古い技術ですがいろいろ調べると面白いかもしれません。(調べるとは言っていない)

urushibata
社内SEやってます。 …(´・ω・`)
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away