DNS的秘密(2)一次完整的DNS寻址过程详解

782 阅读2分钟

这是我参与8月更文挑战的第14天,活动详情查看:8月更文挑战

书接上回,在介绍了DNS工作原理之后,我们来结合真实的寻址过程看看DNS协议是如何工作的。

安装dig查询工具

本文会使用到的工具是dig命令,它是专用的DNS查询命令,windows系统无法直接调用,需要单独安装。

dig的执行程序是在Bind软件包里,首先下载Bind软件,下载地址www.isc.org/downloads/ 下载对应版本

image.png

image.png

解压后,可以直接通过cmd打开文件夹,运行dig

image.png

也可以将dig所在目录加入到环境变量中,这样可以在任意目录下直接调用:

image.png

寻址过程

在命令行输入: dig www.amazon.com.au +trace, 返回的是从根域名开始的完整寻址过程,截图太长,我分步讲解:

  1. 客户端先向本地DNS查询(172.20.10.1#53),并收到了LDNS的响应,收到239字节的响应,在34ms内,并列出了返回的13个根域名服务器的ns记录,这里的IP地址是隐藏的 image.png

  2. LDNS向13个根域名服务器发送查询请求,并从a.root-servers.net获取了921byte的响应,在201ms内,响应结果是au.对应的9个顶级域名服务器NS记录和IP地址 image.png

  3. LDNS继续向这9个TLD发送请求,并获得了com.au.的查询结果,从c.au服务器上。 image.png

  4. 以此类推,最终我们从ns4.p31.dynect.net这台权威域名服务器上获取到了www.amazon.com.au 对应的CNAME记录,它指向的是另一个域名: tp.04f01a85e-frontier.amazon.com.au.

image.png

  1. 也就是说,我们访问 www.amazon.com.au 时,实际上访问的是:tp.04f01a85e-frontier.amazon.com.au. 那么我们再查询一下这个域名的IP地址,简短截说,我直接放结果:

image.png

  1. 结果显示这依然不是最终的目的地,它指向的是d10yke8mddzjba.cloudfront.net. 应用的是AWS DNS云解析服务,我们继续向这个域名发起查询,得到最终结果:65.8.141.206

image.png

  1. 验证一下我们的结果,把这个IP地址输入浏览器

image.png

结果被拒绝访问,看来他们是做了一些权限控制,大家有兴趣可以拿google或者baidu的域名试一下,是可以打得开的。

以上就是DNS查询真实的流程,我们下一篇介绍DNS的anycast机制与根域名服务器

感谢阅读,如有不准确和错误之处请留言指正,我会立即修正,感谢!




总结不易,请勿私自转载,否则别怪老大爷不客气

欢迎喜欢技术的小伙伴和我交流,微信1296386616