颓废篇(一)——珂学上网(待更新
由于[数据删除]的历史原因,[数据删除]的网络环境非常特殊,需要使用一些技术手段[数据删除],已达到一些目的,例如访问[数据删除]外网站、学术、技术、文化娱乐、使用一些网络服务、[数据删除]。
在10010大后的今天,[数据删除],所以本篇文章介绍一下GFW和常用的FQ技术。
What's GFW?
出海光缆
可以先了解一下中国接入\(Internet\)的情况:
世界海底光缆分布图 - 阮一峰的网络日志
中国出海光缆有\(3\)条,分别在青岛、汕头、上海,那么对为数不多的出海光缆控制一下、进行一下审查,便可以达到信息封锁的目的,这个技术的缩写叫做\(GFW\),经常被称为墙,曾经由某\(Hf\)亲自主持建设。
GFW
部分内容
现阶段防火长城已经具备干扰IPv6隧道的能力。
2013年对代码托管网站GitHub的审查和封锁
2013年1月20日,中国大陆政府的防火长城利用域名污染和关键词过滤等手段屏蔽
GitHub。但是,由于屏蔽引发了社会的强烈反应,最终解除了对GitHub的屏蔽。
Steam社区网站被屏蔽
Steam是世界最大的PC数字游戏平台,其社区网站被用于讨论和分享游戏经验。
Steam在中国也有着庞大的用户群,根据Steam Spy2017年底的报告,
Steam的中国区玩家已经突破3000万,其不受中国监管的社群被认为带来了监管方面的挑战。
Steam自2015年开启人民币结算以来,曾多次因部分网民在社区发表违反中国法律的内容而遭到屏蔽,
在Valve配合删除相关违规言论并封禁违规用户后均解除了屏蔽。
但自2017年12月16日起,Steam除了商店,其他功能(社区、市场、库存、创意工坊)均被屏蔽,
方法是DNS污染和SNI RST,该屏蔽至今仍未解除,玩家需要使用加速器或在修改hosts的
同时使用本地反向代理等工具才能访问,但中国大陆部分地区的用户即使是使用了加速器或
本地反向代理,在访问社区的时候仍然会提示“您所在的地区不支持”,原因未知。
技术
主要技术
2.1 域名解析服务缓存污染
2.2 IP地址或传输层端口封锁
2.2.1 针对TCP和UDP连接的封锁
2.2.2 针对UDP连接的干扰
2.3 TCP连接重置
2.3.1 针对HTTP协议的关键字阻断
2.3.2 针对TLS的SNI阻断
2.3.3 针对TLS的证书传输检测
2.3.4 对eD2k协议的连接干扰
2.4 其他
2.4.1 对破网软件的反制
2.4.1.1 针对Tor的刺探
2.4.2 间歇性完全封锁
2.4.2.1 间歇性封锁国际出口
2.4.2.2 境内骨干路由器间歇性阻断
2.4.3 深度包检测
2.4.4 针对IPv6协议的审查
2.4.5 对电子邮件通讯的拦截
2.4.6 网络攻击
硬件
据2010年的估计,防火长城可能拥有数百台曙光4000L服务器。
防火长城(北京)使用曙光4000L机群,操作系统为Red Hat系列(从7.2到7.3到AS
4),周边软件见曙光4000L一般配置
防火长城实验室(哈尔滨工业大学)使用曙光服务器,Red Hat操作系统
防火长城(上海)使用Beowulf集群。GFW是曙光4000L的主要需求来源、
研究发起者、客户、股东、共同开发者。2007年防火长城集群规模进一步扩大,
北京增至360节点,上海增至128节点,哈尔滨增至64节点,共计552节点。
机群间星型千兆互联。计划节点数上千。
有多方证据表明防火长城(广州)存在,但其使用的服务器和系统不确定。
有理由相信防火长城(北京)拥有16套曙光4000L,每套384节点,
其中24个服务和数据库节点,360个计算节点。每套价格约两千万到三千万,
占005工程经费的主要部分。有3套(将)用于虚拟计算环境实验床,计千余节点。
13套用于骨干网络过滤。总计6144节点,12288CPU,12288GB内存,
峰值计算速度48万亿次。
2 GHz CPU的主机Linux操作系统下可达到600Kbps以上的捕包率。
通过骨干网实验,配置16个数据流总线即可以线速处理八路OC48(一路OC48约2.5Gbps)
接口网络数据。曙光4000L单结点的接入能力为每秒65万数据包,整个系统能够满足
32Gbps的实时数据流的并发接入要求。有理由相信GFW的总吞吐量为512Gbps甚至更高
(北京)。
典型意义下GFW的线路拓扑:
其他:
面对 HTTPS 加密,GFW 的敏感词过滤失效。
其他名词
VPS:虚拟专用服务器(英语:Virtual private server,缩写为 VPS)
虚拟专用服务器 - 维基百科,自由的百科全书
代理(英语:Proxy)也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。
提供代理服务的计算机系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。
代理服务器 - 维基百科,自由的百科全书
SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。SOCKS是"SOCKetS"的缩写。
SOCKS - 维基百科,自由的百科全书
网际协议第6版(英语:Internet Protocol version 6,缩写:IPv6)是网际协议的最新版本,用作互联网的网络层协议。用它来取代IPv4主要是为了解决IPv4地址枯竭问题,同时它也在其他方面对于IPv4有许多改进。
IPv6 - 维基百科,自由的百科全书
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。
Secure Shell - 维基百科,自由的百科全书
超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
超文本传输安全协议 - 维基百科,自由的百科全书
对等式网络(peer-to-peer, 简称P2P),又称点对点技术,是无中心服务器、依靠用户群(peers)交换信息的互联网体系,它的作用在于,减低以往网路传输中的节点,以降低资料遗失的风险。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,任何一个节点无法直接找到其他节点,必须依靠其户群进行信息交流。
点对点网络 - 维基百科,自由的百科全书
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。
HTTP状态码 - 维基百科,自由的百科全书
中间人攻击(英语:Man-in-the-middle attack,缩写:MITM)在密码学和计算机安全领域中是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
中间人攻击 - 维基百科,自由的百科全书
How to fuck GFW
突破网络审查 - 维基百科,自由的百科全书
作为修改hosts文件这一常用手段,目前基本已经失效:
hosts文件 - 维基百科,自由的百科全书
修改本机 hosts文件,不足之处是需要系统管理员权限(如root权限)来修改,
对基于IP地址封禁的网站无效。自2018年8月份起,GFW开始启用基于SNI检测
和TCP连接重置的手段进行封锁,所以修改hosts方法不再完全适用。
一些相关软件的介绍
相关软件
蓝灯(Lantern),免费(3.x以后有付费版本,免费版4.x以后版本为每月500M,
超出限速)、开源,支持多平台(Windows、Linux、Android)。
蓝灯能够自动检测一个网站是否被封锁。对那些被封锁的网站,Lantern 通过自有的服务
器或者未封锁地区的用户运行的 Lantern 来提供访问。
赛风,免费、开源,支持多平台(Windows、Android、iOS),但链接不稳定
萤火虫(Firefly),用 Go 语言编写,采取 meek 工作原理,支持多平台(Windows、Android、iOS)
XXNET
浏览器集成包,为进一步降低破网难度,有志愿者将Chromium、Firefox等浏览器,
与已经配置好的FQ软件(如GoAgent和Shadowsocks的客户端软件)一起打包成一键翻
墙的浏览器集成包。这类浏览器集成包并不能提供高度安全的隐私保护,因为浏览器集成包
的制作者可能会在制作过程中加入恶意程序。当然,这类浏览器集成包的确易于使用。
洋葱路由器(Tor),同时提供暗网及代理。
大蒜路由器(I2P),Tor的演进版本,基于Java技术,使用 ed2k 技术实现分布式网络避免全网封杀。
代理服务器
此类软件需要自行在服务器和终端上部署,比一般的FQ方法更繁琐。
Shadowsocks,简称SS,需要自行购买VPS并搭建代理服务器,用于FQ,
在坊间也有可以直接使用的帐号出售,还有合租一台VPS服务器的情况。
ShadowsocksR,简称SSR,其使用方式同上,增加了混淆的特性,
可使FQ流量伪装成正常流量。
ShadowsocksRR,简称SSRR,使用方法同上,与SSR相比增加了更多的混淆方式。
Brook,跨平台,基于 GPL v3 协议授权。
V2Ray, Project V[11]项目创作的内核,使用自实现的 Vmess 协议及 mKCP 协议,基于 MIT 协议授权。
VPN
虚拟私人网络(英语:Virtual Private Network,缩写:VPN)是一种常用于连接
中、大型企业或团体与团体间的私人网络的通讯方法。它利用隧道协议(Tunneling
Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果,这种技术可以用
不安全的网络(例如:互联网)来发送可靠、安全的消息。
Lantern
Google的软件,在10010大前夕被干翻。
如果什么玩意都没有的话,可以先用一下这个,用GitHub可以很方便的下载。
蓝灯(Lantern)最新版本下载 Latest version of Lantern 5.3.2
有关VPN的风险性
工业和信息化部关于清理规范互联网网络接入服务市场的通知 - 中华人民共和国工业和信息化部
2017年1月22日,工业和信息化部发布《工业和信息化部关于清理规范互联网网络接入服务
市场的通知》,规定未经电信主管部门(各一级行政区通信管理局)批准,不得自行创建或
租用VPN、国际专线等其他信道开展跨境经营活动。而在境内VPN属于《商用密码管理条
例》须经国家密码管理局批准。这也意味着在中国大陆的ISP、IDC或CDN提供商租用或创
建VPN或国际专线开展业务,必须获取各一级行政区通信管理局的批准。
但是VPN本来的作用并不是专门干这种事的,有一定的缺陷,比如流量特征可能被GFW分析。
2019年发生了第一例个人使用VPN访问境外网站受到行政处罚的事件,所以使用VPN将导致可能被查水表或请喝茶,而且面对GFW不断地升级,开会时可能会使VPN使用体验不佳。
行政处罚决定书[2019]1号 - 广东公安执法信息公开平台
2018年12月28日,广东公安执法信息公开平台公布,韶关南雄公安局发出《韶雄公(网)行
罚决字 [2019]1号》文件:朱某某被警方认为“擅自创建、使用非法定信道进行国际联
网”而被警告并被罚款1000元。这一行政处罚的依据是1996年颁布的《中华人民共和国计
算机信息网络国际联网管理暂行规定》第六条、第十四条。
SS | SSR
那么先来介绍一下SS与SSR:
全称Shadowsocks | ShadowsocksR
SS的作者Clowwindy因被喝茶而删除其GitHub的源代码,SSR是breakwa11在SS基础上开发的软件,后因某些原因作者在GitHub上将其源代码删除,二软件开发时皆开源并且原作者停止维护后有人开发并维护与更新至今。
某已经删除的SSR主页(web archive):
breakwa11.github.io
先简要了解一下:
Shadowsocks - 维基百科,自由的百科全书
Shadowsocks(简称SS)是一种基于Socks5代理方式的加密传输协议,也可以指实现这
个协议的各种开发包。当前包使用Python、C、C++、C#、Go语言等编程语言开发,大部
分主要实现(iOS平台的除外)采用Apache许可证、GPL、MIT许可证等多种自由软件许可
协议开放源代码。Shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端
程序部署到服务器上面,然后通过客户端连接并创建本地代理。
一些教程
优先阅读
[ShadowsocksR] 大概是萌新也看得懂的SSR功能详细介绍&使用教程
V2Ray
一些其他的东西
一个Chrome的插件
Yet another flags
一个网站,可以测试网站是否被GFW屏蔽以及文本是否存在被审查的关键字
