SOCKS5 解决什么问题

客户端先连接 SOCKS5 服务器,再由服务器连接目标地址。RFC 1928 定义了 CONNECT、BIND 与 UDP ASSOCIATE 等请求,并支持 IPv4、域名和 IPv6 地址类型。

这种方式适合原生支持 SOCKS 的程序,也可以配合规则型客户端,让指定应用按需使用代理。

它不自动提供哪些能力

SOCKS5 负责转发,不天然提供端到端内容加密。访问 HTTPS 网站时,内容保护仍由 HTTPS 完成;访问明文协议时,不能因为使用了 SOCKS5 就假设内容已经加密。

出口地址、可访问范围、连接保持和认证能力取决于实际服务端,不能只看协议名称判断质量。

DNS 解析要提前确认

客户端可以先在本地解析域名,再把 IP 地址交给代理;也可以把域名交给代理端解析。两种方式会影响故障定位和解析结果。curl 将 socks5://socks5h:// 区分开,后者表示由代理端解析主机名。

选择前的检查清单

确认程序支持的代理类型、认证方式、目标协议和 DNS 行为,再进行连接检查。不要把代理账户写入公开脚本、截图或日志。

  • 协议与应用是否兼容
  • 是否需要用户名和密码
  • 域名由本地还是代理端解析
  • 失败时能否查看明确错误日志

主要参考资料

最后复核:2026-09-02