SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
GFW 的工作原理及突破技术
                                       丁 旋

                   (清华大学计算机科学与技术系,北京,100084)

摘 要:GFW 备受争议,几家欢喜几家愁。本文从实例出发,探讨了 GFW 的工作原理,总
结了当前针对 GFW 的突破技术,并对这些突破技术进行了比较和分析。

关键词:Great Firewall,GFW,Censorship,Anti-Censorship,翻墙


1     引言

  GFW,即 Great Firewall of China,是中国政府监控和过滤互联网内容的一套软硬件系统
的俗称[1],最初得名于计算机专家 Charles R. Smith 在 2002 年发表的一篇网评 [2],本意是
取与 Great Wall(长城)相谐的效果,后被大众广泛使用而沿袭至今。

    GFW 的主要作用在于分析和过滤中国境内外网络的资讯互相访问,也就是说,GFW 不
仅对国内读者访问中国境外的网站进行干扰,也干扰国外读者访问主机在中国大陆的网站
[3]。由于网络环境的限制,本文主要探讨的是前一种情形。

   文章后续部分安排如下:第 2 章给出文中使用的术语和约定;第 3 章探讨 GFW 的工作
原理;第 4 章总结当前针对 GFW 的突破技术;第 5 章对这些突破技术进行比较和分析;第
6 章总结全文;致谢和参考文献分别在第 7 章和第 8 章。


2     术语和约定

      盾、墙:GFW 的别称。

      被盾:访问内容被 GFW 屏蔽,亦作“被墙”。

      翻墙:突破 GFW 访问被屏蔽内容,亦作“穿墙”
                             。

      Google.com:本文所出现“Google.com”均指代http://www.google.com/ncr 1,而非国内
      访问http://www.google.com自动重定向之http://www.google.cn。

      Google.cn:特指http://www.google.cn。


3     GFW 的工作原理

1
    ncr,no country redirect,不使用国家重定向
人们对于 GFW 工作原理的猜测从来没有停息过,因此尽管其真实的实现细节仍然无从
知晓,   一些有着强烈好奇心的学者以及国内的翻墙爱好者们还是瞥见了一些端倪。        普遍的看
法[1][3]是,GFW 的工作机制主要包括 IP 黑名单、内容审查和 DNS 劫持等三种,下面我们逐
一举例探讨。

3.1    IP 黑名单
3.1.1 一个例子

   视频分享网站Youtube在国内遭到封禁已是众所周知的事实,由于使用域名访问会存在
DNS劫持问题(详见第 3.3 小节的讨论) 里 直接以其IP地址之一 208.65.153.238 来举例说
                      ,这
明GFW的IP黑名单机制。

      用浏览器访问http://208.65.153.238有如下结果:




      执行 ping 命令也有超时现象:
上面两幅图均表明,目标主机未能(或无法)及时响应我们的请求,为了一探究竟,我
们进一步执行 tracert 命令如下:




  结果显示,路径断在了主机 202.112.61.214 的地方。

3.1.2 另一个例子

  访问网站牛博国际存在同样的问题,对其IP地址执行tracert也有类似结果:
3.1.3 猜测

  根据以上结果我们猜测,GFW 很有可能维护了一张 IP 黑名单,一旦发现发往黑名单中
地址的请求数据包,就直接将其丢弃, 这将导致源主机得不到目标主机的及时响应而引发超
时,从而达到屏蔽对目标主机的访问的目的。

  进一步,我们有理由认为主机 202.112.61.214 就是 GFW 的设备之一,为了证实这一猜
测,我们用 Nmap[6]对其进行了扫描:
扫描结果显示,设备 202.112.61.214 很有可能是一台 Cisco 的路由器,这与 GFW 的设备
构成是吻合的[5]。

3.1.4 IP 黑名单的缺点

  显而易见,这种对被封禁的网站采用黑名单而不是对被允许访问的网站采用白名单的过
滤机制,难免会有漏网之鱼的存在,Youtube的另外一个地址 208.117.240.37 就是一个很好
的例子(直到本文成文为止,该地址都可以直接进行访问)   :




3.2   内容审查
3.2.1 一个简单的例子

      用 Google.com 搜索关键词“freegate”,起初我们还能够得到搜索结果:
但是与此同时,我们收到了大量“从 Google 发来的”TCP 连接重置包。下图是使用
Wireshark[7]抓包的结果:




  刷新页面会发现已经无法访问:
并且 Google.com 也变得无法访问:




3.2.2 一个极端的例子

   与前面的例子类似,访问http://chinagfw.org/search/label/anti-censorship会收到数以百计
的TCP连接重置包:
3.2.3 猜测

  我们猜测,GFW 对 HTTP 数据包进行了扫描,并且 GFW 内部可能包含有一张敏感词汇
列表,一旦发现被扫描数据包中出现敏感词汇,     就会立即向源主机和目标主机发送伪装成对
方地址的 TCP 连接重置包,以实现断开连接的目的。

  进一步,GFW 还会在一个临时的黑名单中记录遭到封禁的源主机和目标主机的地址,
并保存一段有限长的时间。   一旦发现被封禁的源主机在封禁期间再次请求目标主机,将直接
返回 TCP 连接重置包(此时可能是单向的),而无需扫描新的请求数据包。

   另一个发现是,这种内容审查机制并非对所有站点起作用,例如,使用 Google.cn 搜索
同样的关键词“freegate”就不会出现被盾的现象。一种可能的原因是,GFW 启用了一张 IP
监视名单,而 Google.com 的地址正是其中之一;另一种可能是,访问 Google.cn 不会经过
GFW 设备,也就不会触发 TCP 连接重置,而位于 GFW 之外的 Google.com 则难逃此劫。

3.3   DNS 劫持
3.3.1 一个例子

  除第 3.1 小节所述IP黑名单技术外,GFW还采用了DNS劫持的手段来达到对Youtube的封
禁目的。

      为了说明这一点,我们执行 nslookup 命令如下:
上图的结果表明“www.youtube.com”经过DNS服务器 166.111.8.28 被解析到了地址
202.106.1.2,但是事实上,该地址并非Youtube真实地址中的任何一个。

  进一步,即使使用国外的DNS服务器,如OpenDNS来进行解析,也不能得到Youtube的真
实地址:




   并且每次返回的结果可能大相径庭:




  然而,如果使用在线nslookup服务,例如http://www.kloth.net/services/nslookup.php,则
可以得到Youtube的真实地址:
3.3.2 猜测

  GFW至少使用了两种DNS劫持机制:一方面,GFW对国内DNS服务器进行了缓存污染,
这种污染体现在使用国内DNS服务器对Youtube进行解析会得到稳定的、虚假的IP地址;另一
方面,GFW会拦截和应答试图从国内发往国外的DNS解析请求(也可能是对国外DNS服务器
的应答进行了篡改),这体现在使用OpenDNS进行解析时观察到的可变的、虚假的IP地址。


4     突破 GFW
4.1    在线代理

  在线代理是一种在网页上运行的代理服务器程序,   它们通常会使用一些复杂的脚本,以
便绕过过滤器和防火墙(如 GFW)来访问被屏蔽或封锁的网站。用户使用在线代理服务非
常简单,不需要设置浏览器,也不需要安装额外的软件,只要访问在线代理网站,然后输入
要访问网站的网址,就可以享受免费的代理服务[11]。

4.1.1 普通在线代理

      如SneakME[12]、Cspeed[13]等。

4.1.2 基于 Google App Engine 的在线代理

      如Go2[14]、Mirror[15]、Quick-Proxy[16]等。

  相对于前述普通在线代理,基于 Google App Engine 的在线代理的特点在于:首先,得
益于 Google 强大的服务器能力,这类代理具有响应速度快、稳定性好等优势;其次,这类
在线代理普遍支持 HTTPS 协议,使得它们具备更强的翻墙能力。
4.1.3 自动在线代理

  尽管打开在线代理、输入网址、敲下回车这样的步骤并不能算复杂,但是却也绝对称不
上方便。实际上,这种使用在线代理的方式扰乱了人们所习惯的地址栏访问模式,如果浏览
器能够自动根据使用者输入的网址来决定是否要使用在线代理,以及使用哪一个在线代理,
世界就会更美好。

  Gladder[17]就是为了满足这一需求而诞生的自动在线代理软件,或者更准确的说,是一
款基于 Firefox 浏览器的插件,其主要功能就是根据一个可定制的被盾网站列表来判断和决
定是否需要通过在线代理来访问即将访问的页面。




4.2   代理工具
4.2.1 Freegate

  根据维基百科的说法,Freegate[18]利用了互联网上一系列地址动态可变的开放代理服
务器来提供服务[19],包括 HTTP 代理和 HTTPS 代理。种种迹象表明,Freegate 通过一套复
杂的内部机制向用户隐藏了代理服务器细节,实现了较为可靠的传输协议。
4.2.2 GPass

   GPass 将应用层数据包进一步封装,然后通过不同形式的动态通道加密传输到位于世界
各地的 GPass 服务器,这些服务器再将数据解包后传输到目的网站[20],从而达到翻墙的目
的。




4.2.3 Tor

  Tor 是一款分布式匿名路由软件、一种分布式路由协议、一个构建于互联网之上的虚拟
网络,目的是为了保护使用者的隐私、  抵御流量分析[21]。尽管其设计目的并不是为了翻墙,
但是由于其路由方式的特殊性,使得它多少具备了翻墙的本领。

    Tor 的工作原理比较复杂[22],概而言之,Tor 通过一个提供数据加密服务的中间网络来
完成源主机和目标主机的通信,从而能够达到翻墙的目的。但是,由于 Tor 不仅会对数据进
行加密,而且还要通过分散流量来保护隐私,故无法达到比较理想的速度,这一点一直受人
诟病(实际上无可厚非,Tor 本不是为了翻墙而存在)。




4.2.4 GAppProxy

  GAppProxy 是一款基于 Google App Engine 的代理工具, 计 初衷是为教育网用户提供免
                                          设
费的国际代理[23],后被广泛用作翻墙工具。由于同样以 Google App Engine 为平台,作为翻
墙工具的 GAppProxy 的突破能力与第 4.1.2 小节所述在线代理大致相同,只不过使用起来更
为便捷。

  GAppProxy 的工作原理是将浏览器的请求交由位于 Google App Engine 平台的代理服务
脚本进行处理,从而绕过 GFW。

  除去 Google 的服务器优势之外,GAppProxy 的另一个突出优点在于其开源特性,利用
开放的 Google App Engine 平台,普通用户也可以很容易地搭建出自己的代理服务器。
4.3   VPN

  通过在用户主机和国外远程主机之间建立 VPN 通道,能够实现完全透明的翻墙效果。
如果没有条件架设自己的 VPN 服务器,也不愿意花钱购买 VPN 帐号,并且能够忍受页面上
大大的广告或者流量限制,可以尝试以下两个 VPN 服务。

4.3.1 AnchorFree

  AnchorFree[24],美国的免费 VPN 服务,不需要申请帐号就可以使用,代价是页面上会
有大大的广告。




4.3.2 Alonweb

      Alonweb[25],荷兰的免费 VPN 服务,需要申请个人帐号,每个月只有 1G 的免费流量。




4.4   SSH Tunnel
SSH Tunnel,本质上也是在用户主机和国外远程主机之间建立一条安全通道来达到翻墙
目的。与 VPN 类似,SSH Tunnel 也不是随处就可以得到的免费服务。当然,也有例外[28]。

4.4.1 MyEnTunnel

  MyEnTunnel[26]利用 PuTTY[27]的 Plink 组件同远程主机建立 SSH Tunnel,对于应用程序
(如浏览器)而言,只需要支持 SOCKS 代理就可以通过 MyEnTunnel 来翻墙。




4.5   RSS 订阅

    在 Web2.0 时代,并不是只有主动翻墙才能获取信息,随着越来越多的网站开始提供对
RSS 格式的支持,RSS 阅读器也逐渐普及开来。如果被盾网站有合适的 RSS 源,就可以利用
RSS 订阅的方式来轻松绕过 GFW。

4.5.1 Google Reader

  Google Reader[29]是Google的一款在线RSS阅读器,好处是支持HTTPS,在GFW无处不在
的今天,这是一个难能可贵的优点。
4.6   其它
4.6.1 Google 语言工具

  让人意想不到的是,Google的语言工具[31]也可以被用来翻墙[30]。仍以Youtube为例,
打开Google的语言工具后,在“翻译网页”部分填入Youtube的网址,并选择语种为从“中
文”翻译到“中文(简体)” ,如下图所示:




      点击“翻译”按钮即可成功访问Youtube:
5     几种突破技术的比较
5.1    测试项目

      设置测试项目如下:

      1.   访问http://208.65.153.238
      2.   访问http://www.google.com/search?hl=en&q=freegate&aq=f&oq=(连续两次)
      3.   访问http://chinagfw.org/search/label/anti-censorship
      4.   访问http://www.youtube.com
      5.   访问http://www.youtube.com/watch?v=tG7cM5Yvhz4&feature=channel_page 2

5.2    比较结果

                突破方法               项目 1   项目 2   项目 3    项目 4      项目 5      备注
                 SneakME[12]        OK    被盾      被盾       OK        OK
                 Cspeed[13]         OK    被盾       OK      OK     无法观看
            3
在线代理             Go2[14]            OK     OK      OK      OK     无法观看       HTTPS
                 Mirror[15]         OK     OK      OK      OK     无法观看       HTTPS
                 Quick-Proxy[16]    OK     OK      OK      OK     无法观看       HTTPS
                 Freegate[18]       OK     OK      OK      OK        OK
代理工具             GPass[20]          OK     OK     很慢       OK       很慢
                 Tor[21]            OK     OK     很慢       OK     无法观看

2
    第 5 项测试为第 4 项通过后的附加项,目的是为了测试突破方法的性能。
3
    Firefox + Gladder 组合的测试结果受其代理选择机制影响较大,故不作单独测试。
GAppProxy[21]    OK    OK    OK    OK    无法观看
      4
VPN           n/a              n/a   n/a   n/a   n/a    n/a
SSH Tunnel    MyEnTunnel[26]   OK    OK    OK    OK     OK
          5
RSS订阅         n/a              n/a   n/a   n/a   n/a    n/a
其它            语言工具[31]         OK    OK    OK    OK    无法观看

5.3       结果分析

      1. 项目 1 和项目 4 能够被轻松突破,体现了 IP 黑名单和 DNS 劫持机制屏蔽能力的不
         足;
      2. Freegate 和 MyEnTunnel 是唯一通过五项测试的工具;
      3. 基于 Google 的突破方法,包括在线代理、代理工具和语言工具,在前四项测试中
         均表现优异,Google 很有可能成为 GFW 的重点打击目标;
      4. 只支持 HTTP 协议的在线代理可能被盾;
      5. 大部分突破方法都不支持在线视频的观看,           或者表现很差(项目 5)就这一点而言,
                                                  ,
         GFW对Youtube的打击是成功的。


6     结束语

   总的来说,尽管 GFW 的真实工作原理不为人知,但种种迹象表明,目前的 GFW 并不复
杂。一方面,这是由于当前软硬件技术水平的限制;另一方面,彻底的封禁需要的代价实在
太大。然而我们不得不承认,就其动机而言,GFW 目前取得的效果是成功的,有着强烈好
奇心的学者和翻墙爱好者毕竟只是少数,绝大多数国民还是不太可能掌握和灵活使用第 4
章所介绍的突破技术,更何况这些技术在与 GFW 的对抗中处于明显弱势,随时可能遭到封
杀。

  最后,需要指出的是,本文仅从网页浏览者的角度研究了当前的 GFW 突破技术,一些
服务端反制措施, 如 动态更换 IP、
        例          启用 HTTPS 支持、以及忽略 GFW 的 TCP 连接重置包[32]
等技术,并没有被探讨。另一方面,  本文也没有涉及使用这些突破技术可能暴露的隐私问题。
这些内容可能会在今后给大家介绍,也可能不会。


7     致谢

      感谢段海新老师提供在线代理Cspeed。

      感谢 fuckGFW 网友为本文实验部分免费提供 SSH 帐号。


8     参考文献

[1] 维基百科:防火长城,http://zh.wikipedia.org/wiki/GFW

4
    由于实验环境的限制,VPN 一项无法进行测试。
5
    不具可比性。
[2] Charles R. Smith, “The Great Firewall of China”,
     http://archive.newsmax.com/archives/articles/2002/5/17/25858.shtml
[3] 周曙光,      “中国政府的网络封锁技术方案与网民的反网络封锁技术方案”                                          ,
     http://www.zuola.com/weblog/?p=1353
[4] Jason Ng,  “什么是GFW?图解GFW”                ,http://www.kenengba.com/post/430.html
[5] Sarah Lai Stirland, “Cisco Leak: ‘Great Firewall’ of China Was a Chance to Sell More Routers”,
     http://www.wired.com/threatlevel/2008/05/leaked-cisco-do/
[6] Nmap,http://nmap.org
[7] Wireshark,http://www.wireshark.org
[8] OpenDNS,http://www.opendns.com
[9] 维基百科:DNS Cache Poisoning,http://en.wikipedia.org/wiki/DNS_cache_poisoning
[10] http://chinagfw.org/search/label/anti-censorship
[11] 维基百科:在线代理,http://zh.wikipedia.org/wiki/在线代理
[12] SneakME,http://www.sneakme.net
[13] Cspeed,http://cspeed.net
[14] Go2,https://go2http.appspot.com
[15] Mirror,https://soproxy.appspot.com
[16] Quick-Proxy,https://quick-proxy.appspot.com
[17] Gladder,http://gneheix.googlepages.com/gladder
[18] Freegate,http://www.dongtaiwang.com
[19] 维基百科:Freegate,http://en.wikipedia.org/wiki/Freegate
[20] GPass,http://gpass1.com/gpass
[21] Tor,https://www.torproject.org
[22] Tor概述,https://www.torproject.org/overview.html
[23] GAppProxy,http://code.google.com/p/gappproxy
[24] AnchorFree,http://www.anchorfree.com
[25] Alonweb,http://alonweb.com
[26] MyEnTunnel,http://nemesis2.qx.net/pages/MyEnTunnel
[27] PuTTY: A Free Telnet/SSH Client,http://www.chiark.greenend.org.uk/~sgtatham/putty
[28] fuckGFW,   “Be Free to SSH-D”   ,https://dl.getdropbox.com/u/873345/index.html
[29] Google Reader,https://www.google.com/reader
[30] NetPuter,  “用 Google 的梯子翻墙吧”               ,
     http://orzdream.cn/2008/09/use-google-language-tools-to-skip-gfw
[31] Google语言工具,http://www.google.cn/language_tools
[32] R. Clayton, S. J. Murdoch, and R. N. M. Watson, “Ignoring the Great Firewall of China”, I/S: A
     Journal of Law and Policy for the Information Society, 2007

Más contenido relacionado

La actualidad más candente

イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴
イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴
イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴opengroove
 
VPN专网资源
VPN专网资源VPN专网资源
VPN专网资源paulqi
 
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツールはなずきん Hana
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Yusuke Kawasaki
 
10 Things you should know about Web 2.0
10 Things you should know about Web 2.010 Things you should know about Web 2.0
10 Things you should know about Web 2.0Charles (XXC) Chen
 
Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수JIAQI NIE
 
制作Ppt的七种武器
制作Ppt的七种武器制作Ppt的七种武器
制作Ppt的七种武器Yanjun Song
 
25000社以上採用計測ソリューション
25000社以上採用計測ソリューション25000社以上採用計測ソリューション
25000社以上採用計測ソリューションnishimizu
 
中小企業E化最新趨勢與效益分析
中小企業E化最新趨勢與效益分析中小企業E化最新趨勢與效益分析
中小企業E化最新趨勢與效益分析Alex Lee
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Processrex song
 
乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829XMourinho
 
認識網路傳播
認識網路傳播認識網路傳播
認識網路傳播基欽 劉
 
程式之美-微軟技術面試心得
程式之美-微軟技術面試心得程式之美-微軟技術面試心得
程式之美-微軟技術面試心得Bob Wei
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2nishimizu
 

La actualidad más candente (20)

イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴
イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴
イントラネット検索・「ジーラ・ドキュメント・サーチ」の機能と特徴
 
XS Japan 2008 Ganeti Japanese
XS Japan 2008 Ganeti JapaneseXS Japan 2008 Ganeti Japanese
XS Japan 2008 Ganeti Japanese
 
中国网络审查
中国网络审查中国网络审查
中国网络审查
 
VPN专网资源
VPN专网资源VPN专网资源
VPN专网资源
 
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
勉強会カンファレンス2009 IT勉強会カレンダーと募集ツール
 
XS Japan 2008 App Data Japanese
XS Japan 2008 App Data JapaneseXS Japan 2008 App Data Japanese
XS Japan 2008 App Data Japanese
 
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
Mashup and new paradigm - マッシュアップ技術とインターネットの新しい潮流
 
Let's get into coLinux!
Let's get into coLinux!Let's get into coLinux!
Let's get into coLinux!
 
10 Things you should know about Web 2.0
10 Things you should know about Web 2.010 Things you should know about Web 2.0
10 Things you should know about Web 2.0
 
Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수Bloggers Survival 제안서 불로고수
Bloggers Survival 제안서 불로고수
 
制作Ppt的七种武器
制作Ppt的七种武器制作Ppt的七种武器
制作Ppt的七种武器
 
25000社以上採用計測ソリューション
25000社以上採用計測ソリューション25000社以上採用計測ソリューション
25000社以上採用計測ソリューション
 
0423io
0423io0423io
0423io
 
中小企業E化最新趨勢與效益分析
中小企業E化最新趨勢與效益分析中小企業E化最新趨勢與效益分析
中小企業E化最新趨勢與效益分析
 
Internet Ued Process
Internet Ued ProcessInternet Ued Process
Internet Ued Process
 
乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829乔鑫:互联网关键应用中服务器评测与优化090829
乔鑫:互联网关键应用中服务器评测与优化090829
 
認識網路傳播
認識網路傳播認識網路傳播
認識網路傳播
 
Dvd轉Avi
Dvd轉AviDvd轉Avi
Dvd轉Avi
 
程式之美-微軟技術面試心得
程式之美-微軟技術面試心得程式之美-微軟技術面試心得
程式之美-微軟技術面試心得
 
PXI, LabVIEW事例集2
PXI, LabVIEW事例集2PXI, LabVIEW事例集2
PXI, LabVIEW事例集2
 

Destacado (20)

Unidad ii
Unidad iiUnidad ii
Unidad ii
 
Diez consejos para fracasar ahora en su proyecto
Diez consejos para fracasar ahora en su proyectoDiez consejos para fracasar ahora en su proyecto
Diez consejos para fracasar ahora en su proyecto
 
2012 Jose Sifuentes Personal Biography (Clients)
2012   Jose Sifuentes Personal Biography (Clients)2012   Jose Sifuentes Personal Biography (Clients)
2012 Jose Sifuentes Personal Biography (Clients)
 
Jajaj
JajajJajaj
Jajaj
 
Cómo funcionan los productos nutricionales de herbalife
Cómo funcionan los productos nutricionales de herbalifeCómo funcionan los productos nutricionales de herbalife
Cómo funcionan los productos nutricionales de herbalife
 
ServiçOs Consulares
ServiçOs ConsularesServiçOs Consulares
ServiçOs Consulares
 
大大行,我也行
大大行,我也行大大行,我也行
大大行,我也行
 
Tics en la educacion
Tics en la educacionTics en la educacion
Tics en la educacion
 
Conference call 1 q15
Conference call 1 q15Conference call 1 q15
Conference call 1 q15
 
Proyecto
ProyectoProyecto
Proyecto
 
Collage de Biologia
Collage de BiologiaCollage de Biologia
Collage de Biologia
 
Tema 7 lengua
Tema 7 lenguaTema 7 lengua
Tema 7 lengua
 
Los borgia
Los borgiaLos borgia
Los borgia
 
Eventos e reunioes
Eventos e reunioesEventos e reunioes
Eventos e reunioes
 
TRABAJO DE INFORMATICA
TRABAJO DE INFORMATICATRABAJO DE INFORMATICA
TRABAJO DE INFORMATICA
 
Fatcat Designs Pte Ltd-background
Fatcat Designs Pte Ltd-backgroundFatcat Designs Pte Ltd-background
Fatcat Designs Pte Ltd-background
 
YOUnite Findings - HSC
YOUnite Findings - HSCYOUnite Findings - HSC
YOUnite Findings - HSC
 
Ingresos2011
Ingresos2011Ingresos2011
Ingresos2011
 
26
2626
26
 
Presentation1
Presentation1Presentation1
Presentation1
 

Más de Daniel Cheung

2009匿名网民宣言
2009匿名网民宣言2009匿名网民宣言
2009匿名网民宣言Daniel Cheung
 
良心的囚徒:赵紫阳秘密录音
良心的囚徒:赵紫阳秘密录音良心的囚徒:赵紫阳秘密录音
良心的囚徒:赵紫阳秘密录音Daniel Cheung
 
Your love, and love songs
Your love, and love songsYour love, and love songs
Your love, and love songsDaniel Cheung
 
After 80 ten troubles
After 80 ten troublesAfter 80 ten troubles
After 80 ten troublesDaniel Cheung
 
Remembering Tiananmen, 20 years later
Remembering Tiananmen, 20 years laterRemembering Tiananmen, 20 years later
Remembering Tiananmen, 20 years laterDaniel Cheung
 
6420香港烛光悼念集会
6420香港烛光悼念集会6420香港烛光悼念集会
6420香港烛光悼念集会Daniel Cheung
 
听作弊大师谈作弊技巧
听作弊大师谈作弊技巧听作弊大师谈作弊技巧
听作弊大师谈作弊技巧Daniel Cheung
 
19种迹象可看出男生真正爱你
19种迹象可看出男生真正爱你19种迹象可看出男生真正爱你
19种迹象可看出男生真正爱你Daniel Cheung
 
女生录取老公统一考试试卷--内部流出!
女生录取老公统一考试试卷--内部流出!女生录取老公统一考试试卷--内部流出!
女生录取老公统一考试试卷--内部流出!Daniel Cheung
 
面部各部位起痘痘的原因与解决方法
面部各部位起痘痘的原因与解决方法面部各部位起痘痘的原因与解决方法
面部各部位起痘痘的原因与解决方法Daniel Cheung
 
女人写给男人的10句肺腑之言
女人写给男人的10句肺腑之言女人写给男人的10句肺腑之言
女人写给男人的10句肺腑之言Daniel Cheung
 

Más de Daniel Cheung (20)

2009匿名网民宣言
2009匿名网民宣言2009匿名网民宣言
2009匿名网民宣言
 
良心的囚徒:赵紫阳秘密录音
良心的囚徒:赵紫阳秘密录音良心的囚徒:赵紫阳秘密录音
良心的囚徒:赵紫阳秘密录音
 
Your love, and love songs
Your love, and love songsYour love, and love songs
Your love, and love songs
 
After 80 ten troubles
After 80 ten troublesAfter 80 ten troubles
After 80 ten troubles
 
仔裤的保养
仔裤的保养仔裤的保养
仔裤的保养
 
Remembering Tiananmen, 20 years later
Remembering Tiananmen, 20 years laterRemembering Tiananmen, 20 years later
Remembering Tiananmen, 20 years later
 
6420香港烛光悼念集会
6420香港烛光悼念集会6420香港烛光悼念集会
6420香港烛光悼念集会
 
舒服的乱伦
舒服的乱伦舒服的乱伦
舒服的乱伦
 
听作弊大师谈作弊技巧
听作弊大师谈作弊技巧听作弊大师谈作弊技巧
听作弊大师谈作弊技巧
 
hejianjohnriver
hejianjohnriverhejianjohnriver
hejianjohnriver
 
阅读全文
阅读全文阅读全文
阅读全文
 
19种迹象可看出男生真正爱你
19种迹象可看出男生真正爱你19种迹象可看出男生真正爱你
19种迹象可看出男生真正爱你
 
女生录取老公统一考试试卷--内部流出!
女生录取老公统一考试试卷--内部流出!女生录取老公统一考试试卷--内部流出!
女生录取老公统一考试试卷--内部流出!
 
薇姨
薇姨薇姨
薇姨
 
Levi's裤款
Levi's裤款Levi's裤款
Levi's裤款
 
Hello undefined |
Hello undefined |Hello undefined |
Hello undefined |
 
烹饪基础
烹饪基础烹饪基础
烹饪基础
 
面部各部位起痘痘的原因与解决方法
面部各部位起痘痘的原因与解决方法面部各部位起痘痘的原因与解决方法
面部各部位起痘痘的原因与解决方法
 
CCAV-key
CCAV-keyCCAV-key
CCAV-key
 
女人写给男人的10句肺腑之言
女人写给男人的10句肺腑之言女人写给男人的10句肺腑之言
女人写给男人的10句肺腑之言
 

gfw工作原理及突破技术

  • 1. GFW 的工作原理及突破技术 丁 旋 (清华大学计算机科学与技术系,北京,100084) 摘 要:GFW 备受争议,几家欢喜几家愁。本文从实例出发,探讨了 GFW 的工作原理,总 结了当前针对 GFW 的突破技术,并对这些突破技术进行了比较和分析。 关键词:Great Firewall,GFW,Censorship,Anti-Censorship,翻墙 1 引言 GFW,即 Great Firewall of China,是中国政府监控和过滤互联网内容的一套软硬件系统 的俗称[1],最初得名于计算机专家 Charles R. Smith 在 2002 年发表的一篇网评 [2],本意是 取与 Great Wall(长城)相谐的效果,后被大众广泛使用而沿袭至今。 GFW 的主要作用在于分析和过滤中国境内外网络的资讯互相访问,也就是说,GFW 不 仅对国内读者访问中国境外的网站进行干扰,也干扰国外读者访问主机在中国大陆的网站 [3]。由于网络环境的限制,本文主要探讨的是前一种情形。 文章后续部分安排如下:第 2 章给出文中使用的术语和约定;第 3 章探讨 GFW 的工作 原理;第 4 章总结当前针对 GFW 的突破技术;第 5 章对这些突破技术进行比较和分析;第 6 章总结全文;致谢和参考文献分别在第 7 章和第 8 章。 2 术语和约定 盾、墙:GFW 的别称。 被盾:访问内容被 GFW 屏蔽,亦作“被墙”。 翻墙:突破 GFW 访问被屏蔽内容,亦作“穿墙” 。 Google.com:本文所出现“Google.com”均指代http://www.google.com/ncr 1,而非国内 访问http://www.google.com自动重定向之http://www.google.cn。 Google.cn:特指http://www.google.cn。 3 GFW 的工作原理 1 ncr,no country redirect,不使用国家重定向
  • 2. 人们对于 GFW 工作原理的猜测从来没有停息过,因此尽管其真实的实现细节仍然无从 知晓, 一些有着强烈好奇心的学者以及国内的翻墙爱好者们还是瞥见了一些端倪。 普遍的看 法[1][3]是,GFW 的工作机制主要包括 IP 黑名单、内容审查和 DNS 劫持等三种,下面我们逐 一举例探讨。 3.1 IP 黑名单 3.1.1 一个例子 视频分享网站Youtube在国内遭到封禁已是众所周知的事实,由于使用域名访问会存在 DNS劫持问题(详见第 3.3 小节的讨论) 里 直接以其IP地址之一 208.65.153.238 来举例说 ,这 明GFW的IP黑名单机制。 用浏览器访问http://208.65.153.238有如下结果: 执行 ping 命令也有超时现象:
  • 3. 上面两幅图均表明,目标主机未能(或无法)及时响应我们的请求,为了一探究竟,我 们进一步执行 tracert 命令如下: 结果显示,路径断在了主机 202.112.61.214 的地方。 3.1.2 另一个例子 访问网站牛博国际存在同样的问题,对其IP地址执行tracert也有类似结果:
  • 4. 3.1.3 猜测 根据以上结果我们猜测,GFW 很有可能维护了一张 IP 黑名单,一旦发现发往黑名单中 地址的请求数据包,就直接将其丢弃, 这将导致源主机得不到目标主机的及时响应而引发超 时,从而达到屏蔽对目标主机的访问的目的。 进一步,我们有理由认为主机 202.112.61.214 就是 GFW 的设备之一,为了证实这一猜 测,我们用 Nmap[6]对其进行了扫描:
  • 5. 扫描结果显示,设备 202.112.61.214 很有可能是一台 Cisco 的路由器,这与 GFW 的设备 构成是吻合的[5]。 3.1.4 IP 黑名单的缺点 显而易见,这种对被封禁的网站采用黑名单而不是对被允许访问的网站采用白名单的过 滤机制,难免会有漏网之鱼的存在,Youtube的另外一个地址 208.117.240.37 就是一个很好 的例子(直到本文成文为止,该地址都可以直接进行访问) : 3.2 内容审查 3.2.1 一个简单的例子 用 Google.com 搜索关键词“freegate”,起初我们还能够得到搜索结果:
  • 6. 但是与此同时,我们收到了大量“从 Google 发来的”TCP 连接重置包。下图是使用 Wireshark[7]抓包的结果: 刷新页面会发现已经无法访问:
  • 7. 并且 Google.com 也变得无法访问: 3.2.2 一个极端的例子 与前面的例子类似,访问http://chinagfw.org/search/label/anti-censorship会收到数以百计 的TCP连接重置包:
  • 8. 3.2.3 猜测 我们猜测,GFW 对 HTTP 数据包进行了扫描,并且 GFW 内部可能包含有一张敏感词汇 列表,一旦发现被扫描数据包中出现敏感词汇, 就会立即向源主机和目标主机发送伪装成对 方地址的 TCP 连接重置包,以实现断开连接的目的。 进一步,GFW 还会在一个临时的黑名单中记录遭到封禁的源主机和目标主机的地址, 并保存一段有限长的时间。 一旦发现被封禁的源主机在封禁期间再次请求目标主机,将直接 返回 TCP 连接重置包(此时可能是单向的),而无需扫描新的请求数据包。 另一个发现是,这种内容审查机制并非对所有站点起作用,例如,使用 Google.cn 搜索 同样的关键词“freegate”就不会出现被盾的现象。一种可能的原因是,GFW 启用了一张 IP 监视名单,而 Google.com 的地址正是其中之一;另一种可能是,访问 Google.cn 不会经过 GFW 设备,也就不会触发 TCP 连接重置,而位于 GFW 之外的 Google.com 则难逃此劫。 3.3 DNS 劫持 3.3.1 一个例子 除第 3.1 小节所述IP黑名单技术外,GFW还采用了DNS劫持的手段来达到对Youtube的封 禁目的。 为了说明这一点,我们执行 nslookup 命令如下:
  • 9. 上图的结果表明“www.youtube.com”经过DNS服务器 166.111.8.28 被解析到了地址 202.106.1.2,但是事实上,该地址并非Youtube真实地址中的任何一个。 进一步,即使使用国外的DNS服务器,如OpenDNS来进行解析,也不能得到Youtube的真 实地址: 并且每次返回的结果可能大相径庭: 然而,如果使用在线nslookup服务,例如http://www.kloth.net/services/nslookup.php,则 可以得到Youtube的真实地址:
  • 10. 3.3.2 猜测 GFW至少使用了两种DNS劫持机制:一方面,GFW对国内DNS服务器进行了缓存污染, 这种污染体现在使用国内DNS服务器对Youtube进行解析会得到稳定的、虚假的IP地址;另一 方面,GFW会拦截和应答试图从国内发往国外的DNS解析请求(也可能是对国外DNS服务器 的应答进行了篡改),这体现在使用OpenDNS进行解析时观察到的可变的、虚假的IP地址。 4 突破 GFW 4.1 在线代理 在线代理是一种在网页上运行的代理服务器程序, 它们通常会使用一些复杂的脚本,以 便绕过过滤器和防火墙(如 GFW)来访问被屏蔽或封锁的网站。用户使用在线代理服务非 常简单,不需要设置浏览器,也不需要安装额外的软件,只要访问在线代理网站,然后输入 要访问网站的网址,就可以享受免费的代理服务[11]。 4.1.1 普通在线代理 如SneakME[12]、Cspeed[13]等。 4.1.2 基于 Google App Engine 的在线代理 如Go2[14]、Mirror[15]、Quick-Proxy[16]等。 相对于前述普通在线代理,基于 Google App Engine 的在线代理的特点在于:首先,得 益于 Google 强大的服务器能力,这类代理具有响应速度快、稳定性好等优势;其次,这类 在线代理普遍支持 HTTPS 协议,使得它们具备更强的翻墙能力。
  • 11. 4.1.3 自动在线代理 尽管打开在线代理、输入网址、敲下回车这样的步骤并不能算复杂,但是却也绝对称不 上方便。实际上,这种使用在线代理的方式扰乱了人们所习惯的地址栏访问模式,如果浏览 器能够自动根据使用者输入的网址来决定是否要使用在线代理,以及使用哪一个在线代理, 世界就会更美好。 Gladder[17]就是为了满足这一需求而诞生的自动在线代理软件,或者更准确的说,是一 款基于 Firefox 浏览器的插件,其主要功能就是根据一个可定制的被盾网站列表来判断和决 定是否需要通过在线代理来访问即将访问的页面。 4.2 代理工具 4.2.1 Freegate 根据维基百科的说法,Freegate[18]利用了互联网上一系列地址动态可变的开放代理服 务器来提供服务[19],包括 HTTP 代理和 HTTPS 代理。种种迹象表明,Freegate 通过一套复 杂的内部机制向用户隐藏了代理服务器细节,实现了较为可靠的传输协议。
  • 12. 4.2.2 GPass GPass 将应用层数据包进一步封装,然后通过不同形式的动态通道加密传输到位于世界 各地的 GPass 服务器,这些服务器再将数据解包后传输到目的网站[20],从而达到翻墙的目 的。 4.2.3 Tor Tor 是一款分布式匿名路由软件、一种分布式路由协议、一个构建于互联网之上的虚拟 网络,目的是为了保护使用者的隐私、 抵御流量分析[21]。尽管其设计目的并不是为了翻墙, 但是由于其路由方式的特殊性,使得它多少具备了翻墙的本领。 Tor 的工作原理比较复杂[22],概而言之,Tor 通过一个提供数据加密服务的中间网络来
  • 13. 完成源主机和目标主机的通信,从而能够达到翻墙的目的。但是,由于 Tor 不仅会对数据进 行加密,而且还要通过分散流量来保护隐私,故无法达到比较理想的速度,这一点一直受人 诟病(实际上无可厚非,Tor 本不是为了翻墙而存在)。 4.2.4 GAppProxy GAppProxy 是一款基于 Google App Engine 的代理工具, 计 初衷是为教育网用户提供免 设 费的国际代理[23],后被广泛用作翻墙工具。由于同样以 Google App Engine 为平台,作为翻 墙工具的 GAppProxy 的突破能力与第 4.1.2 小节所述在线代理大致相同,只不过使用起来更 为便捷。 GAppProxy 的工作原理是将浏览器的请求交由位于 Google App Engine 平台的代理服务 脚本进行处理,从而绕过 GFW。 除去 Google 的服务器优势之外,GAppProxy 的另一个突出优点在于其开源特性,利用 开放的 Google App Engine 平台,普通用户也可以很容易地搭建出自己的代理服务器。
  • 14. 4.3 VPN 通过在用户主机和国外远程主机之间建立 VPN 通道,能够实现完全透明的翻墙效果。 如果没有条件架设自己的 VPN 服务器,也不愿意花钱购买 VPN 帐号,并且能够忍受页面上 大大的广告或者流量限制,可以尝试以下两个 VPN 服务。 4.3.1 AnchorFree AnchorFree[24],美国的免费 VPN 服务,不需要申请帐号就可以使用,代价是页面上会 有大大的广告。 4.3.2 Alonweb Alonweb[25],荷兰的免费 VPN 服务,需要申请个人帐号,每个月只有 1G 的免费流量。 4.4 SSH Tunnel
  • 15. SSH Tunnel,本质上也是在用户主机和国外远程主机之间建立一条安全通道来达到翻墙 目的。与 VPN 类似,SSH Tunnel 也不是随处就可以得到的免费服务。当然,也有例外[28]。 4.4.1 MyEnTunnel MyEnTunnel[26]利用 PuTTY[27]的 Plink 组件同远程主机建立 SSH Tunnel,对于应用程序 (如浏览器)而言,只需要支持 SOCKS 代理就可以通过 MyEnTunnel 来翻墙。 4.5 RSS 订阅 在 Web2.0 时代,并不是只有主动翻墙才能获取信息,随着越来越多的网站开始提供对 RSS 格式的支持,RSS 阅读器也逐渐普及开来。如果被盾网站有合适的 RSS 源,就可以利用 RSS 订阅的方式来轻松绕过 GFW。 4.5.1 Google Reader Google Reader[29]是Google的一款在线RSS阅读器,好处是支持HTTPS,在GFW无处不在 的今天,这是一个难能可贵的优点。
  • 16. 4.6 其它 4.6.1 Google 语言工具 让人意想不到的是,Google的语言工具[31]也可以被用来翻墙[30]。仍以Youtube为例, 打开Google的语言工具后,在“翻译网页”部分填入Youtube的网址,并选择语种为从“中 文”翻译到“中文(简体)” ,如下图所示: 点击“翻译”按钮即可成功访问Youtube:
  • 17. 5 几种突破技术的比较 5.1 测试项目 设置测试项目如下: 1. 访问http://208.65.153.238 2. 访问http://www.google.com/search?hl=en&q=freegate&aq=f&oq=(连续两次) 3. 访问http://chinagfw.org/search/label/anti-censorship 4. 访问http://www.youtube.com 5. 访问http://www.youtube.com/watch?v=tG7cM5Yvhz4&feature=channel_page 2 5.2 比较结果 突破方法 项目 1 项目 2 项目 3 项目 4 项目 5 备注 SneakME[12] OK 被盾 被盾 OK OK Cspeed[13] OK 被盾 OK OK 无法观看 3 在线代理 Go2[14] OK OK OK OK 无法观看 HTTPS Mirror[15] OK OK OK OK 无法观看 HTTPS Quick-Proxy[16] OK OK OK OK 无法观看 HTTPS Freegate[18] OK OK OK OK OK 代理工具 GPass[20] OK OK 很慢 OK 很慢 Tor[21] OK OK 很慢 OK 无法观看 2 第 5 项测试为第 4 项通过后的附加项,目的是为了测试突破方法的性能。 3 Firefox + Gladder 组合的测试结果受其代理选择机制影响较大,故不作单独测试。
  • 18. GAppProxy[21] OK OK OK OK 无法观看 4 VPN n/a n/a n/a n/a n/a n/a SSH Tunnel MyEnTunnel[26] OK OK OK OK OK 5 RSS订阅 n/a n/a n/a n/a n/a n/a 其它 语言工具[31] OK OK OK OK 无法观看 5.3 结果分析 1. 项目 1 和项目 4 能够被轻松突破,体现了 IP 黑名单和 DNS 劫持机制屏蔽能力的不 足; 2. Freegate 和 MyEnTunnel 是唯一通过五项测试的工具; 3. 基于 Google 的突破方法,包括在线代理、代理工具和语言工具,在前四项测试中 均表现优异,Google 很有可能成为 GFW 的重点打击目标; 4. 只支持 HTTP 协议的在线代理可能被盾; 5. 大部分突破方法都不支持在线视频的观看, 或者表现很差(项目 5)就这一点而言, , GFW对Youtube的打击是成功的。 6 结束语 总的来说,尽管 GFW 的真实工作原理不为人知,但种种迹象表明,目前的 GFW 并不复 杂。一方面,这是由于当前软硬件技术水平的限制;另一方面,彻底的封禁需要的代价实在 太大。然而我们不得不承认,就其动机而言,GFW 目前取得的效果是成功的,有着强烈好 奇心的学者和翻墙爱好者毕竟只是少数,绝大多数国民还是不太可能掌握和灵活使用第 4 章所介绍的突破技术,更何况这些技术在与 GFW 的对抗中处于明显弱势,随时可能遭到封 杀。 最后,需要指出的是,本文仅从网页浏览者的角度研究了当前的 GFW 突破技术,一些 服务端反制措施, 如 动态更换 IP、 例 启用 HTTPS 支持、以及忽略 GFW 的 TCP 连接重置包[32] 等技术,并没有被探讨。另一方面, 本文也没有涉及使用这些突破技术可能暴露的隐私问题。 这些内容可能会在今后给大家介绍,也可能不会。 7 致谢 感谢段海新老师提供在线代理Cspeed。 感谢 fuckGFW 网友为本文实验部分免费提供 SSH 帐号。 8 参考文献 [1] 维基百科:防火长城,http://zh.wikipedia.org/wiki/GFW 4 由于实验环境的限制,VPN 一项无法进行测试。 5 不具可比性。
  • 19. [2] Charles R. Smith, “The Great Firewall of China”, http://archive.newsmax.com/archives/articles/2002/5/17/25858.shtml [3] 周曙光, “中国政府的网络封锁技术方案与网民的反网络封锁技术方案” , http://www.zuola.com/weblog/?p=1353 [4] Jason Ng, “什么是GFW?图解GFW” ,http://www.kenengba.com/post/430.html [5] Sarah Lai Stirland, “Cisco Leak: ‘Great Firewall’ of China Was a Chance to Sell More Routers”, http://www.wired.com/threatlevel/2008/05/leaked-cisco-do/ [6] Nmap,http://nmap.org [7] Wireshark,http://www.wireshark.org [8] OpenDNS,http://www.opendns.com [9] 维基百科:DNS Cache Poisoning,http://en.wikipedia.org/wiki/DNS_cache_poisoning [10] http://chinagfw.org/search/label/anti-censorship [11] 维基百科:在线代理,http://zh.wikipedia.org/wiki/在线代理 [12] SneakME,http://www.sneakme.net [13] Cspeed,http://cspeed.net [14] Go2,https://go2http.appspot.com [15] Mirror,https://soproxy.appspot.com [16] Quick-Proxy,https://quick-proxy.appspot.com [17] Gladder,http://gneheix.googlepages.com/gladder [18] Freegate,http://www.dongtaiwang.com [19] 维基百科:Freegate,http://en.wikipedia.org/wiki/Freegate [20] GPass,http://gpass1.com/gpass [21] Tor,https://www.torproject.org [22] Tor概述,https://www.torproject.org/overview.html [23] GAppProxy,http://code.google.com/p/gappproxy [24] AnchorFree,http://www.anchorfree.com [25] Alonweb,http://alonweb.com [26] MyEnTunnel,http://nemesis2.qx.net/pages/MyEnTunnel [27] PuTTY: A Free Telnet/SSH Client,http://www.chiark.greenend.org.uk/~sgtatham/putty [28] fuckGFW, “Be Free to SSH-D” ,https://dl.getdropbox.com/u/873345/index.html [29] Google Reader,https://www.google.com/reader [30] NetPuter, “用 Google 的梯子翻墙吧” , http://orzdream.cn/2008/09/use-google-language-tools-to-skip-gfw [31] Google语言工具,http://www.google.cn/language_tools [32] R. Clayton, S. J. Murdoch, and R. N. M. Watson, “Ignoring the Great Firewall of China”, I/S: A Journal of Law and Policy for the Information Society, 2007