DNS污染,又称为域名服务器缓存污染(DNS cache pollution)或者域名服务器快照侵害(DNS cache poisoning)。
DNS污染是指一些刻意制造或无意中制造出来的域名服务器分组,把域名指往不正确的IP地址。
一般来说,网站在互联网上一般都有可信赖的域名服务器,但为减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有相关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。
某些网络运营商为了某些目的,对DNS进行了某些操作,导致使用ISP的正常上网设置无法通过域名取得正确的IP地址。某些国家或地区为出于某些目的防止某网站被访问,而且其又掌握部分国际DNS根目录服务器或镜像,也可以利用此方法进行屏蔽。
这和某些运营商利用DNS劫持域名发些小广告不同,DNS污染则让域名直接无法访问了,非得修改DNS服务器不可。
如果你想检测网络时候收到DNS的污染所影响,可以通过以下三个步骤:
1、点“开始”-“运行”-输入CMD,再输入 ipconfig /all ,在下“DNS SERVER”(中文:DNS服务器)里找到你使用的DNS服务器地址。
2、再输入 nslookup www.xxxxxxx.com(你的域名)+【空格】+【你的DNS服务器IP 】,来查看是否能解析。
3、再输入 nslookup www.xxxxxxx.com 8.8.8.8 使用Google的DNS服务器验证。
DNS污染验证方法
我们可以在CMD命令行下通过这样一条命令:
nslookup 域名 192.168.1.1(其中192.168.1.1就是你的要验证的DNS地址)
即可判断该域名是否被污染,由于192.168.1.1不存在,理应没有任何返回。但我们却得到了一个错误的IP(不确定)。即可证明这个域名已经被DNS污染了。
可能以上步骤不是很清楚,具体的验证方法请参考
==》DNS污染验证方法《==
DNS污染解决方法
1、使用各种SSH加密代理,在加密代理里进行远程DNS解析,或者使用VPN上网。
2、修改hosts文件,操作系统中Hosts文件的权限优先级高于DNS服务器,操作系统在访问某个域名时,会先检测HOSTS文件,然后再查询DNS服务器。可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持。
你可以试试下载==》hosts编辑器
3、通过一些软件编程处理,可以直接忽略返回结果是虚假IP地址的数据包,直接解决DNS污染的问题。
5、使用DNSCrypt软件,此软件与使用的OpenDNS直接建立相对安全的TCP连接并加密请求数据,从而不会被污染。