手动模拟递归DNS解析过程:qwer.firadio.ip-ddns.com
手动模拟递归DNS解析过程:qwer.firadio.ip-ddns.com
本文档记录了使用Windows nslookup工具手动模拟递归DNS解析过程,从根域名服务器开始,一步步解析qwer.firadio.ip-ddns.com的A记录。
1. 根域名服务器
根据RFC文档,根域名服务器的IP地址是已知的,无需查询。我们可以直接使用其中一个根服务器:
- a.root-servers.net: 198.41.0.4
- b.root-servers.net: 199.9.14.201
- c.root-servers.net: 192.33.4.12
- d.root-servers.net: 199.7.91.13
- e.root-servers.net: 192.203.230.10
- f.root-servers.net: 192.5.5.241
- g.root-servers.net: 192.112.36.4
- h.root-servers.net: 198.97.190.53
- i.root-servers.net: 192.36.148.17
- j.root-servers.net: 192.58.128.30
- k.root-servers.net: 193.0.14.129
- l.root-servers.net: 199.7.83.42
- m.root-servers.net: 202.12.27.33
我们选择使用a.root-servers.net(IP地址为198.41.0.4)作为起点。
2. 查询.com顶级域名服务器
使用根服务器查询.com域的权威名称服务器:
nslookup -type=NS com. 198.41.0.4
结果:
Server: UnKnown
Address: 198.41.0.4
com nameserver = l.gtld-servers.net
com nameserver = j.gtld-servers.net
com nameserver = h.gtld-servers.net
com nameserver = d.gtld-servers.net
com nameserver = b.gtld-servers.net
com nameserver = f.gtld-servers.net
com nameserver = k.gtld-servers.net
com nameserver = m.gtld-servers.net
com nameserver = i.gtld-servers.net
com nameserver = g.gtld-servers.net
com nameserver = a.gtld-servers.net
com nameserver = c.gtld-servers.net
com nameserver = e.gtld-servers.net
l.gtld-servers.net internet address = 192.41.162.30
j.gtld-servers.net internet address = 192.48.79.30
h.gtld-servers.net internet address = 192.54.112.30
d.gtld-servers.net internet address = 192.31.80.30
b.gtld-servers.net internet address = 192.33.14.30
f.gtld-servers.net internet address = 192.35.51.30
k.gtld-servers.net internet address = 192.52.178.30
m.gtld-servers.net internet address = 192.55.83.30
i.gtld-servers.net internet address = 192.43.172.30
g.gtld-servers.net internet address = 192.42.93.30
a.gtld-servers.net internet address = 192.5.6.30
c.gtld-servers.net internet address = 192.26.92.30
e.gtld-servers.net internet address = 192.12.94.30
我们选择使用a.gtld-servers.net(IP地址为192.5.6.30)进行下一步查询。
3. 查询ip-ddns.com域名服务器
使用.com TLD服务器查询ip-ddns.com的权威名称服务器:
nslookup -type=NS ip-ddns.com. 192.5.6.30
结果:
Server: UnKnown
Address: 192.5.6.30
ip-ddns.com nameserver = ns61.cloudns.net
ip-ddns.com nameserver = ns63.cloudns.net
ip-ddns.com nameserver = ns62.cloudns.com
ip-ddns.com nameserver = ns64.cloudns.uk
ns62.cloudns.com AAAA IPv6 address = 2a01:4ff:f0:cba1::1
ns62.cloudns.com internet address = 5.161.186.200
我们选择使用ns61.cloudns.net进行下一步查询,但首先需要获取其IP地址。
4. 查询ns61.cloudns.net的IP地址
由于我们没有ns61.cloudns.net的IP地址,我们需要先查询cloudns.net的名称服务器:
nslookup -type=NS cloudns.net 192.5.6.30
结果:
Server: UnKnown
Address: 192.5.6.30
cloudns.net nameserver = ns2.cloudns.net
cloudns.net nameserver = pns1.cloudns.net
cloudns.net nameserver = pns4.cloudns.net
cloudns.net nameserver = dns2.cloudns.net
cloudns.net nameserver = dns7.cloudns.net
cloudns.net nameserver = pns64.cloudns.uk
ns2.cloudns.net AAAA IPv6 address = 2a01:4ff:f0:94da::1
ns2.cloudns.net internet address = 5.161.86.199
pns1.cloudns.net internet address = 185.136.96.111
pns1.cloudns.net AAAA IPv6 address = 2a06:fb00:1::1:111
pns4.cloudns.net internet address = 185.136.99.111
pns4.cloudns.net AAAA IPv6 address = 2a06:fb00:1::4:111
dns2.cloudns.net internet address = 185.136.97.77
dns2.cloudns.net AAAA IPv6 address = 2a06:fb00:1::2:77
dns7.cloudns.net internet address = 185.136.98.88
dns7.cloudns.net AAAA IPv6 address = 2a06:fb00:1::3:88
现在我们使用ns2.cloudns.net(IP地址为5.161.86.199)查询ns61.cloudns.net的IP地址:
nslookup -type=A ns61.cloudns.net 5.161.86.199
结果:
Server: UnKnown
Address: 5.161.86.199
Name: ns61.cloudns.net
Address: 109.201.133.168
5. 查询firadio.ip-ddns.com域名服务器
现在我们有了ns61.cloudns.net的IP地址,可以查询firadio.ip-ddns.com的权威名称服务器:
nslookup -type=NS firadio.ip-ddns.com. 109.201.133.168
结果:
Server: UnKnown
Address: 109.201.133.168
firadio.ip-ddns.com nameserver = trey.ns.cloudflare.com
firadio.ip-ddns.com nameserver = savanna.ns.cloudflare.com
6. 查询trey.ns.cloudflare.com的IP地址
我们需要获取trey.ns.cloudflare.com的IP地址,首先查询cloudflare.com的名称服务器:
nslookup -type=NS cloudflare.com 192.5.6.30
结果:
Server: UnKnown
Address: 192.5.6.30
cloudflare.com nameserver = ns3.cloudflare.com
cloudflare.com nameserver = ns5.cloudflare.com
cloudflare.com nameserver = ns4.cloudflare.com
cloudflare.com nameserver = ns6.cloudflare.com
cloudflare.com nameserver = ns7.cloudflare.com
ns3.cloudflare.com internet address = 162.159.0.33
ns3.cloudflare.com internet address = 162.159.7.226
ns5.cloudflare.com internet address = 162.159.2.9
ns5.cloudflare.com internet address = 162.159.9.55
ns4.cloudflare.com internet address = 162.159.1.33
ns4.cloudflare.com internet address = 162.159.8.55
ns6.cloudflare.com internet address = 162.159.3.11
ns6.cloudflare.com internet address = 162.159.5.6
ns7.cloudflare.com internet address = 162.159.4.8
ns7.cloudflare.com internet address = 162.159.6.6
现在我们使用ns3.cloudflare.com(IP地址为162.159.0.33)查询trey.ns.cloudflare.com的IP地址:
nslookup -type=A trey.ns.cloudflare.com 162.159.0.33
结果:
Server: ns3.cloudflare.com
Address: 162.159.0.33
Name: trey.ns.cloudflare.com
Addresses: 172.64.33.242
173.245.59.242
108.162.193.242
7. 查询qwer.firadio.ip-ddns.com的A记录
最后,使用trey.ns.cloudflare.com(IP地址为173.245.59.242)查询qwer.firadio.ip-ddns.com的A记录:
nslookup -type=A qwer.firadio.ip-ddns.com. 173.245.59.242
结果:
Server: trey.ns.cloudflare.com
Address: 173.245.59.242
Name: qwer.firadio.ip-ddns.com
Address: 5.28.39.4
总结
通过以上步骤,我们成功地手动模拟了DNS递归解析过程,从根域名服务器开始,一步步解析出qwer.firadio.ip-ddns.com的IP地址为5.28.39.4。
整个解析过程如下:
- 从根域名服务器获取.com TLD服务器
- 从.com TLD服务器获取ip-ddns.com的名称服务器和cloudns.net的名称服务器
- 从cloudns.net的名称服务器获取ns61.cloudns.net的IP地址
- 从ns61.cloudns.net获取firadio.ip-ddns.com的名称服务器
- 从cloudflare.com的名称服务器获取trey.ns.cloudflare.com的IP地址
- 从trey.ns.cloudflare.com获取qwer.firadio.ip-ddns.com的A记录
这个过程展示了DNS系统的分层结构和递归解析的工作原理,完全不依赖任何递归DNS服务器。
本文来自博客园,作者:项希盛,转载请注明原文链接:https://www.cnblogs.com/xiangxisheng/p/18889101