本文原作者:selfboot博客地址:/selfboot,感謝原作者的技术分享
对于 大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗当我们发现可以上QQ但不能浏览网页时,我们會想到可能是域名服务器挂掉了;当我们用别人提供的hosts文件浏览到一个“不存在”的网页时我们会了解到域名解析系统的脆弱。 然而关於DNS还有一大堆故事值得我们去倾听去思考。
本文是系列文章中的第9篇本系列文章的大纲如下:
《》 《》 《》 《》 《》 《》 《》
要想访問网络上的一台计算机,我们必须要知道它的IP地址但是这些地址(比如(为什么不是,那么请求的过程如下:
▲ 域名解析记录 现在当我们访问 的A记录,并返回简短的结果:
用 dig 还可以查询某一 ip 对应的域名如下:
这里返回的是,因为当你访問博客地址 )在后台返回该博客内容的(根据 CNAME 确定返回哪个博客) nslookup 也是一个 DNS 诊断工具,几乎所有平台都自带该工具使用也很简答,可鉯用 man 查询手册
这个地址并不是 fb 的服务器地址(可以在 ViewDNS 查询所有域名真实的域名资源记录 是个很好玩的网站,里面有许多有意思的工具)其实我Google了一下这个地址,竟然发现了一篇不错的 看来这个地址早在 2011 年就有了特殊的含义(英文原文是相关阅读第一个)。 DNS 欺骗简单来说就是用一个假的 DNS 应答来欺骗用户计算机让其相信這个假的地址,并且抛弃真正的 DNS 应答在一台主机发出 DNS 请求后,它就开始等待应答如果此时有一个看起来正确(拥有和DNS请求一样的序列號)的应答包,它就会信以为真并且丢弃稍晚一点到达的应答。
▲ DNS欺骗原理 实施 DNS 欺骗的关键在于伪造一个有特定序列号的应答包并且讓其抢先一步到达发起请求的主机。这对于个人来说还有点难度但是对于拥有骨干网节点的组织来说,实在是易如反掌所以这么多网站都已沦陷。不过使用网上流传的那些 hosts文件就可以在本机缓存许多网站的ip地址,进而可以和部分网站通信但是通过hosts文件并不能完全 Cross the Great FireWall,洇为人家还有很多其他手段