SS原理解析

普通代理示意图

如上图所示:
在内部受限网络中,受到防火墙的限制,无法直接访问远程目标服务器。
于是可以过代理服务器,来访问。

但代理流量是明文的,在通过防火墙时,还是可以检测出来。

比如在socks5中,在客户端发送socks5请求时,中间设备也是可以解析到并进行阻断

于是关键点就是在通过中间设备时,不被解析出来。

增强版代理示意图

为了不被中间设备干扰,于是发展成把代理分为前端和后端,在前端和后端之前的流量进行加密。
这样通过中间设备时是普通的tcp流,中间设备无法解析。

如下图所示:

  • (1),(4)是普通的http/https流量
  • (2),(3)是没有明显特征的加密流量

shadowsocks就是基于这样的原理,分服务端与客户端。

客户端一般部署在自己电脑上,要配置

  • 本地端口,监听本的 socks/http流量。
  • 服务端的ip与端口,为与服务器交换数据。
  • 加密方式与密码,与服务器用一样的加密算法与密钥。