关于GFW的功能原理和特性分析[转]

lz的gmail和dropbox被墙不能用之后迁移到outlook和onedrive花了整整一下午时间。最关键的是从6月30日开始onedrive突然也被墙了(同时也包括line等)。简直吐血。(此处默默看了一眼我的印象笔记 。用了三年会员四百多篇笔记两千多张照片假如被墙的话。。。。)出于对于白帽事业的热爱。稍微研究了一下GFW。正义网友与GFW的斗争。一刻也没有停止过。方校长微博拜年换来几万个“滚”。就能说明这个问题。甚至GFW除了阻止我们自由地访问互联网之外。还有发动中间人攻击、DDos攻击、大规模SQL注入轰炸的能力(历史上发生过多次GFW针对GIThub等技术论坛发起攻击的先例。连一个稍微真一点的ca证书都来不及申请。一点即破。)这说明GFW是一个不折不扣的网络攻防大规模杀伤性武器。首先讲述一下GFW的相关技术细节。
GFW主要的网络屏蔽方式有:
1、DNS劫持
DNS服务器的功能。是把域名和IP地址对应起来。比如baidu.com可能对应某个或某 几个IP地址。浏览器把baidu.com发给DNS服务器。服务器再告诉浏览器IP地址。然后浏览器再前往那个地址浏览。当然。用户一般不用关心这一步。
表现方式为:“找不到网站”。
全世界有13台最主要的DNS服务器。没有一台在中国。这是件好事。不过。中国有其中3台服务器的镜像服务器。在这13台根服务器下面。还有许许多多低等级的DNS服务器。它们会缓存一些地址数据。如果某个地址它们无法解析。就会向上级服务器发出询问。
DNS 数据是通过UDP 43端口传送的。GFW现在并没有彻底封闭这个端口。不过。GFW会”污染”一些低等级的DNS服务器的缓存。比如你输入的是google.com。结果 低级DNS服务器给你解析成了baidu.com。并且会把你带到baidu的页面。这种事情在05年大规模发生过。后来有所收敛。另外。GFW也会阻断某些特定站点的DNS请求。让我们无法解析地址。例如现在针对Youtube的封锁和今年针对twitter的短时间封锁。都包括了DNS劫持的手段。一 般中国的ISP商提供的DNS服务都有或多或少的劫持行为。有时候跟GFW并无关系。例如像四川电信这种地方ISP商搞什么114网址导航等等自动跳转的页面。都是通过DNS劫持实现的。
针对DNS劫持。常用的办法是自己手动指定DNS解析服务器。例如指定为香港和记电讯DNS地址:202.45.84.58。202.45.84.59。以及著名的OpenDNS: 208.67.222.222。208.67.220.220。使用它们可以保证解析的准确性。不过。香港的DNS访问iTunes Store容易超时。可能是商业原因。使用OpenDNS无法在谷歌音乐下载歌曲。所以需要时。也可以自己临时切换。最后。用户可以手动修改本地的 hosts文件来彻底避免劫持。
2、域名封锁
这是封锁特定的域名。比如说www.xe.com 被列入了封锁名单。你以后每次输入这个地址就会被屏蔽。然而。这种封锁是比较低级的。有几种办法可以直接绕过。第一。你可以直接输入网站的IP地址。它就没用 了。第二。如果网站支持https(如果支持的话)。你就用https。Twitter有段时间就是这种待遇。如果输入 http://twitter.com 。没用。输入https://twitter.com 。访问就正常了。实际上。Twitter下面有很多二级地址仍然是这种待遇。用https统统可以绕过去。一般而言。浏览有https支持的网站应该尽量用https。这是为安全和个人隐私考虑。例如Gmail、 Google Reader等就该这样。
表现方式为“连接被重置”。
3、IP封锁
IP封锁是直接封锁某台服务器的IP。凡是访问 对应于这个IP上的网站都不能看。这也是那些被”连累”的网站被屏蔽的主要原因。例如。如果他们是租用别人的主机。不幸和某个反动站点在同一台服务器上。 那么GFW封掉这个IP会导致该IP上所有网站都挂掉。很多共享软件站点和外国技术论坛就是这么被屏蔽的。PyMOL公司的站点就是我遇到的一个例子。
表现形式为”服务器正在将请求重新定向“。
4、关键字审查与暂时访问限制
用 一般的www.google.com (而不是cn)搜索一个敏感字。会导致页面不能访问。并且接下来 的一分多钟的时间里你也不能访问 google.com。这种关键字触发的屏蔽。是GFW的一个重要特征。这种特性相当于一种警告。一般是暂时让你没法访问。隔一会儿后恢复正常。
表现形式为”无法显示网页“。比如Gmail。
我 们知道Google.cn是会过滤搜索结果的。如果想要看没被过滤的结果。我们需要先点google.cn下方的Google in English。才能进入Google.com。然后你再把自己的Search Preferences(搜索偏好)设置为用简体中文显示。这样你就可以像使用cn一样正常使用Google.com原版了。或者,你可以直接输入这个地 址:http://www.google.com/ncr 。这个地址会直接带你到原版Google页面。
5、流量限制
最新研究发现。如果某个外国网站在某段时间内访问量飙升。GFW会自动阻断国内对这个网站的访问。这是一项伟大的发明。这意味着中国国内已经没法对国外服务器实施DDOS攻击了。这个性质应该是今年才出来的,究竟是长期使用还是纯属实验性质,尚待观望。
以上是GFW常用的网络屏蔽手段。还有一些和GFW的网络屏蔽息息相关的轶事。我列表在这里。供大家参考。
1、GFW是双向的。国外的同胞访问国内的咸湿站可能遭阻断。
2、 GFW的地理位置。应该在几大海底光缆上岸的那些城市。以及重要的网络节点城市。这就应当包括上海(崇明、南汇)、北京、青岛、福建某地(实际出口在台北。GFW只能放在福建)、深圳(实际出口在香港)等等。但通常在我们测试GFW的实验中能够查到的、和Tor网络中一眼可以分辨的那种黑节点。基本都在北京和上海。
3、至今似乎没有网友说认识过或搭讪过任何在GFW工作的人员并曝内幕。另外,在那些探测 GFW的实验中,可以得到一些网络审查用仪器的设备信息,发现仍然是Cisco当年卖给我国的那些东东(思科提供的路由器IDS监测系统)。
4、 有理论认为。GFW并不是直接架设在主干网络上的。而是和主干网络进行并联。当数据来到服务器时。会被复制一份。然后两份数据同时通过出国端口和GFW设备。如果GFW认为这信息不良。会向主线路上追加发送数据包。阻断网络访问请求。这种”并联”的方式。应该说可以方便GFW的检修。减少对主干网的影响。 也可以解释在某些高流量的状态下。GFW会偶尔顾不过来的情况。
5、尽管如此。网络审查设备会老化。网络会发展。数据流量在猛增。近一两年来。每次GFW调整的那一两天。都会明显影响到平时本来不会封锁的那些国外网站。特别是整个网络访问国外网站的速度都在下降。不知道GFW会做出什么升级和改动。
6、 也许是因为这种审查负担不断地加大。以及高等公仆们对于视频、图像、声音信息过滤审查的需求。才导致了”绿坝”这种东东的出现。如果每个人机器上的数据都能预先审查屏蔽一番。GFW的压力会大大减轻。所以”绿坝”尽管很山寨。却代表了一个很不好的方向。意味着在贵国言论尺度会不断收紧。这让人想起 《1984》里。”The Big Brother is watching you.”。或者马伯庸的那个山寨版作品《静寂之城》。
7、 为什么中国的IPV6网络普及很慢呢?因为GFW对IPV6是无效的。现在。中国教育网用户是有IPV6地址的。如果他们的操作系统也支持IPV6(例如 OS X,Vista及以上)。他们可以在IPV6版的Google(ipv6.google.com)上搜索任何敏感字而不被临时屏蔽。所以。中国主干网要想用上IPV6。看来要先等GFW把IPV6的屏蔽搞定了再说。
列举GFW与白帽行业的恩怨:
曾经某个程序员在 GitHub 上建立了一个项目。利用 Python 脚本来定位 GFW 的物理部署位置。之后不久,GFW 把 GitHub 屏蔽了。(下达封锁命令的,估计是 IT 外行。没有意识到 GitHub 在 IT 行业中的影响力。) 然后悲剧发生了。GitHub 被屏蔽。在 IT 社区(尤其是程序员社区)引发轩然大波。包括李开复在内的一大帮 IT 名人在微博上强烈抗议。 由于民愤太大。GFW 被迫取消封锁。
某网友(大概也是程序员)建了个页面。列举那些替 GFW 卖命的技术人员。同时还在美国白宫官网发起一个请愿。呼吁美国政府禁止这些人入境美国。 就在发起请愿的次日。GFW 对该网站进行了一次中间人攻击。这次攻击很粗糙(连 CA 证书都没有好好伪造)。一下子就被网友识破。此次攻击仅持续几个小时。
值得注意的是。这次的中间人攻击是由GFW与CNNIC合作完成的。也就是说。如果准备充分的话。很多人会上当。比方说。GFW 可以先找 CNNIC 合作。利用 CNNIC 的根证书。制作一个看起来可信的 SSL 证书。然后再利用这个 SSL 证书。搞一次中间人攻击。因为大多数浏览器默认都信任 CNNIC 根证书。不会给出警告提示——这足以骗过超过99%的网友。
最后。大家还是练好翻墙姿势才对。至于与GFW的战争。还是交给乌云那帮人吧。

时间: 2024-08-07 00:17:56

关于GFW的功能原理和特性分析[转]的相关文章

《大型网站技术架构-核心原理与案例分析》之一: 大型网站架构演化

最近刚刚读完李智慧的<大型网站技术架构-核心原理与案例分析>,对每章重点内容作了一些笔记,以便加深印象及日后查阅. 一.大型网站软件系统的特点 高并发,大流量:需要面对高并发用户,大流量访问. 高可用:系统7X24小时不间断服务. 海量数据:需要存储.管理海量数据,需要使用大量服务器. 用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别. 安全环境恶劣:由于互联网的开放性,使得互联网站更容易受到攻击,大型网站几乎每天都会被黑客攻击. 需求快

《大型网站技术架构 -核心原理与安全分析》读书笔记

大型网站架构演化的价值观 网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候去追求网站的架构是舍本逐末,得不偿失的.小型网站最需要做的就是为用户提供好的服务来创造价值,得到用户的认可,活下去,野蛮生长. 网站架构设计误区 一味追求大公司的解决方案 大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的道路上迟早会迷路. 为了技术而技术 网站技术是为业务而存在的,除此毫无意义.在技术选型和架构设计中

PHP函数的实现原理及性能分析

前言 在任何语言中,函数都是最基本的组成单元.对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序.同时也会对一些常见的php函数进行介绍. php函数的分类 在php中,横向划分的话,函数分为两大类: user function(用户函数) 和internal function(内置函数).前者就是用户在程序中自定义的一些函数和方法,后者则是php本身

大型网站技术架构--核心原理和案例分析 大型网站架构演化(一)

如果把上世纪90年代CERN正式发布web标准和第一个WEB服务的出现当作互联网的开始,那么互联网站的发展之经历了短短20多年的时间.在20多年的时间里,互联网的世界发生了变化,今天,全球有近一半的人口使用互联网,人们的生活因为互联网而产生了巨大的变化.从信息检索到即使通信,从电子购物到文化娱乐,互联网渗透到生活的每一个 角落,而且这种趋势还在蔓延.因为互联网,我们的世界正变得越来越小. 同时我们也看到,在互联网跨越式发展进程中,在电子商务火热的市场背后却是不堪重负的网站架构.某些B2C网站逢促

编译原理——算符优先分析文法(附源代码)

算符优先分析文法 一.写在前面 算符优先分析文法是一种工具,在编译的过程中,隶属于语法分析环节,却又与中间代码的生成息息相关,编译可以分为五个阶段:词法分析.语法分析.语义分析(中间代码的生成).代码优化.目标代码生成.语法分析是指:在词法分析基础上,将单词符号串转化为语法单位(语法范畴)(短语.子句.句子.程序段.程序),并确定整个输入串是否构成语法上正确的程序.也就是说语法分析是检验输入串的语法是否正确,注意这里的语法正确,只是简单地符合自己定义的规范,而不能检测出运行时错误,比如"X/0&

(转)PHP 函数的实现原理及性能分析

前言 任何语言中,函数都是最基本的组成单元.对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文 将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序.同时也会对一些常见的php函数进行介绍. php函数的分类 在php中,横向划分的话,函数分为两大类: user function(内置函数) 和internal function(内置函数).前者就是用户在程序中自定义的一些函数和方法,后者则是php本身

JAVA读书推荐----《深入分析Java Web技术内幕》--《java多线程编程核心技术》--《大型网站技术架构 核心原理与案例分析》-《Effective Java中文版》

(1)  首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life. 目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客.这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是: 1.随便开篇点明该设计模式的定义 2.图文并茂讲解该设计模式中的结构 3.以详细的代码形式写一下该种设计模式的实现 4.补充内容 5.讲解该设计模式的优缺点 对于一个设计模式我们关

网络编程懒人入门(六):史上最通俗的集线器、交换机、路由器功能原理入门

1.前言 即时通讯网整理了大量的网络编程类基础文章和资料,包括<TCP/IP协议 卷1>.<[通俗易懂]深入理解TCP协议>系列.<网络编程懒人入门>系列.<不为人知的网络编程>系列.<P2P技术详解>系列.<高性能网络编程>系列.甚至还有图文并貌+实战代码的<NIO框架入门>等,目的是帮助即时通讯类应用的开发者,至少要掌握网络编程最基本的原理,所谓知其然更要知其所以然.尤其现在移动网络大行其道的时代,在网络环境如此复杂的

Memcached概念、作用、运行原理、特性、不足简单梳理(1)

http://www.cnblogs.com/yinrq/p/5013742.html Memcached概念.作用.运行原理.特性.不足简单梳理(1) 大家可能对memcached这种产品早有了解,或者已经应用在自己的网站中了,但是也有一些朋友从来都没有听说过或者使用过.这都没什么关系,本文旨在从各个角度综合的介绍这种产品,尽量深入浅出,如果能对您现在或以后的工作有所帮助,笔者将感到无比荣幸. Memcached概念.作用.运行原理.特性.不足简单梳理(1) Memcached下载安装.NET