https://my.oschina.net/moziBlog/blog/3190520
ssh tunnel
1、首先用户和服务器基于 ssh 建立起一条加密的通道
2、用户通过建立起的隧道进行代理,通过 ssh server 向真实的服务发起请求
3、服务通过 ssh server,再通过创建好的隧道返回给用户
ssh 本身就是基于RSA 加密技术,无法获取数据传输的过程中的加密数据内容。但由于ssh本身的特征是明显的,所以通过分析连接的特征能得出是ss。
shadowsocks
shadowsocks将原来ssh创建的 Socks5协议拆开成 server 端和 client 端
1、客户端发出的请求基于Socks5协议跟 ss-local 端进行通讯,返个 ss-local 一般是本机或是代理服务器
2、ss-local 和 ss-server两端通过多种可选的加密方法进行通讯,用常规的 TCP包。
3、ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要访问的服务,获得响应原路返回