首页 > 移动开发 > IOS > SOCKS5 抓包解密,绕过代理抓包解密
前两周排查一个游戏 App 的接口问题,App 内置代理走的是 SOCKS5,Charles 那边一条流量都看不到——HTTP 代理抓包工具对 SOCKS5 场景直接失效。折腾一圈之后把 SOCKS5 抓包解密的路径理清了:先搞清楚流量进了哪条隧道,再从网卡层把明文拿回来。这篇按最近发生的几个变化展开,逐条说解法。
你会遇到这个问题的场景:
先讲原理:SOCKS5 是传输层代理,它只负责把 TCP/UDP 数据流原样转发,不解析应用层内容。HTTP 代理抓包工具靠中间人拦截 HTTP 层流量,客户端把代理配成 SOCKS5 时,流量进了隧道,中间人根本看不见——这就是"抓不到包"的根源。而隧道里的 HTTPS 又是 TLS 加密的,网卡层能抓到包,看到的也是一堆密文。
对比一下 HTTP 代理就清楚了:HTTP 代理抓包时,客户端走 CONNECT 建立隧道后,工具在隧道口做中间人、替换证书、解密流量——这套机制依赖客户端走 HTTP 代理协议。SOCKS5 只认 TCP/UDP 字节流,从设计上就不给中间人留位置,换证书、配密钥这类手法在这里都没有用武之地。
游戏、加速器、带内置代理的 App 越来越多地把流量送进 SOCKS5 隧道,HTTP 代理设置对它们无效。识别方法:客户端里代理选项写的不是 HTTP 而是 SOCKS5(或 socks5:// 开头的地址),或者流量走向一个未知端口(如 1080)。另一种识别:看 App 的设置页或配置文件,代理字段带 socks5:// 前缀;命令行场景里 curl -x socks5://127.0.0.1:1080 也会让流量进隧道。验证方法:抓包工具里完全看不到该 App 的流量,而系统代理设置里确实是 SOCKS5,基本可以确认流量进了隧道。
Charles、Fiddler 这类工具的代理抓包模式,抓的是走 HTTP 代理的流量。流量改走 SOCKS5 后,它们收不到任何请求——不是配置问题,是接入方式不匹配。HTTP 代理工具在纯 HTTP 代理场景依然好用,这个事实不变;只是 SOCKS5 场景要换接入方式。判断依据简单:抓包工具里一个请求都没有,但 App 功能正常——说明流量根本没经过它。这时候先确认代理类型,再决定是改客户端配置还是换抓法。
用 Wireshark 网卡抓包能看到数据流,但 SOCKS5 隧道内是 TLS 加密的 HTTPS,没有密钥就是一堆密文。传统解法是配 SSLKEYLOGFILE 导出会话密钥——原理是让 TLS 库把会话密钥写进日志文件,抓包工具读日志解密,前提是 TLS 栈由你控制。客户端是 App 或游戏时,它的 TLS 栈不归你管,日志文件自然拿不到,这条路的先决条件就不成立。
换个思路:不管代理类型,直接在网卡层抓全部流量,再自动解密。TraceEagle 的网卡抓包不看代理配置——SOCKS5、HTTP 代理、直连,流量都从网卡过,一律照抓,不用改系统设置、不用装证书。抓到之后分两步变明文:常见程序(浏览器、Electron 应用)自动解密,抓到即明文;不能自动解的程序,点"解密此程序"手动解,支持多个程序同时解,勾"重启程序"连启动初期的流量也一并解出。顽固目标(内置 SOCKS5 的 App 又做了证书绑定),用应用层抓包直接从内部取明文。解密失败时还有两个加强开关:勾"重启程序"从头启动目标,把启动初期的加密流量也解出来——不少 App 的鉴权流量只在启动那几秒出现;勾"一键处理子进程",把由子进程收发的流量一并纳入,避免漏解。验证方法:开抓后让 App 产生一次请求,列表里出现对应记录、内容可读,链路就通了。
用 curl 模拟一下隧道场景:
1# 流量走 SOCKS5 隧道发请求2curl --socks5 127.0.0.1:1080 https://api.example.com/v1/user
SOCKS5 抓包解密的关键不在"代理类型",在"接入层级":隧道是传输层的,解法就得在网卡层——绕过隧道,直接拿明文。

顺带一提:TraceEagle 网卡抓包的视角是全量流量,不止 SOCKS5——DNS、QUIC、任意 TCP/UDP 都在里面,抓的时候可以先用预设过滤(TLS、HTTP、QUIC、DNS)收窄范围;需要 Wireshark 深度分析时,还能一键把流量转过去、打开就是明文。SOCKS5 只是网卡抓包能覆盖的众多场景之一。
跑通一次之后,这套思路可以复用:遇到任何"抓不到包"的场景,先问流量走的是哪一层——HTTP 代理的归代理工具,隧道的归网卡层,顽固目标的归应用层。分层想清楚,工具就不会选错。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70047439/viewspace-3181105/ ,如需转载,请注明出处,否则将追究法律责任。