开篇:

​ 这篇文章和上一篇讲解历史的是一样的,也是看了一些视频和文档,在自己的onenote上了做了一些笔记,所以就同样的把他传上来,因为当时是边看边记,所以可能一些地方是一笔带过,见谅,因为更深的专业名词我也说不上来,但是对GFW的工作原理的确对我帮助很大,要知其然,更要知其所以然!!!! 注意: 本文只是探讨GFW的技术原理,技术无罪! 望知悉!

GFW是什么

​ 中国互联网1987年开始,还是比较早的, 但是GFW的诞生晚的多,起步于1998年,全称(Great Fire Wall),当时的主要手段是DNS劫持或者IP的封锁,以及包过滤,就是对一些明文协议进行关键字过滤等,GFW几乎可以在以下几个层都可以做文章 :应用层,传输层,网络层,物理层, 见下图

OSI模型

GFW的工作原理:

  • DNS污染: 解析国外域名,必须要有国外的域名服务器, 由于Dns所有的数据包都是明文和裸奔的,一旦被探测到到搜索非法域名,GFW就会伪造一个错误结果给你!俗话叫DNS污染,可谓四两拨千斤,占用网络资源非常少,但是可以挡住大部分小白!!

  • 封锁IP封端口: 一般国外一些大公司都有很多连续ip段,例如google,或者一些vpn有特定端口,现在GFW主要是用路由扩散技术,把要封锁的IP配置成空路由,这是一个非常高效的方法,也就是说可能你的数据包还没有出省呢,就被引导到黑洞去了!这也充分说明GFW是一个高效的分布式系统! !!

  • 关键字阻断配合TCP重置(TCP RST): 这种方法主要应用在网上的明文内容:比如:网页浏览的http协议,用于收发邮件的POP3 SMTP或者文件传输的FTP, 这些协议在互联网基本是裸奔的,GFW可以检测里面的关键字,如果不符合预期,就会给连接的双方发一个TCP RST的重置命令。理解为告诉打电话的双方,对方挂断了电话,所以两个人通话就结束了!

  • 协议识别: 主要涉及两个方面,1.代理的协议识别:比如,http代理socks5代理;各类VPN协议:比如:openvpnpptp。这类协议特征特别明显,连接之前都是固定套路,所以特别容易识别,所以GFW一旦检测到你的端口运行的是代理服务,就会封掉IP或者端口! 另外,可能一些专门为翻GFW所设立的协议,可能没有明显的流量特征,例如:ssvmess,但是某些软件的特定版本是有漏洞的,ss就出现过安全漏洞,这个漏洞的简而言之,就是经过有限次数的尝试,就能知道这个端口跑的是ss服务,V2ray也暴露出过漏洞,tls指纹的漏洞!总之,根据已知的漏洞,GFW也会探测到你端口跑的是不是翻GFW服务,如果是,就会封你的ip或者端口。 还有,协议识别还会识别另一方面,就是正常的加密协议,比如,httpsssh之类的协议,这类协议,GFW确实不能识别里面的内容,但也不是一点办法没有!!!

  • 大数据和人工智能: 首先,GFW积累了足够的数据,而且有足够的资源,所以,这方面的研究肯定是在进行,是否到了实用阶段无法断定,几个专利和文章说明不了问题,也不能相信网上的所谓内部消息,作者的观点:只是再有限的范围内做测试,或者是再解决某些特定问题上实用了AI, 但是不会把主要工作交给AI, 因为一旦判断失误,有可能造成灾难性后果,这是对未来一些有限的展望,但人工智能在处理大数据方面无疑是最厉害的!

Dns是什么:

​ Dns就是把域名翻译成IP地址 ,简单说就像是114查号台,你要查询某一个酒店的电话,自己不知道,就打114,114查号台查到后,反馈给你,你再打电话就能打通了,这个比喻我觉得挺贴切的!如果中途114搞鬼了,给了你一个假的电话,你当然就迷失方向了,当你出现404页面的时候,也是同理的!!以前我也对Dns一头雾水,看了一些知识后,才了解了,也算小有收货!!特地发到此处,当个云端笔记也好!本文暂定完结!!!