2013年2月22日星期五

如何解决DNS污染和DNS劫持


DNS污染和DNS劫持是非常常见的现象。

输入了一个错误的URL后,本应该出现的404页面却是电信114,
正常访问网站时出现的电信的小广告,
使用了VPN却依然无法正常访问某些境外网站,
以及各种钓鱼页面,
这些都是遭到DNS污染和DNS劫持的现象。
本站推荐给大家一个小程序,可以一劳永逸的解决这个问题
点此下载 ,安装(Vista/Win7需要以管理员身份运行)。
然后修改你的网络适配器设置(根据你的上网方式选择适配器),把DNS服务器地址手动指定为127.0.0.1,即本机地址,如下图所示。
程序默认使用OpenDNS,可以修改安装目录下的dnsserver.conf选用你自己喜欢的境外DNS服务器,比如Google DNS 8.8.8.8。
(1)错误的地址,返回干净的404错误页面(我改成了Google DNS,默认的OpenDNS也会重定向到它自己的页面)
(2)在很多地方,因为DNS污染的原因,就算通过代理服务器,也无法正常访问twitter,安装DNS Proxy后能正常访问了(当然需要代理)。
软件原理:
目前DNS协议是基于UDP的不可靠无连接传输,入侵者无法截获每一个DNS的response包,原因可能是计算量太大了,所以采用了一种污染的方式,抢先在真正的DNS response包返回之前先伪造一个response发送给请求者,而请求者在收到这个包之后以为就是真的结果了(因为无连接,先到原则),就忽略掉之后的response了。DNSProxy这个软件的做法很简单,先缓存第一个收到的response,如果在一段时间内又收到了另外一个response,那就丢弃之前那个,如果没有收到,那说明这个response是真的,直接返回给请求的应用程序,这样就可以过滤出真假response了

没有评论:

发表评论