dns污染,又称为域名服务器缓存污染(DNS cache pollution)或者域名服务器快照侵害(DNS cache poisoning)。
DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。
一般来说,网站在互联网上一般都有可信赖的域名服务器,但为减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有相关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。
一、DNS污染症状:
目前一些被禁止访问的网站很多就是通过DNS污染来实现的,例如YouTube、Facebook等网站。
还是举个例子易于理解:这招是GFW常用的。你访问google.com 因为人家服务器在国外,你的DNS过去解析,肯定要走国际带宽的出口,然后就被GFW逮住了。因为DNS 走的是UDP协议,且UDP又没有什么校验机制,只管发送。所以这时候,GFW就假装成DNS服务器回应你了,而此时真正的请求可能正在被真正的DNS服务器处理,假的已经返回给你了,浏览器就选择了最快返回的那个地址去解析了。当然是一个不可用的地址啦。
因为DNS 走的UDP协议,并且是53端口,所以这有多好发现也就不言而喻了。如果你强行让DNS走TCP协议,GFW 有办法让你连接重置,虽然污染不了你的DNS,但是你还是无法获得ip。
也就是为什么有一种FQ方式就叫修改host 文件,修改后,域名不需要去DNS服务器请求了,直接在你的操作系统里就已经解析出了ip 地址。但是,GFW还是会定期封杀这些网站的ip地址,你的host就没用了。
二、DNS污染验证方法
1、进入iis7网站监控页面,输入你想要检测的域名,如图:
2、点击“提交检测”,开始检测,如图:
3、检测结果如图:
使用地址:IIS7网站监控工具
三、DNS污染解决方案
解决方案一:需要能够进行更换DNS解析服务器。通常域名注册商家都是提供有免费的DNS解析服务的,就拿大家都使用的gdaddy来说,就是能够提供很多免费的DNS解析服务,而且的话其解析速度也是非常快的,比之前使用的万网之流等都要快得多,毕竟不可能全部会受到污染因此只要更换2个DNS服务器就好了。
解决方案二:使用第3方DNS解析服务。目前很多第3方网站都提供有DNS解析服务,而且不少还是免费的,国内也都有免费的DNS解析服务,这样就能使用第3方DNS服务可以进行解决问题;像有名的望月正在使用的DNSpod服务,就是现在国内比较稳定的DNS解析服务。
四、解决DNS污染需要注意的问题
1、大家在进行第3方解析服务的时候,就应该先到DNSPOD之类的解析服务商那里将域名进行解析,再过几个小时后再到godaddy之类的域名注册商那里去修改DNS服务器,这样就能有效避免出现由于解析时间问题造成的空白期发生了。
2、当godaddy本身域名被DNS污染后,只用更改自己电脑的DNS就好了。