grs 反向 SOCKS5 代理工具使用指南 | 基于 REALITY 协议的内网穿透
工具介绍:grs 反向 SOCKS5 代理
背景
grs 是一个基于 REALITY 协议的反向 SOCKS5 代理工具,主要用于内网穿透。与 frp、nps 等工具相比,grs 具有以下优势:
- 隐藏网络特征:防止服务端被主动探测,提升安全性。
- 简化配置:客户端和用户端内嵌配置,无需命令行或额外配置文件,使用更便捷。
工具组成
grs 包含三个主要程序:
- grss(服务端):运行在具有公网 IP 的服务器上,负责接收和处理客户端请求。
- grsc(客户端):运行在内网机器上,用于穿透内网。
- grsu(用户端):运行在用户机器上,提供 SOCKS5 代理服务。
使用步骤
1. 生成配置
首次使用时,需要生成服务端、客户端和用户端的配置。使用以下命令:
1 | grss gen www.qq.com:443 127.0.0.1:443 |
www.qq.com:443
:模拟的目标地址。127.0.0.1:443
:服务端监听地址,需填写公网 IP,端口建议与模拟目标一致。
默认会生成 3 个不同 ID 的客户端配置文件,可通过 -c
参数指定生成数量。
2. 启动服务端
生成配置后,启动服务端:
1 | grss serv |
服务端会加载默认的 config.json
配置文件。
3. 启动客户端
启动客户端时,指定对应的 ID:
1 | grsc X |
X
表示客户端的 ID,对应生成的配置文件。
4. 启动用户端
启动用户端时,指定与客户端对应的 ID:
1 | grsu -id 0 |
-id 0
:表示连接 ID 为 0 的客户端。- 默认监听地址为
127.0.0.1:61080
,可通过-l
参数修改。
参数说明
生成配置:
-f
:指定客户端指纹(如 Chrome、Firefox 等,默认 Chrome)。-e
:设置过期时间(默认 30 秒)。-o
:指定服务端配置文件输出路径(默认config.json
)。-c
:指定生成的客户端数量(默认 3 个)。--dir
:指定客户端配置文件输出目录(默认当前目录)。
用户端:
-i
:指定客户端 ID。-l
:指定 SOCKS5 监听地址(默认127.0.0.1:61080
)。
总结
grs 通过 REALITY 协议实现反向 SOCKS5 代理,简化了内网穿透的配置过程,同时增强了安全性。只需生成配置并分别启动服务端、客户端和用户端,即可快速搭建代理服务。
REALITY 协议 是一种基于 TLS(Transport Layer Security)的加密通信协议,旨在隐藏代理流量的特征,使其看起来像正常的 HTTPS 流量,从而避免被主动探测或封锁。它是 Shadowsocks 和 V2Ray 等工具的升级版本,专注于提高隐蔽性和抗审查能力。
以下是 REALITY 协议的核心特点和原理:
1. 核心特点
- 流量伪装:REALITY 协议将代理流量伪装成正常的 HTTPS 流量,使其难以被识别为代理流量。
- 无证书验证:与传统 TLS 不同,REALITY 不需要客户端验证服务端证书,而是直接使用目标网站的证书进行通信。
- 抗主动探测:通过模拟真实网站的流量特征,REALITY 可以有效防止服务端被主动探测。
- 高性能:由于减少了证书验证等步骤,REALITY 的性能开销较低,适合高并发场景。
2. 工作原理
REALITY 协议的核心思想是利用目标网站的 TLS 证书进行通信,具体步骤如下:
- 客户端发起连接:
- 客户端向服务端发起 TLS 连接请求。
- 服务端不提供自己的证书,而是直接使用目标网站(如
www.qq.com
)的证书进行通信。
- 流量伪装:
- 客户端和服务端之间的流量被伪装成与目标网站的 HTTPS 流量,看起来像是正常的网页访问。
- 数据转发:
- 服务端将客户端请求转发到目标网站,并将响应返回给客户端。
- 由于流量特征与目标网站一致,中间设备难以区分这是代理流量还是正常流量。
3. 与 TLS 的区别
- 传统 TLS:
- 服务端需要提供自己的证书,客户端验证证书合法性。
- 流量特征可能被识别为代理流量。
- REALITY:
- 服务端直接使用目标网站的证书,客户端不验证证书。
- 流量特征与目标网站一致,隐蔽性更强。
4. 适用场景
- 内网穿透:如 grs 工具中,REALITY 协议用于隐藏代理流量,避免服务端被探测。
- 科学上网:用于绕过网络审查,访问被封锁的网站。
- 隐私保护:隐藏用户的真实流量特征,防止被监控或分析。
5. REALITY 协议的优点
- 隐蔽性强:流量特征与目标网站一致,难以被识别。
- 配置简单:无需复杂的证书管理。
- 抗审查:有效防止主动探测和封锁。
6. REALITY 协议的局限性
- 依赖目标网站:需要选择一个高可信度的目标网站(如
www.qq.com
)进行伪装。 - 目标网站变化:如果目标网站的证书或流量特征发生变化,可能需要调整配置。
总结
REALITY 协议是一种创新的流量伪装技术,通过模拟目标网站的 HTTPS 流量,实现高隐蔽性和抗审查能力。它在内网穿透、隐私保护和科学上网等场景中具有广泛的应用前景。