Earthworm

EW 是一款便携式的 SOCKS v5 代理服务器,可在复杂网络环境下快速完成SOCKS v5代理服务器的部署

Download ew.zip Download as .tar.gz View on GitHub

关于 EW 的介绍

下图是一张示意图,可用来参考判断该工具的使用环境。

该工具名为“蚯蚓”,是希望它能够像“蚯蚓钻洞”一样,能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达内网深处。

为了适应更复杂的网络环境,工具包中提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS 均被包括其内,在后续的版本维护中还将加入更多平台的支持,敬请期待。

使用方法:

(以下所有实例,如无特殊说明代理端口均为1080,服务均为 SOCKS v5 代理服务 )

该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran),具体使用细节参考以下内容。

  • 1. 正向 SOCKS v5 服务器
  •  $ ./ew -s ssocksd -l 1080

  • 2. 反弹 SOCKS v5 服务器
  •   这个操作具体分两步:

      a) 先在一台具有公网 ip 的主机A上运行以下命令:

      $ ./ew -s rcsocks -l 1080 -e 8888 

      b) 随后在目标主机B上将 SOCKS v5 服务 反弹到公网主机的 8888端口

      $ ./ew -s rssocks -d 1.1.1.1 -e 8888 

     此时一反弹式的 SOCKS v5 服务便启动成功了。

  • 3. 多级级联
  •  该方式是通过工具中自带的三条端口转发指令来实现的,

     它们的参数格式分别为:

     $ ./ew -s lcx_listen -l  1080   -e 8888
     $ ./ew -s lcx_tran   -l  1080   -f 2.2.2.3 -g 9999
     $ ./ew -s lcx_slave  -d 1.1.1.1 -e 8888    -f 2.2.2.3  -g  9999

     通过这些端口转发指令可以将处于网络深层的 SOCKS v5 代理服务转发至眼前。

     首先提供两个“二级级联”本地测试样例:

      a) lcx_tran 的用法

      $ ./ew -s ssocksd  -l 9999
      $ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999

      b) lcx_listen、lcx_slave 的用法

      $ ./ew -s lcx_listen -l 1080 -e 8888
      $ ./ew -s ssocksd    -l 9999
      $ ./ew -s lcx_slave  -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999

     再提供一个“三级级联”的本地测试用例以供参考

      $ ./ew -s rcsocks -l 1080 -e 8888
      $ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
      $ ./ew -s lcx_listen -l 9999 -e 7777
      $ ./ew -s rssocks -d 127.0.0.1 -e 7777

     辅助说明:此刻数据流向为 SOCKS v5连接请求 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

    补充说明:

    1.为了减少网络资源的消耗,程序中添加了超时机制,默认时间为10000毫秒(10秒),用户可以通过追加 -t 参数来调整这个值,单位为毫秒。在多级级联功能中,超时机制将以隧道中最短的时间为默认值。

    2.单纯从设计原理上讲,多级级联的三种状态可以转发任意以TCP为基础的通讯服务,包括远程桌面/web服务 等。

    联系作者:

    rootkiter : 2559964169@qq.com

    如果您在使用中有什么好想法,或遇到什么BUG,都可以主动联系我。我会尽最大所能让这个工具更加完美,感谢大家的支持。