Tags: , , , , , , 3,316, Posted in 網際網路 6 条留言

从Mr. 21博客里面为数不多的几篇关于Hosts文件应用的文章(《DropBox》、《BlogBus被封应急方案》等)来看,我们的网络是充满刺激和不明真相的,随时都不知道自己访问的网站到底存不存在,也不太敢确定自己看到的是不是真的,于是我们需要一些手段来解决,其中之一就是使用可信的公用DNS(Public DNS)

下面列举目前网上流行的比较可靠的三个DNS,使用哪个,看个人爱好了:

  • Google Public DNS
  • Open DNS
  • Norton DNS
  • | 8.8.8.8 / 8.8.4.4
    | 208.67.222.222 / 208.67.220.220
    | 198.153.192.1 / 198.153.194.1

但是,我们知道另外有种方式叫“DNS污染”,就是在你获得电脑获取正确的域名解析结果前,墙先把一个假的结果反馈给你,于是电脑便会忽略了那个来得比较慢的正确结果,也就说,我们单纯使用一些可信的公用DNS还是不够的,于是还需要一些修改过的小程序来解决这样的问题。

    程序名称:Anti Dns Pollution
    程序作者:Ying David ( http://www.google.com/profiles/lehui99 )
    开发语言:JAVA
    授权方式:开源
    下载地址:http://www.williamlong.info/archives/2184.html

    下面说一下这个小程序的具体工作流程:首先程序启动后,会从文本文件dnsfilter.properties中读取配制,然后去一个不存在的DNS服务器——但这个IP地址却是国外的——中进行DNS查询被劫持的域名,然后返回的IP地址就是被劫持的IP,被记录下来,之后正常的DNS查询中,就自动把这些IP地址过滤了。这个程序以后会不定期更新,或许也会出.NET版本,请在我的Google Reader上关注更新。

    对于高级用户,可以手动用文本编辑器修改配置文件dnsfilter.properties:

      BindToIP:小程序启动后作为DNS服务期绑定53端口,这里指定绑定的IP地址
      DnsServer:国外的DNS服务器,可以设置为OpenDNS或Google DNS服务器的IP地址
      ResponseTimeout:DNS查询返回超时的时间(毫秒)
      TestDnsServer:测试DNS服务器,请指定一个不存在的DNS服务期,但要求IP是国外的
      TestRespTimeout:测试DNS服务器的查询返回超时时间(毫秒),也就是DNS劫持的旁路回复超时时间
      TestCount:测试DNS服务器的次数,为了得到所有被劫持的IP地址,需要一定的测试次数
      小程序的执行文件和源代码在同一个压缩包内,请点上面的链接下载(含源代码)。

好吧,看到这里,基本上应该是可以保持一个稍微正常的网络使用环境了。

部分内容引用自:

June 20, 2010