Android 设备与模拟器
使用桌面版 Proxyman 抓包 Android 真机和模拟器的 HTTP/HTTPS 流量,涵盖代理设置、证书、自动脚本以及 Google Play 系统镜像。
本指南介绍如何将 Android 设备或模拟器的流量发送到电脑上的 Proxyman。内容涵盖代理配置、证书安装,以及让应用信任证书以便检查 HTTPS 流量。
根据你的设备选择对应的设置方式:
- Android 真机: 按下方的手动设置步骤操作。设备必须能通过网络访问运行 Proxyman 的电脑。
- Android 模拟器: 从自动设置脚本开始。
- Google Play 模拟器镜像: 参阅 Google Play 与 Magisk 指南。标准的自动设置并不适用于所有镜像。
如果不想借助电脑,直接在手机上抓包,可以使用独立的 Proxyman Android 应用。
在电脑端抓包时,请在 Proxyman 中打开对应的指南:
- Certificate Menu -> Install Certificate on Android -> Physical Devices…
- Certificate Menu -> Install Certificate on Android -> Emulators…
如果使用 Android 模拟器,请查看 Android 模拟器自动脚本
视频
1. Android 设置指南
手动设置时,先配置设备代理,再安装证书,并在你的开发应用中配置证书信任。仅安装证书并不能让所有 Android 应用都信任它。请按以下所有步骤操作:

Android 设备设置指南
在 Certificate 菜单中依次选择 Install Certificate on Android -> Physical Devices…,打开指南,然后按照以下步骤操作:
- 在 Mac 上安装 Root Proxyman Certificate:可参阅 macOS 指南。
- 在 Android 设备或模拟器上打开 Settings 应用 -> Wi-Fi -> 选择当前的 Wi-Fi 网络 -> 按照下表的值配置 HTTP 代理。
| 名称 | 值 |
|---|---|
| 服务器 IP | 你的 Mac 当前的 IP 地址 |
| 端口 | Proxyman 当前的端口,默认为 9090 |
| 身份验证 | 否 |
部分三星设备在设置 HTTP 代理后可能无法访问互联网。请忘记当前网络,然后重新连接。
如果你正在使用任何 VPN 应用,请确保将其关闭,因为部分 VPN 应用与 HTTP/HTTPS 代理配置存在冲突。
3. 在 Android 设备的浏览器中打开 http://proxy.man/ssl 或 http://cert.proxyman.io ,安装 Proxyman 证书。
Android 11、Android 12 或更高版本:
- 在 Google Chrome 应用中访问 http://proxy.man/ssl 下载证书。
- 从 Android 11 开始,必须在 Settings 应用中手动安装证书。
- Settings 应用 -> Security -> Encryption & Credentials -> Install a Certificate -> 选择 "CA Certificate" -> 在存储中选择 Proxyman CA 证书。
Android 10 及更低版本:
- 访问 http://proxy.man/ssl 后,Android 设备会自动下载并安装证书。请确保选择 VPN and App Section。
在 Android 12 及更高版本上,如果看到警告 "Can't install the Certificate: This file can't be used as a VPN & app user certificate",请改选 "CA Certificate"。
http://proxy.man/ssl 是一个本地网站,由 Proxyman 内置的 HTTP 服务器提供。如果无法打开该网址,请忘记 Wi-Fi 网络并重新连接,同时确保 Proxyman 应用处于打开状态。
4. 在 Android 11 或更高版本上验证证书:打开 Settings -> Security -> Encryption & Credentials -> Trusted Credentials -> User 标签页。
确保能看到 Proxyman CA 证书,如下图所示。
5. 打开应用源代码,添加以下两个 xml 文件。
- 添加 res/xml/network_security_config.xml
<network-security-config>
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
<certificates src="system" />
</trust-anchors>
</debug-overrides>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
- 添加到 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config" ... >
...
</application>
</manifest>
更多信息请参阅 Network Security Configuration
请确保在 Release 构建中移除这些配置。否则,HTTP/HTTPS 请求可能被拦截,敏感数据也会在生产版本中泄露。
6. 如果使用 Android 模拟器,请重启模拟器。
7. 完成 ✅
2. 故障排查
3. 示例 Android 项目
如果 XML 配置遇到问题,可以参考我们已经配置好的这个简单项目:
GitHub 链接:https://github.com/ProxymanApp/OKHTTP-Android-Sample
4. React Native Android 应用
如果你的 Android 应用使用 React Native 开发,请查看 React Native 页面。
5. 拦截内嵌 WebView 的流量
部分 Android 应用内嵌了 WebView,需要额外的步骤才能拦截其 HTTPS 流量。
- 确保能看到 Android 应用中的其他 HTTPS 流量,这说明证书已正确设置。
- 在 WebView 中注入以下代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
// The following two lines help with disabling asset caching
webView.getSettings().setAppCacheEnabled(false);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
3. 在电脑上打开一个新的 Chrome 标签页,访问 chrome://inspect
4. 打开 WebView 后,它会出现在 Chrome 标签页中。点击 inspect 即可开始使用远程调试器。
6. 使用 Root 设备开启 SSL Proxying
致谢 Shirshak
如果你的 Android 版本低于 7,则无需此步骤。从 Android 7 开始,Google 增加了额外的安全机制,默认阻止中间人工具读取应用流量。
因 Root 手机而导致的任何问题,我们概不负责。请自行承担风险并按照本指南操作。
较新版本的 Proxyman 将证书存储在 ~/Library/Application Support/com.proxyman.NSProxy/app-data/proxyman-ca.pem。如果你的 Mac 上不存在 ~/.proxyman 文件夹,请改用该路径,或依次选择 Certificate 菜单 -> Export -> Root Certificate as PEM 导出证书。
-
使用
magisk框架 Root 你的手机。 -
安装 Root 文件管理器,以便在受限的系统目录中复制和粘贴文件。
-
在命令行中输入以下脚本
$ cd ~/.proxyman// We copy certificate to another file name just so we may need it later$ cp proxyman-ca.pem temp.pem$ hash=$(openssl x509 -inform PEM -subject_hash_old -in temp.pem | head -1)$ mv temp.pem "$hash.0" -
在
~/.proxyman文件夹中,你会看到一个以数字开头、以.0结尾的文件。 -
将该文件复制到你的 Android 设备。
-
使用 Root 文件管理器,将该文件移动到 /system/etc/security/cacerts/
-
大功告成,开始抓包吧。
- 在 Android 手机上,将网关设置为一个错误的 IP,这样可以确保所有流量都只通过 Proxyman 代理。
- 你可以使用 macOS 的互联网共享功能创建个人热点,这样 Android 手机就能轻松使用 Proxyman 代理。这种方式效果更好,因为路由器有时会阻止手机与 Mac 之间的请求。
更多资源
- Mitmproxy 提供了一篇实用教程,介绍如何在 Android 模拟器上安装系统级受信任的 CA 证书。同样的步骤也适用于 Proxyman 证书:https://docs.mitmproxy.org/stable/howto-install-system-trusted-ca-android/