我试图通过+ 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区域相关的信息。这是否意味着它们是辅助名称服务器,可能是为了冗余?
我希望我的问题很明确。
答案 0 :(得分:1)
挖掘跟踪是解析域名过程中发生的所有对话的列表。对话运行类似这样的
www.mit.edu
要回答查询,这是唯一需要的记录。 有关详细信息,请阅读RFC 1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION(搜索&#39;其他&#39;)