简介
Suo5 是一款高性能 HTTP 正向代理工具,适用于不出网渗透测试与内网隧道搭建,支持多种连接模式,兼容 Java、.Net、PHP 服务端环境,提供 CLI 与 GUI 双版本。

主要特性
- 优异的传输性能
- 全双工: 借助双向 Chunked-Encoding 实现单连接双向通信,传输性能接近 FRP
- 半双工: 下行长连接+上行短连接实现,在 Nginx 反代场景下仍可保持良好性能
- 短链接: 上下行均使用短连接,适配多层反代和严格限制长连接的场景,作为兜底方案
- 良好的服务端兼容性
- Java 支持 Tomcat、WebLogic、JBoss、Resin 等主流中间件, JDK6 ~ JDK 2x 全版本支持
- .Net 支持 IIS 下所有 .Net Framework 版本 (>=2.0)
- PHP 支持 Nginx/Apache 等服务器环境, PHP 5.6 ~ PHP 8.x 全版本支持
- 复杂网络环境支持
- 支持一层、两层、多层反向代理下的稳定连接
- 支持通过流量转发和请求重试来支持负载均衡场景
- 支持配置上游代理(HTTP/SOCKS5)
- 稳定可靠的工程实现
- 正确可靠的连接控制、并发管理、心跳保活、异常重连等
- 完善的单元测试和集成测试保障质量
快速使用
命令行端(CLI)Suo5 命令行端(CLI)支持快速启动 HTTP 正向代理与 SOCKS5 隧道,可自定义请求方法、监听地址与认证信息,适用于授权安全测试与复杂网络环境部署。
- 启动简单隧道,默认开启socks端口到 0.0.0.0:1111
suo5 -t https://example.com/proxy.jsp
- 使用 GET / POST / PUT方法发送请求,有时可以绕过限制
suo5 -m <GET / POST / PUT> -t https://example.com/proxy.jsp
- 自定义 socks5 监听在 0.0.0.0:1111,并自定义Socks5连接认证信息为 admin:admin
suo5 -t https://example.com/proxy.jsp -l 0.0.0.0:1111 –auth admin:admin
CLI 版本适合喜欢命令行操作的用户,或需要在服务器上运行的场景
$ ./suo5 -h
USAGE:
suo5 [global options] command [command options]
GLOBAL OPTIONS:
--config value, -c value the filepath for json config file
--target value, -t value the remote server url, ex: http://localhost:8080/suo5.jsp
--listen value, -l value listen address of socks5 server (default: "127.0.0.1:1111")
--method value, -m value http request method (default: "POST")
--redirect value, -r value redirect to the url if host not matched, used to bypass load balance
--auth value socks5 creds, username:password, leave empty to auto generate
--mode value connection mode, choices are auto, full, half, classic (default: "auto")
--header value, -H value [ --header value, -H value ] use extra header, ex -H 'Cookie: abc'
--ua value shortcut to set the request User-Agent
--timeout value request timeout in seconds (default: 5)
--max-body-size value, -S value request max body size (default: 524288)
--retry value request retry (default: 1)
--classic-poll-qps value, --qps value request poll qps, only used in classic mode (default: 6)
--classic-poll-interval value, --qi value request poll interval in milliseconds, only used in classic mode (default: 200)
--proxy value [ --proxy value ] set upstream proxy, support socks5/http(s), eg: socks5://127.0.0.1:7890
--debug, -d debug the traffic, print more details (default: false)
--no-heartbeat, --nh disable heartbeat to the remote server which will send data every 5s (default: false)
--no-gzip, --ng disable gzip compression, which will improve compatibility with some old servers (default: false)
--jar enable cookiejar (default: false)
--no-browser-headers, --nb disable browser headers, which will not send Accept, Accept-Encoding, etc. (default: false)
--exclude-domain value, -E value [ --exclude-domain value, -E value ] exclude certain domain name for proxy, ex -E 'portswigger.net'
--exclude-domain-file value, --ef value exclude certain domains for proxy in a file, one domain per line
--forward value, -f value forward target address, enable forward mode when specified
--help, -h show help
--version, -v print the version
使用说明

- 连接Socsk5后配置代理规则时,需要将Suo5软件的流量排除在外不进行代理,否则会出现流量死循环继而卡死服务端!(详细看演示视频)
- 在Suo5中,服务端指的是对应目标服务类型的代码文件,例如:目标服务器是PHP语言,那么就要上传PHP的
Suo5.php。又或者目标服务是JAVA语言的Tomcat / Spring,那么就要上传JAVA的suo5.jsp。 - 在Suo5中不存在连接密码,如果要只想让自己连接可以修改脚本里面的
User-Agent,并且客户端也需要修改对应的User-Agent。 - 目前已知一些情况不可用Suo5作为正向代理
- 目标存在两层反代, 比如一层是 CDN,一层是 Nginx,无法使用
泛微OA(resin)、Jira(tomcat)请使用内存马的版本,jsp(x)无法使用Kong无法使用
下载
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END













- 最新
- 最热
只看作者