人们对于 GFW 工作原理的猜测从来没有停息过,因此尽管其真实的实现细节仍然无从知晓,一些有着强烈好奇心的学者以及国内的翻墙爱好者们还是瞥见了一些端倪。普遍的看法是,GFW 的工作机制主要包括 IP黑名单、内容审查和 DNS 劫持等三种,下面我们逐一举例探讨。
1、IP黑名单
1.1 视频分享网站Youtube在国内遭到封禁已是众所周知的事实,由于使用域名访问会存在DNS劫持问题(详见第 3小节的讨论), 这里直接以其IP地址之一 208.65.153.238 来举例说明GFW的IP黑名单机制。简单的用浏览器访问http://208.65.153.238,你会发现你根本无法打开,执行ping命令也会出现超时的现象。从上面的简单例子,我们可以看出目标主机未能(或无法)及时响应我们的请求。
接下来我们执行tracert命令,结果如下:
显示我们需要访问的主机断在: 202.97.55.9这个地方。不信你可以试试facebook的一个ip地址:66.220.149.32,也会得到相似的结果。
1.2 猜测
根据以上结果我们猜测,GFW 很有可能维护了一张 IP 黑名单,一旦发现发往黑名单中地址的请求数据包,就直接将其丢弃,这将导致源主机得不到目标主机的及时响应而引发超时,从而达到屏蔽对目标主机的访问的目的。
2、内容审查
2.1 用 Google.com 搜索关键词“胡锦涛” ,你会发现不能访问,而且Google.com也变得无法访问。
2.2 猜测
我们猜测,GFW 对 HTTP 数据包进行了扫描,并且 GFW 内部可能包含有一张敏感词汇列表,一旦发现被扫描数据包中出现敏感词汇,就会立即向源主机和目标主机发送伪装成对方地址的TCP连接重置包,以实现断开连接的目的。
进一步,GFW 还会在一个临时的黑名单中记录遭到封禁的源主机和目标主机的地址,并保存一段有限长的时间。一旦发现被封禁的源主机在封禁期间再次请求目标主机,将直接返回TCP连接重置包(此时可能是单向的),而无需扫描新的请求数据包。
另一个发现是,这种内容审查机制并非对所有站点起作用,在以前Google还没有宣布退出中国大陆的时候,在Google.cn搜索关键词“胡锦涛”不会出现被盾(被墙)的现象,现在服务器搬到香港后,google.com.hk就没那么幸运了。一种可能的原因是,GFW 启用了一张 IP监视名单,Google.com和现在的Google.com.hk地址正是其中之一;另一种可能是,以前访问Google.cn时不会经过GFW设备,也就不会触发TCP连接重置。
3、DNS劫持
3.1 除第 3.1 小节所述IP黑名单技术外,GFW还采用了DNS劫持的手段来达到对Youtube的封禁目的。使用nslookup命令,如图:
我使用的是Google的DNS解析,发现返回的值不是twitter的真实ip,一连串很怪的ip。要得到真实的twitter地址,你可以通过在线nslookup得到:http://www.kloth.net/services/nslookup.php
3.2 猜测
GFW至少使用了两种DNS劫持机制:一方面,GFW对国内DNS服务器进行了缓存污染,这种污染体现在使用国内DNS服务器对Youtube进行解析会得到稳定的、虚假的IP地址;另一方面,GFW会拦截和应答试图从国内发往国外的DNS解析请求(也可能是对国外DNS服务器的应答进行了篡改) ,这体现在使用OpenDNS进行解析时观察到的可变的、虚假的IP地址。
4、总的来说,尽管 GFW 的真实工作原理不为人知,但种种迹象表明,目前的 GFW 并不复杂。一方面,这是由于当前软硬件技术水平的限制;另一方面,彻底的封禁需要的代价实在太大。然而我们不得不承认,就其动机而言,GFW 目前取得的效果是成功的,有着强烈好奇心的学者和翻墙爱好者毕竟只是少数,绝大多数国民还是不太可能掌握和灵活使用第4章所介绍的突破技术,更何况这些技术在与 GFW 的对抗中处于明显弱势,随时可能遭到封杀。(参考作者:丁旋)