机场排名 News

理解 SOCKS5 代理,要分清入口、出站和订阅

SOCKS5 是一种代理协议,不能与机场订阅或客户端直接画等号。理解它们的关系,要区分应用接入客户端的本地入口与客户端连接服务器的出站配置,并分清认证、UDP 支持和文档示例端口各自说明什么。

客户端协议
理解 SOCKS5 代理,要分清入口、出站和订阅

SOCKS5 是 RFC 1928 定义的代理协议,不能与机场订阅或客户端直接画等号。本地 SOCKS 入口与客户端连接服务器的出站配置处于不同位置;这是结合 mihomo 文档结构作出的层次说明,并非官方的一句定义。

SOCKS5 怎样协商认证和代理请求?

连接开始时由谁选择认证方法?

根据 RFC 1928,客户端先发送协议版本号及自己支持的认证方法列表,再由服务器选择方法。

认证协商与后续代理请求是两个环节,看到 SOCKS5 这个名称,并不能直接确定连接是否需要用户名和密码。

服务器没有可接受的认证方法时怎么办?

认证方法包括无需认证、GSSAPI 和用户名密码。如果服务器没有可接受的方法,客户端必须断开连接。

规范要求实现 GSSAPI,并建议支持用户名密码;这与连接时由服务器选择认证方法的过程需要分别理解。

后续代理请求包含哪些内容?

后续请求包含命令、地址类型、目标地址和端口等内容,命令包括 CONNECT、BIND 与 UDP ASSOCIATE。

地址类型支持 IPv4、域名和 IPv6。这些规定描述了请求如何表达,并不是某个客户端的配置步骤。

用户名密码认证为什么不能代表连接已经加密?

服务器返回什么才表示认证通过?

RFC 1929 定义了用户名密码认证的子协商:服务器返回成功状态,才表示该认证环节通过;认证失败则需要关闭连接。

RFC 1929 怎样提醒密码传输风险?

RFC 1929 明确提醒,密码以明文传输,不宜用于可能被嗅探的网络。因此,不能把“设置了密码”理解成“连接已经加密”。

mihomo 中的认证字段和 TLS 字段应怎样理解?

结合 RFC 1928 未规定加密及 RFC 1929 对密码传输的说明,可以归纳出:SOCKS5 这个协议名称本身不构成加密保证。

mihomo 文档中的 socks 监听器和 socks5 出站均列有可选 TLS 字段。认证与 TLS 字段需要分别理解,不能凭用户名密码推定 TLS 已启用。

支持 UDP,具体指怎样的转发关系?

UDP 数据报应发往哪个地址?

RFC 1928 通过 UDP ASSOCIATE 定义 UDP 关联。客户端把数据报发送到服务器应答给出的中继地址。

UDP 关联在什么条件下结束或丢弃数据报?

承载关联请求的 TCP 连接关闭后,UDP 关联也随之结束。这说明 UDP 转发有明确的关联条件。

规范还规定,中继会丢弃来自非关联 IP 的数据报,分片支持则是可选能力。

协议支持 UDP 就表示监听器已经开启吗?

协议中存在 UDP 命令,不等于某份客户端配置已经开启 UDP。判断具体配置时,应区分协议支持与监听器设置。

mihomo 的 socks 监听器以 udp 字段控制是否监听 UDP,官方没有说明该字段的默认值。

mihomo 的入站端口字段分别说明什么?

三种入口在文档中怎样区分?

mihomo 入站端口文档区分了三种入口,字段对应的协议支持与文档示例值如下:

字段 文档说明 文档示例值
port HTTP 代理入口 7890
socks-port 支持 SOCKS4/4a/5 7891
mixed-port 同时支持 HTTP(S) 与 SOCKS5 7892

7890、7891、7892 能写成默认端口吗?

7890、7891、7892 只是文档示例,不能写成默认端口;这些数字说明的是文档示例值。

默认端口是否有官方说明?

判断端口时,需要把文档示例值与默认值分开理解;默认端口是什么,官方没有说明。

本地入口与 socks5 出站为什么要分开理解?

监听器和出站配置的 type 有什么区别?

socks 监听器的 type 为 socks,出站配置的 type 则写 socks5,后者包含 server、port 及可选认证等字段。

本地入口和出站分别连接哪两端?

作为综合说明,可以把本地 socks 或 mixed 入口理解为“应用 → 客户端”,把出站配置理解为“客户端 → 服务器”。

这种层次说明能否当作官方定义?

这是依据监听器、入站端口和出站文档结构作出的归纳。两处都涉及 SOCKS,但所处位置不同。

理解机场订阅与客户端的关系时,也应保留这一区分,不能由本地入口的名称推定服务器一侧的协议。

本站资料表记录过机场的 SOCKS5 支持吗?

数据来源:本站中央库品牌资料表,2026-11-10 生成,收录 46 家机场中 44 家有资料表记录。客户端支持一栏 44 家里有 10 家有记录,其余 34 家资料表标为未记录,本站不据此推算。这 10 条记录里,写到 SOCKS5 的有 0 家,所以本站没有数据说明哪些机场提供 SOCKS5 入口。SOCKS5 更多是客户端在本机开放的代理接口,是否可用要看客户端设置,而不是机场套餐。

常见问题:订阅、混合入口和认证应怎样判断?

客户端有 SOCKS5 入口,就表示订阅使用 SOCKS5 吗?

不能据此判断。按上述综合层次说明,本地入口描述应用怎样接入客户端,出站配置描述客户端怎样连接服务器,两者不能直接画等号。

mixed-port 是只供 SOCKS5 使用的吗?

不是。mihomo 入站端口文档说明,mixed-port 同时支持 HTTP(S) 与 SOCKS5;其中列出的端口数字仍只是示例值。

SOCKS5 设置用户名密码后就安全了吗?

不能仅凭认证设置得出这一结论。RFC 1929 明确提醒密码以明文传输,认证成功只说明通过了该认证环节,不能替代对加密条件的判断。

第三方整理,与相关软件及服务的开发者无隶属关系。