对于DNS污染,一般除了使用代理服务器之外,并没有什么其它办法。但是利用我们对DNS污染的了解,还是可以做到不用代理服务器就能解决DNS污染的问题,从而在不使用代理服务器的情况下访问原本访问不了的一些网站。
当然这无法解决所有问题,当一些无法访问的网站本身并不是由DNS污染问题导致的时候,还是需要使用代理服务器才能访问的。
DNS污染的数据包并不是在网络数据包经过的路由器上,而是在其旁路产生的。所以DNS污染并无法阻止正确的DNS解析结果返回,但由于旁路产生的数据包发回的速度较国外DNS服务器发回的快,操作系统认为第一个收到的数据包就是返回结果,从而忽略其后收到的数据包,从而使得DNS污染得逞。
而某些国家的DNS污染在一段时期内的污染IP却是固定不变的,从而可以忽略返回结果是这些IP地址的数据包,直接解决DNS污染的问题。
DNS污染解决方法
1、使用各种SSH加密代理,在加密代理里进行远程DNS解析。
2、修改hosts文件,操作系统中Hosts文件的权限优先级高于DNS服务器,操作系统在访问某个域名时,会先检测HOSTS文件,然后再查询DNS服务器。可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持。
3、通过一些编程处理,可以直接忽略返回结果是虚假IP地址的数据包,直接解决DNS污染的问题。
4、如果你是Firefoxonly,直接打开Firefox的远程DNS解析就行了。在地址栏中输入:
about:config
找到network.proxy.socks_remote_dns一项改成true。
来源:51CTO
作者:加油睡觉吧
链接:https://blog.51cto.com/14498873/2434758