你需要知道的一些知识 - 科学上网


想知道科学上网的方法就别点开了

敬告:本文仅为科普,不提供任何服务或者教程!

什么是科学上网

我想点进来的有些人一脸懵逼,什么是科学上网,有些人则邪魅一笑。

科学上网的定义就是,更加科学的上网(废话)。
中国网民有句话“世界那么大,我想去看看。“
你需要了解的是中国大陆有个东西,叫做GFW,全称为 Girl Friend Wall (女友之墙) Great Fire Wall (防火长城),它阻挡了许多来自国外网站的流量,例如人人皆知的404网站 YouTube Facebook Twitter Instagram 等等
原因是什么?中国国情。这些网站有着很多色情、政治敏感的内容,中国政府不得不将其阻拦在外。我们如果要去正常访问这些网站,不受大陆的GFW限制,这个行为称为“翻墙”
那时候网民只能通过VPN建立一个通信隧道去翻墙,这里先来讲一讲GFW是如何阻拦我们的访问请求的。

我们向目标地址发起请求,比如本地电脑向youtube服务器发送访问请求,youtube服务器接收到相应请求时,返回对应数据包报文,我们的数据去程是通过GFW发往海外,当海外服务器回国时,会通过GFW,这时候GFW会对回国的数据包进行检测,倘若匹配禁止访问列表中的地址,比如发现了HTTP报头中有"Host: www.youtube.com"的字样,那么GFW会阻断这个连接,从而达到屏蔽该网站,通俗的讲,数据出的去,回不来。这就是GFW的阻拦原理。

还有一种封锁方式,也就是严重的干扰,通过DNS污染来达到阻拦。我们访问一个网站,比如 www.baidu.com,当我们发送访问请求时,电脑根本不知道你访问的实际IP地址是什么,举个例子,百度的域名就是一个名字,而我们要找的是这个名字对应的人住址,也就是网站服务器的IP地址,完成这个工作的就是DNS服务器,当我们发送域名到DNS服务器时,DNS会把这个域名对应的IP地址返回给我们的计算机,当如我们访问youtube.com时,DNS服务器发现这是一个被封禁的地址,那么就告诉我们一个虚假的地址或者根本不告诉我们服务器的地址,从而我们就无法访问该网站,这就是DNS污染。

2018年初,GFW的封锁方式由权协议封锁改为TCP封锁,什么意思?原先我们判断我们的代理服务器是否被GFW封锁,只需要简单ping一下服务器的IP地址,倘若没有响应,那么该服务器就是被封锁了,但是改为TCP封锁之后,当服务器被封锁之后,依旧可以正常ping通,并收到服务器的响应。原因是因为,ping命令用的是ICMP协议发送的数据包,而墙现在只隔断TCP连接而非全部连接,所以要想检测一个IP是否被封禁,那么可以用一个小工具家叫做tcping,这个工具的原理就是利用TCP协议来ping服务器,从而检测服务器是否被封。

如何科学上网

警告:本文仅为科普,并不提供任何科学上网服务器搭建的教程!

有政策,一定有对策,怎么翻墙?大多数人第一个想到的就是VPN,2018年了,VPN早已过时,传统的VPN已经能被GFW精确识别,并且阻断。
可以用另一个说法说就是,很多人听到VPN,就想到这是拿来翻墙的方法,其实不然,VPN只是为了更安全的在两台计算机之间私密地传输数据,翻墙只是其中的衍生功能之一,而诸如Shadowsocks之类的协议,是为了更好去伪装我们发送的数据包不被GFW发现,从而达到稳定高效翻墙的效果,如果加密后数据不能被GFW精确识别是否为翻墙的请求,那么GFW会放行,翻墙协议就是为了欺骗GFW而生的,这就是SS诞生的原因。

Shadowsocks(R)的前世今身

2012年,在 V2EX 论坛上,有一个叫 clowwindy 的用户,他为了避免网络流量分类技术 和 SSH tunnel 的低效,发布了一个加密流量的传输协议,自己用了一年多以后,觉得很高效,而且配置极为方便,就将这个协议共享出来,短时间内迅速赢得了很多用户,并在 V2EX 上有了一个专属的节点。shadowsocks 迅速被移植到各种平台、各种语言,用户也急剧上升,并且有了专门经营 shadowsocks 服务的商家。

2015年8月,Shadowsocks原作者Clowwindy称受到了中国政府的压力,宣布停止维护此计划(项目)并移除其个人页面所存储的源代码。

后来,Github @breakwa11,也就是破娃酱,在原有的SS协议基础上,发布了基于SS的增强版协议,ShadowsocksR,其是为了增加混淆数据包的功能,使数据包更不容易被GFW发现,但是因为破娃酱没有尊重GPL协议将源代码发布出来而是只发布了二进制程序,一时间内遭到了网友们的冷嘲热讽,后来被人肉,原因是因为破娃酱发布了一个“深圳启用SS协议检测”而引发网民恐慌的事件。在被人肉之后,破娃酱删除了全部的代码仓库,停更SSR,从此淡出视野。但是网友们早就将SSR的所有版本 fork (可以理解为备份)了下来,SSR才延续至今。

Shadowsocks(R)相较VPN,最大的优点是SS可以基于规则,进行智能分流,倘若我们使用的是传统的VPN,开着VPN时候,所有的数据流量都会被送往代理服务器,如果我们在这期间想要访问一些国内的软件或者网站,那么会极为不方便,而SS和SSR就不一样,在建立完本地Socks服务器之后,当我们发送访问请求,SS(R)会根据请求的URL或者IP地址,在现有的数据库(也就是我们常说的:规则列表)中匹配,若匹配到了,就将其发送往目标服务器,而若为国内的IP或者网站,则会直接走本地网络直接连接,这样子我们就可以24小时挂着服务。但是规则也是有人要去维护的,假如哪天某个网站被墙了,那么SS就不能匹配到该网站,就不会使其进行代理访问,那么就失去了规则的作用。目前最为知名的规则列表是 lhie1 大佬的规则,支持iOS端的所有代理软件。

从我个人的角度来看,SSR和SS,它们是非常优秀的协议,现在是2018年年底了,在这期间出现过许多加密代理的协议,诸如V2Ray,Brook等,但是SS和SSR,开创了中国网民的翻墙史,时至今日,SS和SSR任然占据着主流翻墙协议的90%。
没有必要为了用什么协议而争吵,也没有必要去做一些所谓的事件,大家都是翻出墙来的人,而这又有什么可以值得骄傲的呢?

  • 分享:
浙ICP备19007906号