ZMonster's Blog 巧者劳而智者忧,无能者无所求,饱食而遨游,泛若不系之舟

通俗化解释GFW工作原理

场景约定

先对用户上网行为中的一些实体或行为做以下约定:

  • A镇:中国互联网

    A镇是一个小镇子,四面环山、风景优美,人民淳朴善良、勤劳勇敢。

  • 镇外:国外互联网

    镇外有很多繁华的城市,丰富多彩的商品。

  • 居民:客户端(PC/智能终端等)

    居民是A镇的居民,他们每个人都有一个家。

  • 商店:网站

    居民们经常需要购买一些东西,这些东西就要到商店里去买,镇里镇外都有商店。居民一般是不能自己卖东西的,如果要卖东西,要经过工商局的许可,还要注册一个商店名称。

  • 商店名称:网站域名

    每个商店都有一个独一无二的名称,绝不重样。

  • 具体地址:IP

    每个居民的家以及商店都有一个具体的地址,如:xx街道xx号。

  • 购买:网络连接

    购买就是购买,可以购买镇内的东西,也可以购买镇外的东西。购买东西的时候,商店通常都会记下购买者的地址和对方购买的商品列表。

  • 管家:浏览器

    (实际上这个比拟不恰当,请不要深究)

    居民们很忙,没有空自己去买东西(有的商店也很远),所以居民们把购买的事情交给管家去做,通常只告诉管家 商店名称要买的东西

  • 道路:路由

    管家是走路去的商店的,有的也开车,但是这个世界没有飞行器。

  • 路口:路由器

    镇上道路四通八达,到达一个目的地有很多种走法。在每个路口都有路标,指示各个方向可以到达什么地方,比如说有一个路口的路标上有这么一句:

        向左拐可以到山麓百货商店
    

    当然,其实向前走也可以,总之随便走,取决于管家对道路的熟悉程度了。

  • 交警:DNS服务器

    管家有时候会不知道商店在哪个位置,不过没关系,他可以去问交警,交警博文强识、乐于助人,会告诉管家商店的具体地址的,然后管家就可以乐呵地去目的地了。

  • 谨慎购买:TCP连接

    有些居民怕买东西上当,因为毕竟不是自己去嘛,所以又无情地压榨老管家的劳动力了(打倒资本主义!)。这是居民会先让管家按照某种规定和商店进行交流(TCP三次握手),确定商店是可信的并且让商店也信任居民后,就可以进行谨慎购买了。这后面居民买东西时,就不用再报上自己的信息了,售货员暧昧地看了一眼老管家就知道,唔,又是这个家伙。而且,售货员会细心检查商品看有没有质量问题。

    在这种购买方式要结束时,居民会让老管家和商店说一声,这样商店知道这货不会再来买东西了。

  • 切口:TCP三次握手

    在进行谨慎购买时,要对交换三次密文,用来对答切口,确定对方是否可信任。

    1. 第一次,管家带着用明矾水写的密文前往商店,上面写着:

             天王盖地虎
      
    2. 到达商店后,售货员解读了密文后,也用明矾水写一张密文,内容是:

             宝塔镇河妖
             地振高岗,一派溪山千古秀
      

      第一句是回应管家带来的切口,第二句则是要求购买方对答的切口。

    3. 管家把密文带回居民家中,居民解读出密文,再制作一张密文,内容为:

             门朝大海,三河合水万年流
      

      再让管家带过去,这时候售货员和居民都可以确定了:唔,自己人!

  • 随意购买:UDP连接

    谨慎购买太麻烦了,所以有些人喜欢随意购买这种方式,告诉管家要买什么东西,到商店里拿了付钱走人就完了。不过这种情况,售货员不会帮管家检查商品质量,买回去有可能是次品(退货这种事情这里就不讨论了)。

GFW(Great Firewall,中国互联网防火墙)

话说小镇是一个社会主义小镇——至少小镇管理委员会是这么说的,本来吧,小镇生活挺清苦的,后来有一任镇长看不下去了,就发动了代号为”改革开发“的运动,打通了一条通往外界的道路,从此小镇日新月异,蒸蒸日上。

但是开放有开放的问题啊。万恶的资本主义趁机侵入了小镇。

小镇管理委员会也很无奈啊,首先吧,确实需要万恶的资本主义商店来提升小镇的GDP;其次吧,没有万恶的资本主义商店,委员会的公仆们到哪里去买好吃的好玩的来调养身心为小镇建设做好身体和心理的准备呢?

可是你们这些资本主义商店,我们高等的社会主义小镇给了你们为我们小镇贡献GDP和表现自我的机会,除了感恩戴德之外,怎么还把 自由民主 之类的违禁品卖给我们淳朴善良的居民们呢?什么,你说那不是坏东西?我们说是就是!

于是,在小镇召开的第十九届全镇代表大会上,代表了全镇居民们的代表们设立了 小镇安全委员会 并制订了代号为 GFW 的计划,并交给了小镇第三中学的方校长来执行。可怜的方校长不过是执行者,从此却被激进无脑的小镇居民恨之入骨,人家雨果不是说过了嘛:有罪的不是犯罪的人,而是制造黑暗的人。这就和一个色狼用手骚扰了地铁上漂亮姑娘之后,法庭宣判“判当事人的右手性骚扰罪成立”一样可笑嘛,不过随便了,小镇的人们太淳朴了,大智若愚,大愚若智啊!!!

GFW 计划具体有什么内容不得而知,从目前得到的信息来看,该计划至少包含以下三部分:商店封锁计划、交警催眠计划和商品清单审查计划。

商店封锁计划(IP黑名单)

这个计划是这样的,对于一些不法的商店,直接封锁起来,谁也进不去——老管家当然进不去了。

当然这个计划是有漏洞的,因为很多商店是连锁的呀!比如说谷姐百货,那连锁规模,都快赶上垃圾食品连锁店肯德鸭了。

交警催眠计划(DNS劫持)

之前说过了,老管家是会向交警去问路的。交警催眠计划呢,就是把交警催眠了,当管家问”谷姐百货怎么走“时,交警就会告诉他一个错误的地址。老管家被压榨得太久了,脑袋不灵活啊,交警告诉他怎么走,他就怎么走,结果走到那个地方一看,好家伙,只看到满地的残骸,还有那摇摇欲坠的危墙上大大的一个 字。

老管家很郁闷,回家告诉居民:主人啊,找不到地址啊,说不定是个皮包商店呢。

这种手段主要用于防止管家到镇外去买东西,因为通往镇外的路只有一条,把那条路上的交警催眠了就OK。

镇外的世界啊,水深火热啊,不要去的好。

对于镇内的商店,主要是用商品清单审查计划,当然,现在对镇外的购买行为也开始使用这个了,因为有些镇外商店还是不错的,违禁品比较少,稍微审查一下就好了。

商品清单审查计划(内容审查)

这个计划是这样的。 小镇安全委员会 派出了很多隐形人,偷窥到了老管家身上带的商品清单,如果居民的商品上有违禁品,隐形人就会报告 小镇安全委员会 ,委员会会派出一个人伪装成对应商店的售货员,告诉老管家,”老管家啊,你这个东西我们这里没有“或者”老管家啊,你这个清单格式不对啊,结尾要加上'此致敬礼'啊“之类的。

老管家头脑不是不太好用嘛,就回去了。

后记

写这个东西,是为了向非专业人士解释一下 GFW 的工作原理,为以后向他们传播相关安全知识做个准备。

另外,我的某个老大跟我说过,你要能把事情跟别人说明白才能说明自己是真的懂了。大概就是这么个意思。

后面我会讲一下突破 GFW 的常规手段。