SOCKS5 解决什么问题
客户端先连接 SOCKS5 服务器,再由服务器连接目标地址。RFC 1928 定义了 CONNECT、BIND 与 UDP ASSOCIATE 等请求,并支持 IPv4、域名和 IPv6 地址类型。
这种方式适合原生支持 SOCKS 的程序,也可以配合规则型客户端,让指定应用按需使用代理。
它不自动提供哪些能力
SOCKS5 负责转发,不天然提供端到端内容加密。访问 HTTPS 网站时,内容保护仍由 HTTPS 完成;访问明文协议时,不能因为使用了 SOCKS5 就假设内容已经加密。
出口地址、可访问范围、连接保持和认证能力取决于实际服务端,不能只看协议名称判断质量。
DNS 解析要提前确认
客户端可以先在本地解析域名,再把 IP 地址交给代理;也可以把域名交给代理端解析。两种方式会影响故障定位和解析结果。curl 将 socks5:// 与 socks5h:// 区分开,后者表示由代理端解析主机名。
选择前的检查清单
确认程序支持的代理类型、认证方式、目标协议和 DNS 行为,再进行连接检查。不要把代理账户写入公开脚本、截图或日志。
- 协议与应用是否兼容
- 是否需要用户名和密码
- 域名由本地还是代理端解析
- 失败时能否查看明确错误日志
主要参考资料
最后复核:2026-09-02