杂谈GFW
写这篇文的契机是clash删库。我搜索了各种文章、视频,包括GFW的历史、原理。
流量转发原理分析
路径
本地主机 --- 路由器 --- DNS服务器 --- 跳转内陆服务器 --(跨国传输线路)-- 跳转外国服务器IP
从协议层的角度来看:
数据链路层(封装成帧) -- 网络层(ip与路由转发) -- 传输层(端到端通信) -- 应用层(实际数据)
GFW对流量的处理主要分为过滤请求
和封锁目标
两种。
在网络层(ip层),GFW会利用路由扩散来实现ip的封锁,这将流量过滤分布式到全国各地的路由器上。
在只提供传输服务的传输层字段,GFW会根据目标地址是否合法来过滤流量。
在应用层,通过**
DNS
污染**,导致不解析域名的ip,从而封锁
对非法域名的访问。在应用层,如果数据可以得到明文解析,则会触发关键字识别,从而
过滤
掉含有关键字的流量。在应用层,除了最基本的
HTTPS
加密协议外,还有许多其他加密协议。如果GFW能够识别协议或根据一些特征分析出真实目的,那么可以进行过滤和封杀。这也是GFW的最主要手段。
GFW更多的并不是去破解加密的流量,而是去根据流量的特征猜测流量的真实意图。所以,更好的、更复杂、更新的加密算法并不就意味着安全,但他们可能确实相对于现有的其他旧算法安全。由此得出的结论是,”更逼真的去伪装普通流量“才是绕开GFW的关键点,而“设计更加复杂的加密”确实有效,它也是为了服务于前者。
历史:VPN(1998 - 2011)
利用虚拟专用网络来越过GFW的检测
首次发送建立加密连接的请求建立请求,此后的数据均经过加密和外部合法ip进行通讯。
这会导致GFW对于这种带有特征的流量察觉(即,,监控、判定并最终封锁这种流量。