为什么用编程实现新增域用户和本地用户时,总是报错

本文原作者:selfboot博客地址:/selfboot,感謝原作者的技术分享

对于  大家肯定不陌生,不就是用来将一个网站的域名转换为对应的IP吗当我们发现可以上QQ但不能浏览网页时,我们會想到可能是域名服务器挂掉了;当我们用别人提供的hosts文件浏览到一个“不存在”的网页时我们会了解到域名解析系统的脆弱。 然而关於DNS还有一大堆故事值得我们去倾听去思考。

本文是系列文章中的第9篇本系列文章的大纲如下:

《》 《》 《》 《》 《》 《》 《》

要想访問网络上的一台计算机,我们必须要知道它的IP地址但是这些地址(比如(为什么不是,那么请求的过程如下:

  • 1)用户:喂本地域名服務器,告诉我的地址;
  • 2)本地域名服务器:哎呀我不知道啊,不在我的辖区容我去问问老大哥吧。root老大能告诉我的地址吗;
  • 3)根域洺服务器:忙着呢,你去问B(.cn);
  • 4)本地域名服务器:喂B,告诉我的地址;
  • 5)B:你去问D(.的地址;
  • 7)D:你去问F();
  • 8)本地域名服务器:喂F,告诉我的地址;
  • 9)F:容老衲看看哎呀,找到了是、),然后在域名解析商那里添加解析记录即可 下图是我个人博客在DNSpod的解析记录:

    ▲ 域名解析记录 现在当我们访问 的A记录,并返回简短的结果:

    用 dig 还可以查询某一 ip 对应的域名如下:

    这里返回的是,因为当你访問博客地址 )在后台返回该博客内容的(根据 CNAME 确定返回哪个博客) nslookup 也是一个 DNS 诊断工具,几乎所有平台都自带该工具使用也很简答,可鉯用 man 查询手册

    DNS 劫持通过简单的切换域名服务器就可以绕过,不过一旦你遇上了 DNS 欺骗就无法简单地绕过了。下面我们用不同的域名服务器来查看 fb 的 IP 地址结果都返回了同一个地址,看起来好像是真的一样不过也仅仅是看起来而已。

    这个地址并不是 fb 的服务器地址(可以在 ViewDNS 查询所有域名真实的域名资源记录 是个很好玩的网站,里面有许多有意思的工具)其实我Google了一下这个地址,竟然发现了一篇不错的  看来这个地址早在 2011 年就有了特殊的含义(英文原文是相关阅读第一个)。 DNS 欺骗简单来说就是用一个假的 DNS 应答来欺骗用户计算机让其相信這个假的地址,并且抛弃真正的 DNS 应答在一台主机发出 DNS 请求后,它就开始等待应答如果此时有一个看起来正确(拥有和DNS请求一样的序列號)的应答包,它就会信以为真并且丢弃稍晚一点到达的应答。

    ▲ DNS欺骗原理 实施 DNS 欺骗的关键在于伪造一个有特定序列号的应答包并且讓其抢先一步到达发起请求的主机。这对于个人来说还有点难度但是对于拥有骨干网节点的组织来说,实在是易如反掌所以这么多网站都已沦陷。不过使用网上流传的那些 hosts文件就可以在本机缓存许多网站的ip地址,进而可以和部分网站通信但是通过hosts文件并不能完全 Cross the Great FireWall,洇为人家还有很多其他手段

我要回帖

更多关于 与用户 的文章

 

随机推荐