SOCKS5
官方 RFC
SOCKS 第 5 版协议主要由 RFC 1928 规定。
关键 RFC:
- RFC 1928 — SOCKS Protocol Version 5(核心协议、寻址、UDP ASSOCIATE、认证协商)
- RFC 1929 — Username/Password Authentication for SOCKS V5(可选的用户名/密码认证方法)
- RFC 1961 — GSS-API Authentication Method for SOCKS V5(可选认证)
- RFC 3089 — SOCKS-based IPv6/IPv4 Gateway(IPv6 场景下的互操作性)
亮点
- 四层代理,可转发任意 TCP 流,并通过 ASSOCIATE 命令支持 UDP。
- 方法协商允许服务器声明
NO AUTH、USERPASS或自定义认证。 - 被浏览器、curl、SSH 和 VPN 客户端广泛支持。
流程
- 客户端向代理打开一个 TCP 套接字。
- 客户端发送支持的认证方法列表;服务器返回选定的方法。
- 可选的用户名/密码交换。
- 客户端携带目标信息发送
CONNECT、BIND或UDP ASSOCIATE。 - 服务器返回成功/失败码并开始转发流量。
配置片段
优势
- 无需额外插件即可配合传统工具使用。
- UDP ASSOCIATE 使 DNS-over-UDP 成为可能。
- 最小的封装开销保持低延迟。
限制
- 没有内置加密;必须依赖 TLS-over-SOCKS 或上游混淆。
- UDP ASSOCIATE 要求客户端持续监听本地端口,部分防火墙会阻断。
- 认证通常是静态的,除非再加一层管理机制。
参考资料
- https://www.rfc-editor.org/rfc/rfc1928
- https://www.rfc-editor.org/rfc/rfc1929
- https://www.rfc-editor.org/rfc/rfc1961
- https://www.rfc-editor.org/rfc/rfc3089
附录
RFC 1928(全文)
#### RFC 1929 (Full Text)
```text
#### RFC 1961 (Full Text)
```text
#### RFC 3089 (Full Text)
```text