这篇文章本来不应该有。我也一直认为,在国内只要资历的网络用户,都应该知道GFW是怎么一回事儿然而,在谣言越传越广,越传越像真的的今天,或许一味地责怪被蒙蔽的人是愚民,也的确有点那么不近情理。我希望你能耐心的看完这篇文章。至少记住几个关键的技术名词。
首先Google为什么不好用?
很多国内的用户都不喜欢用Google的服务,包括网页/图片搜索、网页快照, Gmail和Gtalk等等,因为它们不好用。在各种各样的抱怨里面,最常见的就是打开Google的某一个网页时,比如一个搜索结果,网页开到一半或者根本就没来得及打开,浏览器突然出现一个错误信息: 取消操作。然后在数分钟内,Google就无法访问了,只要试图去访问就会返回"无法显示网页"的白屏。
看起来Google的服务器真是烂极了。
不过稍微分析一下,就会发现Google的抽风是有规律的。打开Google.com, 搜索一条敏感些的信息,比如F.L.G,Google的页面准玩完。在接下来不能访问Google的几分钟内,如果您重新拨号换个IP,或者干脆换台机器上网,会发现Google的访问一切正常。这用“服务器烂”显然是搪塞不过去的。
这是不是Google屏蔽敏感搜索的特别手段呢?如果真是如此Google应该学习百度,直接返回一个错误页面,比如这个。直接返回错误页面并且还出现暂时屏蔽,这用户体验也太差了。这个究竟是不是Google所为?我们在后面很快就会看到答案。
但是有一点是肯定的,因为Google.com的服务器在国外,而它又是一个国外的搜索引擎,不免可以搜索到很多中国当局不怎么喜欢的东西,因此这几年也出过几次Google在国内无法访问的事件。
Google大概意识到了这一点,于是今年有了“谷歌”,也就是Google.cn。谷歌的服务器在北京,于是在Google.cn上,我们发现错误页面和暂时屏蔽就不再有了,取而代之的是,有时候您会在搜索结果下面看到一条信息: 根据当地法律法规,部分结果未予显示。
而这次出问题的也不是Google.cn,而不是Google.com。要说明根本原因是什么,就必须了解一个叫作GFW的神奇东西。
什么是GFW?
GFW的概念和定义在百度百科和维基百科上都可以找到答案。如果需要打开后面的链接请参考这篇文章,前面的链接在国内访问没有问题,虽然粗略了些,但是基本上也已经把事儿说清楚了。
简单地说,这个被称作GFW(Great Firewall,防火长城)的东西是架设在我国主干级网络路由器上的一套系统,是中国政府花了大量纳税人的钱购置的一套高级信息过滤设备。可以在国际出口上阻止您访问任何政府不希望您看到的东西。为了把这个有点技术味道的问题说得更清楚,我们不妨打个通俗些的比方:
我们上中学那会,稍微传统一些的老师,都会像打击犯罪一样竭力阻止自己的学生早恋,连递个纸条都会被视为非常危险的行为。GFW和这个事儿有点像,都是属于挖空心思要把小两口隔开的那种,只不过这一次分隔的双方变成了国内用户和国外网站(其实国外用户访问国内网站也受到完全相同的限制)。
实现封锁有好几种几种途径,这里要讨论的是以下两种情况:
封锁特定网站。这应该很容易理解,只要GFW发现您试图访问一个处于屏蔽列表中的国外网站,就会立即主动切断网络连接。在浏览器上您会立即看到一个“无法显示网页”的回应。这属于比较极端的手段,基本上老师迫不得已也不会用,除非发现那小两口都快把生米煮成熟饭了。所以当2003年我们的GFW在发现Google可以搜索出大量F.L.G站点的时候曾经试图用这招封锁Google,但是很快就放弃了。
所以为了精确打击,GFW就加入了内容过滤。它是这样工作的:当您访问一个并不处在站点屏蔽列表的国外网站(比如Google.com)时, GFW会检查您发送和收到的信息中有没有官方认定为"不好"的内容,一旦这位老师发现你在递小纸条给人暗送秋波,那么GFW就要采取行动了。
这个行动是有一定惩罚性的。GFW不仅仅会切断被认为有问题的连接,还会把递纸条的双方加入一个临时黑名单,在此之后这双方之间的网络连接都会被直接拒绝,大约持续五分钟。在这五分钟内,浏览器上显示的就是“无法显示网页”。然后就会恢复正常。
检查自己班上每个男生和女生之间的一举一动显然是个力气活,所以GFW也得偷点懒: 这种检查并不完整地检索HTTP传输上的信息,而只对大数据量的网页数据作部分检查。所以递纸条还是有机会逃过老师的法眼的,但是如果递得太多,那么八成还是会被逮住。
当然久而久之,老师也会积累一些经验,通过观察日常的举动,知道什么样的学生有早恋的倾向,那么审查自然也会严格一些,被抓到的机会就大。而那些一本正经的好学生和看上去没什么魅力的宅男,可能就不会被太多关注。据推测GFW有类似的智能化的关键字抓取策略,如果某个连接里面传输了一些可能和敏感内容相关的内容,那么接下来的几次访问就会被严格监视,反之如果里面的内容不像是会后续一些敏感信息,为了节约一些资源,可能后面的检查就会松一些。
当然这种检查方式有天生的弱点,其一是你可以把纸条交给一个可以信任的女生让她代转,不过不能保证这个代转过程不会被老师发现;其二那就是信息一旦加密就无能为力。所以比较安全的递纸条手段是,把它藏在书本里面,往往就可以轻松地瞒天过海。所以解决方案就是加密的HTTP代理服务器,非加密的代理服务器一样逃不过GFW的法眼。
这样一来,GFW的基本工作机制应该已经解释得很明白了。Google为什么会"不好用",应该也是挺明白的一件事了。那么我们进入正题:
Google是如何“封锁”南京大屠杀的?
当您打开Google.com的时候,在搜索栏搜索"南京大屠杀",您的浏览器就会向位于国外的Google服务器发送一个包含"南京大屠杀"字样的HTTP请求。这个请求在到达国际出口时会接受GFW的检查,如果里面被发现有不合法的内容,那么你的连接就会被强制关闭,返回"无法显示网页"的页面,之后几分钟内都会无法访问Google。很显然,你看到的情况与此类似。
当然,可能这仍然不能证明Google没有在背后捣鬼。不过这个很容易解决,找一个国外的普通HTTP代理服务器,用它来访问Google,搜索 "南京大屠杀"。结果如何? 没错,还是"无法显示网页",而且这个代理似乎在几分钟内也不能用了。看起来确实是Google在捣鬼了。
且慢!等一小段时间或者换一个国外代理,打开百度搜索一下"南京大屠杀",结果如何?似乎没问题,刷新几下页面看看? 是不是也看到了相同的错误信息?莫非百度也作了相同的封锁?当然不是这样,因为我们知道,在国内百度的搜索是正常的。
实际上,用代理也是可以让Google搜索到南京大屠杀的。这个实验月光已经做过了。在加密海外代理的保护下,一切正常。倒是百度的页面继续返回"无法显示网页"。
让我们来整理一下上述的几个事实。
(1) 在国内无法用Google.com搜索"南京大屠杀"。
(2) 在国内可以用百度搜索"南京大屠杀"。
(3) 使用普通海外HTTP代理服务器无法用Google.com搜索"南京大屠杀"。
(4) 使用普通海外HTTP代理服务器无法用百度搜索"南京大屠杀"。
(5) 使用加密海外HTTP代理服务器可以用Google.com搜索"南京大屠杀"。
(6) 使用加密海外HTTP代理服务器无法用百度搜索"南京大屠杀"。
OK,现在请稍微启用一点判断推理能力,结合前面关于GFW的知识,请问捣鬼的究竟是Google自身还是谁? 相信平均智力的人不会继续做出荒唐的判断。
结论只有一个,那就是"南京大屠杀"在GFW的过滤列表之中。不过这么想来还是有些费解的,为什么GFW要屏蔽这个?我们来继续看一下月光的这个实验。
事情应该已经很清楚了,GFW封锁的根本不是什么"南京大屠杀",而是"屠杀"。其实比起小鬼子来,这世上可是有人更加忌讳"屠杀"二字的啊。如果您明白这里面更深刻的历史背景,相信就会清楚这是怎么一回事;如果还不理解也没关系:这世上没有不透风的墙,您迟早会知道是怎么回事的,只要您保持自己的判断力不要继续被人煽动和误导的话。
关于Google的这则谣言散布出来有半个多月了。在散布的过程中,我看到了很多不愿意思考只知道瞎愤的无可救药者,但是大多还仅仅是被蒙蔽了而已。确实,这个谣言比以往完全那些不靠谱的那些,可以亲身实验,有看似可靠的依据,如果不明白GFW是什么,很容易因此而轻信。所以我还是希望,用相对低端一些方式,把一些必要的知识描述出来,至少也可以尽量减少被蒙蔽的人的数量,而明白事理的人也不会继续成为其它类似的可笑谣言的受害者和传播者。