大中小

昨天因为青岛长城的 DNS 服务器故障导致我半个多小时不能上网 QAQ。
由于长城宽带的限制,我不能使用除他们默认 dns 外的任何 dns 服务器(8.8.8.8 之类的都不能用),而长城又是出了名的流氓,各种广告不说,上个淘宝都会被强迫走他的邀请链接。。。经过昨天一晚的折腾,终于忍不下去了,经过各种 google & 百度,找到一个很棒的小程序用来防止 DNS 污染和劫持。
不想看我废话只要下载的话请直接看最底下~
首先来科普下什么是 DNS 劫持和 DNS 污染,以及两者的区别:
DNS 劫持,即劫持了用户的 DNS 服务器。通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原 IP 地址转入到修改后的指定 IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。以长城为例,他们劫持了我的 DNS,导致我www.taobao.com 这个域名的解析不是解析到淘宝的服务器 ip 上,而是去了长城的推广页的 ip,然后他们再通过跳转的方式跳转到淘宝的返利链接中,如此一来就被强制走了他们的返利链接 Orz
DNS 劫持的表现:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向 ISP 提供的 “电信互联星空”、“网通黄页广告” 等内容页面。还有就是曾经出现过用户访问 Google 域名的时候出现了百度的网站。这些都属于 DNS 劫持。
DNS 污染是一种让一般用户由于得到虚假目标主机 IP 而不能与其通信的方法。是一种 DNS 缓存投毒攻击(DNS cache poisoning)。其工作方式是:由于通常的 DNS 查询没有任何认证机制,而且 DNS 查询通常基于的 UDP 是无连接不可靠的协议,因此 DNS 的查询非常容易被篡改,通过对 UDP 端口 53 上的 DNS 查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。DNS 污染是发生在用户请求的第一步上,直接从协议上对用户的 DNS 请求进行干扰。
DNS 污染的表现:目前一些被禁止访问的网站很多就是通过 DNS 污染来实现的,例如 YouTube、Facebook 等网站。
对于 DNS 污染和劫持的解决办法有很多,普通情况下修改 DNS 即可达到目标,但是由于很多国内运营商一级路由的限制和其本身的污染,会导致我们仍然无法 “畅游网络” 。这里我推荐大家一个 openDNS 的小插件(DNSCrypt),可以完美解决所有问题。