1. urushibata

    Posted

    urushibata
Changes in title
+Windows Server の DNS のデバッグログについて
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,67 @@
+Windows Server 2012 で DNS デバッグログの場所と読み方の自分用備忘録です。
+
+[DNS サーバーのデバッグ ログ オプションを選択および有効にするには][ms_dns]
+
+# デフォルトの出力先
+
+デバッグログ出力先を特に指定しない場合、以下の場所に出力されます。
+
+C:\Windows\System32\dns\dns.log
+
+# 読み方
+
+ログファイルの先頭に各フィールドの一応意味が書いてありますが、一部 DNS に詳しくないとわからないものがあります。以下のリンク先の記事を読むとある程度わかるようになります。それにしてもドキュメントが見つからないので苦労します。
+[DNSプロトコルのヘッダセクションのフォーマット][dns_header]
+__以下の解説っぽいのは想像を含みますので、信頼度は低いです。__
+
+```
+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][dns_upd_msg_flg]の名称がセットされます。
+
+15の「Question Type」は「A」や「CN」などを意味します。
+
+16の「Question Name」は問い合わせをしたドメイン名です。カッコ内の数字はその後に続く文字列の文字数です。
+
+# 感想
+
+DNS は古い技術だがいろいろ調べると面白いかもしれません。(調べるとは言っていない)
+
+[ms_dns]:https://msdn.microsoft.com/ja-jp/windows/desktop/cc759581?f=255&MSPPError=-2147217396
+[dns_header]:https://yoshida-eth0.hatenablog.com/entry/20110203/1296675571
+[dns_upd_msg_flg]:https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc772774(v=ws.10)#dns-update-message-flags