Android HTTPS MITM抓包教程(需Root)
前提条件</: 拥有一台root过的Android设备,必须安装Magisk和LSPosed,目标是捕获应用或游戏的加密数据,通过中间人攻击(MITM)实现。非root设备可以尝试模拟器或WSA,但须注意部分游戏可能有模拟器检测,风险存在。切勿修改应用或游戏APK,签名不一致可能导致封号。
授人以渔</: 本文不指定特定应用,注重方法介绍。以原生Android系统为例,其他UI可根据需要自行探索。
抓包原理揭秘
HTTPS通信以加密进行,通过非对称加密的握手与对称加密的后续通信,常规抓包工具如Wireshark或tcpdump无法直接查看内容。因此,需要借助代理服务器和专门的解密工具。
MITM抓包的关键在于,抓包软件会生成自签名证书,与客户端通信时使用此证书,同时与服务器使用原始证书,从而实现数据包的解密。然而,客户端会验证证书来源,自签名证书不被信任,所以需要提供一个信任的根证书,使应用接受。
隐藏Root策略
某些应用会检测设备Root状态,若无隐藏需求可略过。不推荐使用Shamiko,它会影响抓包。Magisk Delta的隐藏Root功能更为合适,选择需要隐藏的应用在Magisk Hide中设定。
部分应用会通过包名检测Root,可安装隐藏应用列表应用来避免这一问题。
选择抓包软件推荐
免费且推荐的HTTPS抓包工具包括:
- mitmproxy</: 开源免费,支持macOS、Windows和Linux。具体安装步骤如下:
- Windows: 下载安装器安装
- macOS: 使用Homebrew命令 brew install mitmproxy 完成安装
- Linux: 下载压缩包,解压后加入PATH(自行处理软链接)
- 启动:Windows启动mitmweb,macOS/Linux通过命令行启动
- 其他选项如Fiddler Classic、Packet Capture和HttpCanary可能有兼容性问题,请根据需求选择。
设置系统代理与添加凭据
为了让Android通信经过代理,需要在设备上设置系统代理,通过设备内置或热点功能。确保设备和电脑在同一个局域网,获取电脑内网IP(Windows: 设置-网络和Internet-状态-IPv4地址</ 或 ifconfig | grep "inet "),然后在Android设备的设置中配置代理,输入电脑IP和代理端口。
为了使大多数应用信任根证书,需要下载Android证书,安装到系统凭据,并启用TrustUserCerts模块,重启设备以强制应用接受。
对于某些不信任系统凭据的应用,LSPosed模块能提供额外帮助,选择相应模块并激活,指定目标应用或游戏。
抓包实战
启动需要抓包的应用或游戏,通常在mitmweb中就能看到解密的数据包,数据清晰可见。
扩展阅读:韩国macbookpro ... android app store china ... www.sony.com.cn ... mega888 android ... android下载安装app安装 ... 直接下载app安装 ... javascript download ... apk+apps+download ... apple日本网站 ...