小飞机工作原理

2021/03/22 Blog 共 1396 字,约 4 分钟

起因

通常,我们在浏览器中准备打开一个网站如 https://cn.bing.com/,在地址栏输入完网址按下回车后,浏览器会调用网络进程,由电脑发起网络请求,随后将下载的 html、css、js 等资源给浏览器的渲染进程。

但是,我们在浏览器中输入 https://google.com。却无法打开页面,那不是因为谷歌的服务器挂了,而是,我们的请求就没走到谷歌那里去,由于 GFW (即我们所说的网络墙)的存在,而被拦截了。

发展

因此,诞生了众多工具,如 shadowsocks,ssr,V2Ray 等等。俗称梯子,梯子的一个作用,不就是爬墙吗,hahah,也就是将上面被墙拦截的请求,通过梯子爬过去。

工具大概是个什么情况呢? 如图所示,再来讲解。(“优雅”的字啊 hhh

  1. 我们的电脑无法直接访问 Google 的服务器,通过上面其中一个工具,在有效的配置与开启后,会在自己的电脑上开启一个服务器。如 127.0.0.1:1086,即本地服务,端口号是 1086
  2. 随后,工具开启的本地服务器代理(拦截)我们电脑的网络请求,一般工具会提供几个模式如:PAC、全局。PAC 模式下,网络请求会进行判断,命中 PAC 中的配置,则会通过代理服务器发送网络请求,否则是直接发送请求,而全局模式,顾名思义,则是全部的请求都会通过代理服务器。
  3. 代理服务器可以与我们的电脑,目标服务器如 Google 都能进行连接,因此,我们自己电脑访问 Google,就给它发送请求,它接收到以后再去请求 Google 的服务器,Google 的服务器把响应给它,它再给我们。这就是一个翻墙的流程了。

小故事

如果,这样描述不好理解,那么可以用个小故事类比一下。有请小明~~~

小明是个可怜的孩子,只能呆在一个小院子里,想要与外界沟通,只能通过门口的威猛的保安大叔。

小明想知道小米的股票多少钱,给保安说了,保安看了看规则,发现可以告诉小明,就去查询随后告诉小明。

小明想给他的好朋友小红通话,给保安说了,保安看了看规则,发现可以让他们通话,于是就让他们建立连接。

小明想看 Youtube 的上面的可爱视频,给保安说了,保安看了看规则,不行!因此小明被拒绝了。

小明苦啊,怎么办呢,怎么办呢,这时候,小明突然想到,他可以和小红有联系,而小红呢,可以看 YouTube,咦,那不就可以让小红把 YouTube 的视频发给我么。

于是,小明给小红说了一下,小红同意了。于是小明做了个小工具让他和小红使用。而保安呢,小明只是给他说,我要和小红打电话哈,你同意下。保安看了看规则,可以。

这个工具呢,小明用它的时候,就会给保安说,要和小红打电话,保安就会同意,而小红那边的工具呢,接收到信息后,发现是小明的工具发过来的,就明白了,小明是要看 YouTube,于是小红就会按照小明的请求,去找 YouTube 的资源,然后发给小明。

在这个过程中,小明假装是和小红打电话,让保安没有拒绝他的请求,实际上是通过工具让小红给他看可爱的 YouTube 视频。

在这个故事里,小明就是我们的电脑和我们,小红就是代理服务器,工具呢,就是我们所用的梯子,ss、ssr 等等那些,什么,这些梯子你都没听过?那可不好讲了。。

总结一下

  1. 由工具开启本地服务器
  2. 本地服务器与代理服务器通信,代理服务器与目标服务器通信
  3. 访问被墙的目标服务器时,电脑是通过 本地服务器 <—> 代理服务器 <—> 目标服务器 这样的请求流程,得到想要的资源的。

文档信息

Search

    Table of Contents