5月22日,Google放出SSL版的Google搜索,通过加密版的Google搜索,你可以搜索任何东西而不会被墙撞得鼻青脸肿的。然而我当时就怀疑这个SSL加密版的Google搜索在中国能够坚持多长时间:“https://www.google.com/ 会不会被封呢?”。
6月27日,由于考虑到学校方面需要过滤,Google方面将加密搜索服务从域名www.google.com转到encrypted.google.com。
而今天,我们伟大的墙已经忍不住了,通过使用DNS污染技术,使得大陆获取encrypted.google.com所对应的ip不再是真正官方服务器群的ip。Google的加密版搜索,至此失效,2个月零5天。
附DNS污染技术简介
先说DNS查询原理。你的PC向你所设定的DNS服务器发送一个UDP查询包。DNS服务器返回结果,然后你的PC解释得到对应IP。
DNS污染技术,就是在网络链路上采用并联的方式,介入一台服务器。该机器也收到UDP查询包,然后发现是查询某些特定域名的DNS查询包,便发送一个错误的IP结果包回来。当然你所设定的DNS服务器也会发送一个带有正确IP结果的数据包回来。但是由于我们伟大的墙所部署的DNS污染服务器在物理链路上总是离我们的电脑近那么几毫秒,所以被污染的DNS结果数据包总是先于正确数据包前到达我们的电脑。而我们的电脑总是采用第一个数据包的结果,所以我们杯具了。
再说一下反DNS污染技术。经过各方人士的努力证实,DNS污染技术返回的错误IP数是有限的。向国外一个不存在DNS服务的IP发送上百个敏感DNS查询包,由于DNS服务不存在,应该不会返回结果的,但是伟大的墙被触发,所以返回错误的IP结果。搜集这些有限个IP地址,就得到了错误IP地址列表。再在本地架设DNS服务器,所有查询DNS请求转到一些国外知名DNS服务器(譬如Google DNS:8.8.8.8)上,而如果收到的IP结果是在错误IP地址列表里,则丢弃继续等待正确的DNS结果。架好服务器后,把本地电脑的DNS服务器指向127.0.0.1,从而完成反DNS污染。