Android MUMU 模拟器抓包
Prerequisite :
- 开启虚拟化技术(VT)支持的主机,模拟器需要使用虚拟化功能,云主机不支持
环境信息
- MUMU Android 12
- Httpcanary v3.3.5
注意事项
如果使用模拟器的主要目的是对 APP 进行抓包,建议不要使用最新的 MUMU 模拟器,最新的模拟器使用较高的 Android 版本,安全等级较高(如使用各种抓包或者代理软件,需要在客户端安装 SSL 证书,较高版本的 Android 不允许安装证书到系统中), 如果只是需要抓包,可以使用以下版本 :
如果需要自主选择 Android 版本,可以使用 Genymotion 模拟器替代 MUMU 使用。 大多功能需要收费,不付费基本无法使用
Genymotion 是一款强大的 Android 模拟器(基于 VirtualBox 虚拟机),广泛用于开发、测试和自动化场景。相比普通消费级模拟器(如 MuMu、雷电、夜神),Genymotion 更专业、开放,支持更多系统控制与定制。
- Android 多版本 : 支持从 Android 4.1 到 Android 13 的系统版本,几乎覆盖全部测试需求
- 高度可控 : 系统可写、支持 root、支持安装系统证书(适合抓包和安全测试)
- 开发友好 : 集成 ADB、支持拖放 APK、集成 GApps、支持 OpenGL 加速
- 模拟多设备 : 可以模拟不同手机型号、分辨率、GPS、电池、网络等
雷电模拟器 是更好的替换方案。其各个版本都可下载
MUMU 默认开启了和本地主机的共享目录:
- MUMU 中共享路径为
$MuMu12Shared
,完整的 Shell 路径为/mnt/sdcard/$MuMu12Shared
- 本地(Windows) 路径为
C:\Users\local-user\Documents\MuMuSharedFolder
MUMU android 模拟器配合 Charles 软件抓包
- 首先在 Windows/MacOS/Linux 系统中安装 Charles Proxy 软件,并开启代理抓包。
- 在 MUMU 模拟器中安装目标 APP
- 在 MUMU 模拟器中为系统配置代理
- 在
Settings --> Network & Internet --> Internet --> WiFi
中选择目标网络 - 选择目标网络右侧的
配置按钮
,点击右上角的修改
。
- Proxy 模式选择
Manual
,并填入 Charles Proxy 的 IP 和 端口
- 在
- 在 MUMU 模拟器中打开 APP ,在 Charles 中检查是否捕获到了对应的流量
Charles 需要开启 SSL Proxying
才能解密 HTTPS 流量。
在 Charles 中,确保已经启用 SSL Proxying
:
进入
Proxy > SSL Proxying Settings
确保勾选了
Enable SSL Proxying
。然后在
Add
按钮中,确保已经添加了所有请求的域名和端口(可以选择*
来捕获所有域名和端口)。确保端口是 443(HTTPS 默认端口)。
查看 Charles 证书并在客户端安装 Charles 证书
在 Charles 的菜单 Help --> SSL Proxying --> Install Charles Certificates on a mobile device
会展示如何获取到 Charles 证书,通常是在已经设置了代理的终端通过链接 http://charlesproxy.com/getssl
下载证书。下载后在 MUMU 模拟器的 Settings --> Network & Internet --> Internet --> Network preferences --> install certificates
中安装已经下载的证书
MUMU 模拟器中常用操作
在 MuMu 模拟器中打开终端(Shell)
在 MuMu 模拟器中打开终端(Shell)有多种方法。下面是最推荐的方式:
在 MuMu 模拟器中安装终端 App
在模拟器中打开浏览器或 Play 商店,安装如下 App(任选其一):
Termux(推荐)
Android Terminal Emulator(旧版)
JuiceSSH(适合远程)
打开 Termux,直接输入命令操作
MUMU 启用 Root 权限
打开 MuMu → 右上角「设置齿轮」;
找到 “Root 权限” → 设为「开启」;
重启模拟器使之生效。