互联网使用必知的另类攻略
大多数网友可能都遇到过LiveSpace无法登录、Google搜索无法显示、某些著名网站在特定期间非常不稳定等异常的网络故障。有时候,你能意识到这是防火墙在起作用,有时候也许只是当作了一般故障而忽视了。
忽视并不代表这堵墙不存在。中国国家防火墙,是公安部门“金盾工程”的一部分,时刻监管着进出国境的网络流量。其与古代长城相似,所以也被称为”GFW”(The Great Firewall of China),某些网民戏称为“功夫网”。
功夫网下,视频分享网站YouTube被封锁,Google旗下的博客网站Blogger被封锁,2008年以前对维基百科、SourceForge的全面封锁、以及微博客网站Twitter在本月初被封锁数日、Livespace经常无法登录等等,皆源于GFW。
但GFW并不仅限如此,很多其他网络阻塞也出自GFW。目前已知其采取的技术手段有(来自Wiki):
- 域名劫持(针对特定域名解析请求返回伪造的假IP或者空IP,Wiki)
事实上作者只遇到过国外免费域名服务器dyndns在教育网内无法解析的情况,其余DNS解析均完全正确。域名劫持不是一个很有效的技术,网速很快的地方正解很可能比伪造的提前到达,而且将DNS服务器设置为OpenDNS等境外服务器即可绕过劫持。
- IP封锁(禁止往返某个IP的流量)
上面提到的YouTube等就是这么封锁的。某些网站被封锁后网民的反映较大。
现在很多小型网站都采用虚拟主机,GFW封锁一个IP将会导致同一IP下一大批不相关网站也无法访问,如在香港的刘德华的网站就是无辜受害者。
- 关键词过滤(从传输数据的内容中查找关键词,进行过滤)
这套系统的确非常强大,据称由思科等公司建立。目前google.com的网页缓存无法访问,点击”Cached”浏览器会出现“连接被重置”,就是由于请求缓存的关键词被拦截。
从维基百科中搜索过滤关键词或者在google.com访问含有关键词的网站,将会导致其被屏蔽约数分钟,在此期间访问将会出现“连接被重置”。
作者在一次实验中,从google.com请求Cache,HTTP GET发出30ms(正常ping往返是70ms)后google.com(64.233.189.104)返回RST,TTL为正常的55,又过了10ms从同一个IP返回TTL=95的ACK,RST,两个应该都是伪造的。
在另一次试验中,作者从位于美国的某网站请求含有过滤关键词的网页,随后5分钟内,中国大陆所有地区均无法访问该网页,国外访问正常。屡次如此。
经作者试验,关键词过滤是双向的,从境外请求境内含有关键词的网页,也会被RST。
- HTTPS安全证书过滤(安全证书传输受阻,安全连接中断,但会话内容仍然无法被破译)
作者没有遇到过。
- 反破网软件(针对Tor等具有穿墙功能软件的措施)
作者没有遇到过。
在这些网站中,值得一提的是Twitter和Google。美国并不避讳Twitter最近在伊朗所起到的作用。相比于可以直接出国访问的google.com,教育网内无法直接访问的Twitter在学生群体中影响虽极其有限,但Twitter的作用不可小视。
Google在数年国际化的历程中,从一开始的强硬态度,到2002年9月起被中国大陆封锁,随后成立google.cn遵从中国达成的条款对内容进行过滤,再到后来,采取一系列本土化措施,以及解决ICP牌照问题,google的国际化战略逐渐成熟。6月18日谷歌低俗门和6月24日谷歌域名劫持事件,谷歌表现出了迅速行动和低调的态度。
对于谷歌上出现的不良信息,建议青少年同学安装绿坝•花季护航。
绿坝娘
但是绿坝•花季护航无法帮助一些身处于教育和科研网的网友,出于学术和科研目的需要访问一些由于GFW而无法访问的站点。下面的一些方法可能有所帮助。
在继续之前,你需要了解,绝大多数情况下我们是不需要以下这些方法来获取信息的,所以以下提供的这些方法仅仅提供了获取更广泛信息的方法,并不包含获取信息的隐私和安全性。DNS记录和更加万能的流量分析等技术手段完全可以追踪网络使用者的不当行为。
- 使用代理
代理网站将你的请求进行了转发,因而可以不直接访问相应IP地址即可查看相关内容,绕过了IP封锁,但对关键词过滤效果不好。一般可以使用HTTP代理(端口号是80,3128,8080,8000等),将HTTP请求进行转发以进行代理。Socks代理(端口号一般是1080)则提供了相当于TCP或者UDP层的接口,故可以进行更多的操作。
迅雷在工具菜单中设置代理后,仅对原始资源通过代理连接,其他资源仍然直接连接,且代理设置对BT和电驴无效。
BitComet在工具->选项中可以设置HTTP代理和Socks代理,BT任务可通过代理进行,但似乎大部分HTTP代理服务器并不支持这么做,Socks代理BT任务可以正常进行,显示低ID。有时对于代理服务器来说运行BT是一种竭泽而渔的行为。
有很多网站搜集代理服务器信息,比如proxycn或cnproxy,在这些网站上可以看到很多代理服务器的信息。在教育网内部需要首先连接国际网(比如教育网直通车)然后再设置境外代理。
在这些网站上还可以看到在线代理的链接,在线代理Phporxy使用PHP语言编写,可以方便地运行在小型网站或者虚拟主机上。由阿联酋人开发,目前已停止更新。Phproxy在中国和中东地区应用很多。该代理为不透明代理,即一般情况下网站无法得知访客IP,同时对网址进行了Base64编码(页面仍然是明文),虽不能加密但可以绕过某些网址过滤器。该代理程序很小,你可以下载源程序然后将它上传到免费虚拟主机上。但也有很多缺点,比如网页flash、js支持不好,php有30s的运行时限导致请求的文件过大时下载不完等问题。
软件Tor使用起来也类似于Socks代理,在浏览器中设置代理为主机localhost,端口8118(HTTP)或9050(Socks),然后运行Tor程序。Tor采用一种称为“洋葱路由技术”逐级跳转将数据传输至目的地。
作者并不推荐Tor, Tor的设计初衷是建立匿名通信网络从而确保使用者安全,然而作者并不认为使用Tor会提高安全性。即使在网络上的行为完全规范,使用Tor也有太多潜在风险。目前Tor的官方网站已经被墙,Wiki上说明Tor在境内有很多虚假节点。加密通信并不是本文的讨论范围。
- VPN连接
VPN(虚拟专用连接)设计目的是安全地穿越公共互联网组织公司内部网络。客户端首先连接公网,然后连接公司网络的VPN服务器,VPN将客户端与服务器之间的数据进行加密传输。由于连接VPN后,数据经由VPN服务器转发,故可以看作代理。教育网直通车等教育网加速软件也是采用VPN连接。VPN客户端设置方法参见微软官方。
VPN可以嵌套,对教育网用户,可以先连直通车然后连境外免费VPN。浏览境外内容,VPN是最佳选择。在其上可以运行除了服务器之外所有网络应用且应用程序无需代理等复杂设置。在这里需要说明的是,联网需要客户端软件进行验证的用户,需要将验证服务器的IP地址加入直接访问的路由,这样才能保证拨VPN后原先联网不会因失去与服务器连接而中断。比如某高校内网是10.*.*.*,验证服务器在这个内网中,原先的默认路由是10.0.3.1,需要在命令行中运行:
route add 10.0.0.0 mask 255.0.0.0 10.0.3.1 - 使用IPv6
很多高校现在已经开通了IPv6服务。目前IPv6使用专线连接,速度很快,出国没有审查限制。教育网内部大多数地方可以直接使用IPv6,对于公网用户,可以通过sixxs.net提供的隧道连接。有独立IP时也可以通过一些高校的ISATAP服务器连接IPv6,方法是在命令提示符中输入IPv6 install,回车,然后输入
netsh int ipv6 isatap set rou ****
其中****为isatap服务器地址,至少以下五所大学的isatap服务器可用:
isatap.tsinghua.edu.cn
isatap.sjtu.edu.cn
isatap.hust.edu.cn
isatap.xmu.edu.cn
isatap.scu.edu.cn如果已经连接上IPv6,查看本页面时应该可以显示出下面跳动的Google图标

成功链接ipv6后,在浏览器地址栏输入6rank.edu.cn,应该可以显示出IPv6的地址,然后在浏览器栏中输入想要查看的网址加上.sixxs.org即可通过设于荷兰的透明代理访问。如www.google.com.sixxs.org。
该代理速度很快,没有连接时长限制,但缺点也很明显,不支持Cookie影响某些网站的登录,只支持80端口,对js和网页视频支持不好。
IPv6上的在线代理和HTTP/Socks代理很少,很难搜索。
- 谷歌的一些服务
如果连接境外网络仅仅只是看博客,使用google的FeedBurner即可。FeedBurner可以从自己的服务器上收取博客内容。FeedBurner采用HTTPS安全连接,从你到google之间的信息是加密的。
Google最近推出了google app engine(GAE)这项服务,允许在google服务器上运行网络应用程序。使用Python和Java语言。允许从给定URL获取数据因而可以编写代理程序。目前的实现有:
在线代理mirrorrr
代理服务器GAppProxymirrorrr是在线代理,很好用。mirrorrr.appspot.com是一个Demo。将网址前缀改为https://可以安全连接到GAE,缺点是mirrorrr代理不支持Cookie。GAppProxy需要下载一个软件,该软件对传输的内容进行了简单的Base64编码。两者都是开源项目,可以自己申请一个GAE账户运行代理,速度和安全性都会提升。对于GAppProxy,上传时可将源代码中的app.yaml中
- url: /fetch.py
script: fetch.py后加上一行:
secure: optional
表示允许安全链接,即可通过安全链接访问GAppProxy,相应客户端应用程序中Use FetchServer需要选中,然后填入你的GAE地址,如
https://***.appspot.com/fetch.pyGAE还有其他如流量和CPU小时数限制,但对于个人代理完全够用,比较大的限制是只允许从给定地址的80/443端口获取数据,只允许获取不超过1M的数据。
GAE本身也在被墙之列,本年初也曾经无法访问。一些GAE应用现仍然被屏蔽。Google的触角伸得够远,联想起“GFW三定律”,我对GAE在国内的发展并不看好。

