Reqable S5 代理抓不到安卓手机流量 — 排查报告
日期:2026-08-28环境:PC 10.0.0.220(网关 10.0.0.1)运行 Reqable v3.2.23,监听 8889(SOCKS5/HTTP 多协议自动识别);手机连软路由 gen1 WiFi(10.5.1.99),gen1 代理指向 10.0.0.220:8889;同配置 Charles 能抓。
一、已验证的事实
| 验证项 |
结果 |
| Reqable 8889 端口监听 |
正常(127.0.0.1 与 10.0.0.220 均可连) |
SOCKS5 握手(裸 05 01 00) |
回 05 00,正常 |
HTTP CONNECT(CONNECT host:443) |
回 HTTP/1.1 200 Connection established,正常 |
| HTTP 绝对 URI / 相对 URI 请求 |
均 200,正常 |
本机走代理出站 curl --socks5-hostname 127.0.0.1:8889 |
200,MITM/TLS 隧道正常 |
| 裸 TLS ClientHello 打 8889 |
0 字节响应,连接无限挂起(超时无回复) |
| 8889 上的 ESTABLISHED 连接 |
约 270 条,全部来自 10.0.0.254(手机流量经软路由 NAT 后的源地址),远程端口不断变化 |
| Reqable 抓包列表 |
只有软路由自身访问 10.0.0.1 的 HTTP(5198B)和本机探针,没有任何手机请求记录 |
二、根因(高置信度)
软路由 gen1 的“代理”是透明式 TCP 重定向(DNAT/防火墙 redirect),不是给手机下发标准 SOCKS5 代理:
- 手机发 HTTPS 时,流量被软路由劫持、原样转发到
10.0.0.220:8889,第一个字节是 TLS ClientHello(16 03 01 …),不是 SOCKS5 握手(05 …)也不是 CONNECT 请求。
- Reqable 的 8889 监听器只做“协议协商”式识别(SOCKS5/HTTP),没有透明代理/SNI 嗅探能力:收不到
05 或 CONNECT,就永远等下一个字节 → 连接挂起。
- 这就是为什么端口上积压了约 270 条来自 10.0.0.254 的挂起连接,而 Reqable 界面里一条请求都看不到。
- Charles 能抓,是因为它的监听器对透明重定向/SNI 兼容(可从 ClientHello 的 SNI 提取目标域名再回源或重协商 MITM),或者历史上该软路由就是按 Charles 的工作方式配置的。
补充:10.0.0.1 同时是本机 cfw-tap 网卡的 Tentative IP(该网卡 Disconnected),且本机有多条默认路由竞争(Mihomo 198.18.0.2、以太网4 192.168.31.1 等),属于干扰项,但不是本次抓不到包的直接原因。
三、结论一句话
Reqable、端口、防火墙、S5/HTTP 握手、MITM 全部正常;手机流量也确实到达了 8889,但软路由发来的是裸 TLS 数据(透明重定向)而非 SOCKS5/HTTP 代理握手,Reqable 没有透明/SNI 模式所以全部挂起 → 界面抓不到;Charles 有兼容能力所以能抓。
四、GitHub 官方 issue 佐证(2026-08-28 检索)
#337 [feature] 支持透明代理(Transparent proxy support)— open,enhancement / p3 / suspend
#719 [bug] 在 Socks5 代理下,无法查看使用 IP 地址通信的 HTTPS 报文内容 — closed
#2776 [bug] socks5 可能在特定手机上无法使用 — open
结论(官方口径)
"Reqable 是否支持透明代理" → 不支持。官方 feature #337 挂起(p3/suspend),作者自述内置 TUN 有难度,2026-08 仍未实现。这与本次实测一致:8889 只认标准 S5/HTTP 代理握手,软路由的透明重定向(裸 TLS ClientHello)全部挂起;Charles 带透明/SNI 兼容所以能抓。
Reqable S5 代理抓不到安卓手机流量 — 排查报告
日期:2026-08-28环境:PC 10.0.0.220(网关 10.0.0.1)运行 Reqable v3.2.23,监听 8889(SOCKS5/HTTP 多协议自动识别);手机连软路由 gen1 WiFi(10.5.1.99),gen1 代理指向 10.0.0.220:8889;同配置 Charles 能抓。
一、已验证的事实
05 01 00)05 00,正常CONNECT host:443)HTTP/1.1 200 Connection established,正常curl --socks5-hostname 127.0.0.1:8889二、根因(高置信度)
软路由 gen1 的“代理”是透明式 TCP 重定向(DNAT/防火墙 redirect),不是给手机下发标准 SOCKS5 代理:
10.0.0.220:8889,第一个字节是 TLS ClientHello(16 03 01 …),不是 SOCKS5 握手(05 …)也不是CONNECT请求。05或CONNECT,就永远等下一个字节 → 连接挂起。补充:10.0.0.1 同时是本机 cfw-tap 网卡的 Tentative IP(该网卡 Disconnected),且本机有多条默认路由竞争(Mihomo 198.18.0.2、以太网4 192.168.31.1 等),属于干扰项,但不是本次抓不到包的直接原因。
三、结论一句话
Reqable、端口、防火墙、S5/HTTP 握手、MITM 全部正常;手机流量也确实到达了 8889,但软路由发来的是裸 TLS 数据(透明重定向)而非 SOCKS5/HTTP 代理握手,Reqable 没有透明/SNI 模式所以全部挂起 → 界面抓不到;Charles 有兼容能力所以能抓。
四、GitHub 官方 issue 佐证(2026-08-28 检索)
#337 [feature] 支持透明代理(Transparent proxy support)— open,enhancement / p3 / suspend
mitmproxy --mode local(WinDivert)可以一行命令全局抓包,Reqable / Fiddler / Charles 当时都没有这个效果。#719 [bug] 在 Socks5 代理下,无法查看使用 IP 地址通信的 HTTPS 报文内容 — closed
#2776 [bug] socks5 可能在特定手机上无法使用 — open
结论(官方口径)
"Reqable 是否支持透明代理" → 不支持。官方 feature #337 挂起(p3/suspend),作者自述内置 TUN 有难度,2026-08 仍未实现。这与本次实测一致:8889 只认标准 S5/HTTP 代理握手,软路由的透明重定向(裸 TLS ClientHello)全部挂起;Charles 带透明/SNI 兼容所以能抓。