使用mumu模拟器抓包 andriod app

本文讲述了在安卓手机上抓包遇到的问题,以及如何使用mumu模拟器配合Charles进行抓包。在抓包过程中,遇到了SSL握手失败、下载APK的困扰和新版APP闪退等问题,最终成功抓包并定位到导致应用崩溃的原因——一个日志上传接口。通过不断尝试和解决这些问题,实现了对安卓应用的顺利抓包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目

公司H5嵌入到农行手机app里面。某天有人反馈进入国内机票订单详情时,应用崩溃了,如下图:

经过测试,此问题仅在安卓手机中出现,且其他页面都正常。于是我怀疑可能是这个页面代码有问题,想着能否抓包看看大概发生了啥。

手机抓包

我借同事的安卓手机进行抓包,不幸的是农行app禁止我们抓包:

经过一番折腾:

  1. 升级农行 APP 版本 (X)
  2. 安装 PC 版本腾讯应用宝 (X)
  3. 更换不同的手机 (X)

决定试试 mumu 模拟器,毕竟我手上仅有一个iphone。

mumu 模拟器抓包

mumu 模拟器和 charles 安装和使用这里不再赘述,网上有很多资料。这里记录下抓包过程发现的一些问题。

问题1:SSL handshake with client failed

当完成模拟器和 charles 的安装后,对内嵌的H5抓包时,charles 的请求会会出现报错:SSL handshake with client failed: An unknown issue occurred processing the certificate (certificate_unknown),以及You may need to configure your br

<think>好的,我现在需要帮助用户解决在Mumu模拟器上进行网络抓包的问题。首先,我得回顾一下用户提供的引用内容,看看里面有哪些关键步骤。用户提到了三个引用,都是关于配置Mumu模拟器抓包,特别是使用Burp Suite来处理HTTP和HTTPS流量。 首先,用户的问题是如何在Mumu模拟器上实现抓包或者使用工具拦截分析流量。根据引用[1]和[2],步骤大致包括安装APK、设置代理、安装证书。引用[3]提到了转换证书格式的方法,可能涉及到处理HTTPS所需的证书安装。 接下来,我需要把这些步骤整理成一个清晰的流程。可能需要注意以下几点: 1. **设置代理**:模拟器的网络需要配置成指向主机的IP和Burp监听的端口。用户需要确认主机的IP地址是否正确,以及Burp的代理监听器是否配置正确。 2. **安装证书**:HTTPS抓包需要安装Burp的CA证书。引用中提到需要将证书从DER格式转换为CER,或者在Android系统中正确安装。这里可能需要详细说明如何下载证书、修改文件后缀以及安装到系统证书区域。 3. **可能遇到的问题**:比如模拟器无法连接到代理,证书安装后仍无法抓取HTTPS流量,或者某些应用使用了证书固定(Certificate Pinning)导致无法解密。这时候可能需要额外的步骤,比如使用Xposed模块或修改APK来绕过证书检查。 另外,用户提到的引用[3]中使用openssl转换证书的方法,可能需要进一步解释。用户是否需要将Burp导出的der证书转换为pem格式,并获取哈希值来正确命名系统证书?这部分可能需要详细说明,特别是Android系统对证书存储的要求。 还要考虑不同版本的Mumu模拟器Android系统可能存在的差异。例如,Android 7及以上版本不再信任用户安装的证书,必须将证书安装到系统分区,这可能需要root权限。用户是否需要使用已root的模拟器,或者有其他方法? 可能还需要推荐其他工具,比如Charles Proxy,或者使用Wireshark进行更底层的抓包,虽然无法解密HTTPS,但可以配合其他工具使用。 最后,生成相关问题时要覆盖常见问题,比如解决证书问题、其他工具的使用、无法抓包的原因等,帮助用户进一步解决问题。</think>### 分步指南:在Mumu模拟器中实现网络抓包 #### 一、基础环境配置 1. **安装Mumu模拟器及被测APP** - 下载并安装最新版Mumu模拟器(官网或第三方渠道) - 通过模拟器内置浏览器或adb命令安装待测APK文件 2. **设置系统代理** - 打开Mumu模拟器的**设置 > WLAN** - 长按当前连接的WiFi网络,选择**修改网络 > 高级选项** - 设置代理类型为**手动**,输入主机IP(可通过主机命令行输入`ipconfig`查看)和Burp监听端口(默认8080) $$ \text{示例:主机IP=192.168.1.100,端口=8080} $$ [^1][^2] #### 二、Burp Suite配置 1. **启用代理监听器** - 打开Burp Suite,进入**Proxy > Options** - 添加新监听器:绑定端口与模拟器代理设置一致,勾选**All interfaces** ```python # 验证代理连通性(Python示例) import requests proxies = {"http": "http://192.168.1.100:8080", "https": "http://192.168.1.100:8080"} requests.get("http://example.com", proxies=provisies) # 观察Burp是否捕获请求 ``` [^2] 2. **HTTPS证书安装(关键步骤)** - 在模拟器浏览器访问`http://burp`,下载`cacert.der`证书 - 将证书后缀改为`.cer`(如`burp.cer`) - 打开**设置 > 安全 > 从SD卡安装证书**,选择文件完成安装 - *注意:Android 7+需系统级证书安装* ```shell # 证书格式转换(引用[3]方法) openssl x509 -inform DER -in burp.der -out burp.pem openssl x509 -subject_hash_old -in burp.pem # 获取哈希值用于重命名 ``` 将生成的`<哈希值>.0`文件放入`/system/etc/security/cacerts/`(需root权限) #### 三、流量拦截验证 | 测试场景 | 预期结果 | 常见问题排查 | |----------------|-----------------------|--------------------------| | HTTP请求 | Burp显示明文数据 | 检查代理设置/IP端口一致性| | HTTPS请求 | 显示解密后的TLS流量 | 确认证书已正确安装 | | 无流量捕获 | 检查防火墙是否拦截 | 尝试关闭Windows Defender| #### 四、高级场景处理 1. **绕过证书锁定(Certificate Pinning)** - 使用Frida脚本注入:`objection --gadget com.app.pkg explore -s "android sslpinning disable"` - 修改APK:通过Apktool反编译,删除`NetworkSecurityConfig`相关配置 2. **自动化抓包方案** - 组合使用`mitmproxy`+`Appium`实现自动化测试流量捕获 - 通过`adb logcat`过滤网络日志:`adb logcat | grep "HttpEngine"`
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值