ShadowSocks的翻墙原理

Clowwindy分享并开源了他提出的Shadowsocks翻墙解决方案。它的翻墙原理是什么?有什么优点和缺点?

简单理解的话,Shadowsocks是将以前通过SSH创建的Socks5协议拆开成Server端和client端,下面这个原理图能简单介绍其翻墙原理,基本上和利用SSH tunnel大致类似:

what-is-shadowsocks

  1. PC客户端(即你的电脑)发出请求基于Socks5协议跟SS-Local端进行通讯,由于这个SS-Local一般是本机或路由器等局域网的其他机器,不经过GFW,所以解决GFW通过特征分析进行干扰的问题。
  2. SS-Local和SS-Server两端通过多种可选的加密方法进行通讯,经过GFW的时候因为是常规的TCP包,没有明显特征码GFW也无法对通讯数据进行解密,因此通讯放行。
  3. SS-Server将收到的加密数据进行解密,还原初始请求,再发送到用户需要访问的服务网站,获取响应原路再返回SS-04,返回途中依然使用了加密,使得流量是普通TCP包,并成功穿过GFW防火墙。

因此,Shadowsocks的优点在于它通过流量混淆隐秘解决了GFW通过分析流量特征从而干扰的问题,这是它优于SSH和VPN翻墙的地方(但VPN更注重加密安全性)。缺点也依然明显,需要一点点技术和资源(墙外VPS服务器)来搭建Shadowsocks服务,好在已经有人搭建相应的服务出售翻墙服务了。

本文借鉴了 http://vc2tea.com/whats-shadowsocks 一文的内容和图片,感谢。

ShadowSocks的翻墙原理》有60个想法

  1. Sumhat

    其实所有翻墙手段的原理都是一样的,让通信过程无法被墙识别。但是由于 HTTP / TCP / DNS 协议的“缺陷”,完美翻墙技术还不存在。

    回复
    1. 土木坛子 文章作者

      哪有,我这里只是看到最近SS翻墙比较火,想搞明白它的技术原理,于是简单查阅了一下,发现了一个较通俗易懂的解释,便把它精简在此与大家分享。

      阮兄的境界我达不到,也没有去模仿——不过他现在越来越专于技术细节了,不像几年前那么关心非技术的东西了,也许是墙内影响太大,便说话有许多限制了吧,理解他,也觉得很无奈。

      回复
  2. 方室网志

    墙加高了,以前的许多翻墙软件都沦陷了。SS和VPS也多起来了,个人架设VPS一般人也难得搞,还是花钱买吧!要与墙外保持联络,否则再想出来就难了。据说QQ里提到某个VPN,没多久这个VPN就没法用了。

    回复
  3. 大致

    道高一尺魔高一丈.有nation的钱顶着,研究墙的人想的话总会把一个一个漏洞堵上的,尤其是免费的.
    现在用自己服务器的SSH都觉得提心吊胆.

    回复
  4. hannah

    看八懂 绿色vpn用着还行 定了一个10个人的帐号,上周又续了一年,但是绿色vpn这两天在狂掉,肯定是受啥影响了~

    回复
  5. Bairrfhoinn

    原来是这样,长见识了,最近壹段时间我都没有再翻墙了,因为没有太强烈的需求,哪天壹定要翻的话,我肯定选择付费的服务。

    回复
  6. xiaoxin

    楼主您好,原理图中有一点我不明白,就是 ss server 后面 是不是还应该有一个http proxy才行?

    回复
  7. where

    ssh的socks代理也可以给局域网里的其他人使用,所以我觉得ssh和shadowsocks用起来非常像,几乎一样。
    但是,我觉得区别最大的地方是shadowsocks不需要登录,无状态,密钥是需要预先知道的,而且据称工作模式是来一条连接,建立一条连接;
    而ssh需要先建立一条连接、完成认证、密钥协商等过程才有可能建立代理(连接断掉,代理也就暂时挂了)。
    另外,shadowsocks现在纯粹是个加密代理,而ssh协议能干的事很多,当代理只是功能之一。

    回复
    1. where

      据称,ssh把数据都放在了一条连接里,网络性能可能不好。
      另外,ssh作为一种标准的协议,特征明显,每个数据包头部都会标记自己是ssh流量。(我觉得正是因为ssh可以干的事情远不止科学上网,全封会广泛误伤,所以GFW才没封,实际上想封是很容易的)
      但是shadowsocks不是这样,它的流量看起来就是TCP在传输完全加密的数据。
      也许,这样也不是无懈可击,毕竟数据包传输的时间顺序、流量大小还是可以被监控的,这样就有可能被识别出来。
      虽然shadowsocks传输的内容已经被加密,但安全性仍然未知。作者至今还保留着已被自己发现缺陷的rc4加密算法,可能设计时的重点就不是数据是否安全传输,而是翻墙能否成功。
      更何况不少人给shadowsocks设置的密码并不复杂,或者直接公开了密码。

      回复
  8. nothing

    请问一下,用ss登陆gmail的话,密码会被记录在vps服务器里面吗?换句话说,安全吗?谢谢!

    回复
  9. wxf04125

    红杏挂了好久了,据说以后插件方式都不管用了。昨晚试了下shadowsocks很快很稳定,是从gaotizi那边买的5块钱试用,不知道和官网的有没有什么区别。

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注