关于DNS劫持的几点说明

作者: dawnh

首发于:https://www.yangqiceng.com/162.html#comment-147

从trackback跟过来了.
从技术角度来讲,只要以任何手法非法将某域名的解析地址由正常的IP换为不法者所期望的IP地址,都可以称为DNS劫持.然而如今这个词确实是有点被滥用了.

对于opendns,如果如你所说opendns将不存在的域名或者已存在的域名”歪曲”地解析到自己的IP,那是opendns自己实施劫持行 为,此为一种情况,但是还存在情况诸如某域名解析本身被人非法取得解析权将解析记录直接改为非法者需要的IP,这又是另一种情况,前一阵子那个”买卖网” 为此情形.
然而解析得出了非常规的结果也有可能是误操作,误配置之类的情形,此类就万万不能称作劫持了.实际上现在很多莫名其妙的网络故障导致的解析失败也都被某些人称作劫持,两个字–”炒作”,再加两个字–”卖弄”.

对于那天blog搜索那事,我也在第一时间检查过,然而结果是search.cn.msn.com和blogsearch.google.cn这两 个域名被解析到北京电信某机房的某个IP,而此IP恰好为baidu的某一搜索服务器的web服务器,因此post到这两个域名的搜索字段实际上都 post去baidu的搜索页,然而baidu不接受此类post的形式,因此才出现找不到页面。
这里面有两个细节:
1,如果假定存在劫持,此次劫持点绝对和以前不同,因为范围之广不可能在本地ISP诸多DNS一同实现,然而推到上一层得话就不太可能由DNS服务器本身 行为控制,只能是GFW之类的设备直接从DNS协议层下套子才可以了。GFW有篡改DNS协议的行为有很多推断,但目前没有定论。
2,这几个服务商的几个域名都是有通过BIND的VIEW实现接近本地的IP解析,简单说就是说你用什么地方的解析服务器,这个解析服务器查出来的域名记 录为最靠近这个解析物理位置的IP,以求得更快得访问速度,也就是在中国查就查到中国服务器的IP,在美国就是美国,因此使用opendns根本无法得出 与中国国内有比较性的结果,因此根据使用opendns来判断产生劫持本身也是个伪论据。

因此最后的结论是,可能是劫持,而更可能是某个层次的某些技术人员的误操作将IP解析错误到了baidu去导致的。我个人更倾向于后者,因为 baidu本身不可能有这种能力,同时大家也都看到了,这次错误的解析直接被送到了baidu的错误页,如果baidu有精心准备,应该早就将这些搜索关 键字利用才对,而不是现在这种结果。

总之阴谋论以及骂娘者都该消停一下,这也是我本人为什么没再继续写类似文章的原因,某些人理解能力有限,谬解带来的社会影响不太好。

关于您的实际调查的想法是好的,要参与至少也要有这种程度的调查行为才可能下论断,而不是胡乱猜测。另外,查解析用ping不太合适,因为在您本地机器会有缓存,即使更改了DNS或者重起路由器都无法解决。还是请使用dig和nslookup之类的工具。

Update:

回头看了看我最后二段写的恐怕会令人误解,我个人是思路到哪里写到哪里。这两段的某些人是指得一些不去检查只会指责的那些各大网站评论者,并非说您,您的整体思路是没有问题的,唯一的问题在于检查时使用工具非最佳,另外月光那文章确实也是没道理的。

补上这个说明,希望不要误解。

7 comments

  1. 彻底解决dns绑架问题,碰到不存在的域名可以定义成自己的网站。
    dns被绑架了,很烦人,对吧?
    其实解决起来很简单的,你一定喜欢。
    只需要把你电脑的DNS修改为 221.2.55.236 和 219.147.28.229 一切就都解决了。
    修改为上面的DNS以后,再碰到不存在的域名,会弹出一个页面,你别着急,不一样的地方就在这里,你在这一页填上你想显示的网站,以后访问不存在的域名时,就会跳转到你定义的网站了,是不是很不错啊。
    以后想跳转到另外的网站怎么办?只要在浏览器 internet 属性里面 删除Cookies 就可以重新定义了。
    选择这2个DNS有什么好处呢?一个是可以不再被绑架,另外还有个好处,因为这2个DNS一个在电信、一个在网通,可靠性是非常高了。
    221.2.55.236 是在网通,你的电脑上网是网通的话,就把主DNS修改为这个。
    219.147.28.229 是在电信,你的电脑上网是电信的话,就把主DNS修改为这个;

    1. S.b.
      对于普通用户来说不需要知道Nslookup原理,甚至可以不知道Nslookup命令,客户如果你Ping一个内部网电脑名/不存在域名都会被劫持到某些特定服务器,这算什么行为?是不是劫持,是不是破坏互联网秩序?
      你是电信的?请解释为何使用中国大陆以外的DNS之后Nslookup结果就正确呢?为何国内的就不正确?你这么明白,不会解释不出来吧?

  2. 设置个香港或外国的DNS嘛。当然要选快的了。 怎么选快的了。用软件测试呀。
    有款软件专门设置DNS,自动从全国和世界的DNS中挑选相对于你的电脑最快的DNS设置。安装后,按一个按钮就全部自动搞定了。
    搜索”彗星DNS优化器”可找到。免费软件。

Comments are closed.