DNS挖掘中某些行的含义

时间:2016-01-24 10:51:02

标签: dns trace nameservers dig

我试图通过+ trace选项(为了使解析器模拟NS默认服务器角色)充分了解DNS解析过程的含义。我从一个教学示例中获取了以下输出,然后我添加了一些我在不同的上下文中找到的行(我确信这是一种可能的情况)。我添加的这些行是输出的最后两行(关于XXX.mit.edu的NS和WWW.YYY.ZZZ)。

dig www.mit.edu +trace

; <<>> DiG 9.2.4 <<>> www.mit.edu +trace

;; global options: printcmd

.       2788 IN NS b.root-servers.net.
.       2788 IN NS c.root-servers.net.

.       2788 IN NS d.root-servers.net.
.       2788 IN NS e.root-servers.net.
.       2788 IN NS f.root-servers.net.
.       2788 IN NS g.root-servers.net.
.       2788 IN NS h.root-servers.net.
.       2788 IN NS i.root-servers.net.
.       2788 IN NS j.root-servers.net.
.       2788 IN NS k.root-servers.net.
.       2788 IN NS l.root-servers.net.
.       2788 IN NS m.root-servers.net.
.       2788 IN NS a.root-servers.net.
;; Received 276 bytes from 193.204.161.133#53(193.204.161.133) in 1 ms

edu.        172800 IN NS A3.NSTLD.COM.
edu.        172800 IN NS C3.NSTLD.COM.
edu.        172800 IN NS D3.NSTLD.COM.
edu.        172800 IN NS E3.NSTLD.COM.
edu.        172800 IN NS G3.NSTLD.COM.
edu.        172800 IN NS H3.NSTLD.COM.
edu.        172800 IN NS L3.NSTLD.COM.
edu.        172800 IN NS M3.NSTLD.COM.
;; Received 302 bytes from 192.228.79.201#53(b.root-servers.net) in 194 ms

mit.edu.    172800 IN NS STRAWB.mit.edu.
mit.edu.    172800 IN NS BITSY.mit.edu.
mit.edu.    172800 IN NS W20NS.mit.edu.
;; Received 138 bytes from 192.5.6.32#53(A3.NSTLD.COM) in 182 ms

www.mit.edu.    60 IN A 18.7.22.83
mit.edu.    21600 IN NS BITSY.mit.edu.
mit.edu.    21600 IN NS STRAWB.mit.edu.
mit.edu.    21600 IN NS W20NS.mit.edu.
mit.edu.    21600 IN NS XXX.mit.edu
mit.edu.    21600 IN NS WWW.YYY.ZZZ
;; Received 154 bytes from 18.71.0.151#53(STRAWB.mit.edu) in 150 ms

我理解在这些线之前发生的一切:“。”信息由根名称服务器保存。根名称服务器列表由193.204.161.133给出,这是我的默认名称服务器。 “edu”信息由“第二块”(XX.MSTLD.COM)中的名称服务器给出。这是由根名称服务器提供的信息。 “mit.edu”信息由STRAWB,BITSY和W20NS(它们是mit.edu的权威NS)给出。这也没关系。所以,在“最后一块”中:“XXX.mit.edu”和“WWW.YYY.ZZZ”是什么意思?他们也是针对mit.edu的autorithy NS,但为什么他们之前没有列出,以及其他3个autorithy NS?就好像只有STRAWB.mit.edu才​​知道有更多的NS包含与mit.edu区域相关的信息。这是否意味着它们是辅助名称服务器,可能是为了冗余?

我希望我的问题很明确。

1 个答案:

答案 0 :(得分:1)

挖掘跟踪是解析域名过程中发生的所有对话的列表。对话运行类似这样的

  1. 最初需要根名称服务器的地址才能开始查找地址,这些地址通常是从缓存中获取的,因为这个请求需要1ms,我们应该假设是这种情况。
  2. 查询.edu的根名称服务器。名称服务器。第二组结果 - 教育。答案就是那些。
  3. 其中一个.edu。为mit.edu查询服务器。名称服务器。这些结果是mit.edu。与STRAWB,BITSY和W20NS
  4. 最终答案是从18.71.0.151#53(STRAWB.mit.edu)收到的,是最高回复www.mit.edu要回答查询,这是唯一需要的记录。
  5. 答案下面的记录是附加记录,它们基本上是有用的名称服务器。它为您提供了要放入缓存的域的所有授权域名服务器的列表,以便下次您需要查找mit.edu域时,您不需要进行全面查找。 (并将拥有完整的名称服务器集)
  6. 有关详细信息,请阅读RFC 1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION(搜索&#39;其他&#39;)