在Mac下使用Charles抓取Android 7.0以上的Https请求

本文记录了抓取 Android 的 Https 请求的配置过程。包括 Charles 设置,如开启 SSL 代理功能;手机安装证书;APP 网络安全配置。还介绍了另一种抓包方式,使用 VirtualXposed 和 JustTrustMe 工具,可对其他 APP 进行抓包。

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

  因为开发需求,需要抓取 Android 的 Https 请求,花了较长时间才配置好,这里记录下。

一、Charles 设置

我使用的时 Charles 4.2.8 破解版,至于怎么破解,在这里就不说了,网上有比较多的教程。

1. 第一步

Help --> SSL Proxying --> Charles Root Certificate Help

在这里插入图片描述

2. 第二步

找到 Charles Proxy的证书,点击信任,选择始终信任
这里要注意的是是在 系统 --> 所有项目 里面去找Charles Proxy的证书

在这里插入图片描述
在这里插入图片描述

3. 第三步

在:Help -->SSL Proxying --> Install Charles Root Certificate on a Mobile Device or Remote Browser

在这里插入图片描述
按照弹出的提示进行安装证书到手机,这里需要主要的是我使用小米和华为自带的浏览器都不能成功下载证书,最后使用百度APP下载成功了。下载的文件名称为:downloadfile.crt。

3. 第四步开启SSL代理功能

在Menu选择Proxy->SSL Proxying Setting,选中Enable SSL Proxying,在Locations里面添加要使用SSL代理的网站,端口号输入443,如果需要匹配所有的HTTPS网站则输入 * 号即可。现在即可拦截Https的数据包。

二、手机安装证书

在小米手机手机上,长按 WLAN 在高级设置

在这里插入图片描述

找到刚下载的crt文件安装就可以;在华为P20上点击可以直接安装成功,其他手机类型没有试过。
到这里证书就安装完毕了。

三、APP 网络安全配置

在Android 7.0 上会 Charles 上还会报SSL handshake failed错
所以,我们还需要配置

<application
       android:networkSecurityConfig="@xml/network_security_config"
       //...其他属性省略
     >

    //....
</application>

res/xml/network_security_config.xml 的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!--
       debug-overrides 是只有在debug下环境下有用
       base-config 是在debug和release都起作用
       -->
    <base-config cleartextTrafficPermitted="true" >
        <trust-anchors>
            <certificates src="system" />
            <!--如果这个不设置,使用charles并且手机安装证书后也不能抓到https的网络请求-->
            <certificates src="user" />
        </trust-anchors>
    </base-config>
</network-security-config>

至此,我们就可以快快乐乐的进行 Android 的开发,并进行 Https 的请求抓取数据了。

四、另一种抓包方式

上面的抓包方式主要是对自己 APP 可以进行抓包的方式。如果想抓取其他 APP ,可以使用下面这种方式:

需要两个工具:
https://github.com/android-hacker/VirtualXposed
https://github.com/Fuzion24/JustTrustMe

首先安装第一个VirtualXposed,不需要你ROOT手机的,把心放宽;然后打开VirtualXposed,从VirtualXposed的 “ 添加应用 ” 中找到JustTrustMe的apk安装包并执行安装,JustTrustMe是VirtualXposed的一个模块,所以安装完毕JustTrustMe后,记得在VirtualXposed的模块管理里勾选一下JustTrustMe模块,最后重启一下VirtualXposed让它生效。最后不要忘记了,你想对谁家app进行数据分析,你需要在VirtualXposed里重新安装一边这个app。你就把VirtualXposed粗暴当虚拟机对待就行了。

后记,已经好长时间没有写博客了,4月份的时候已经跳槽到了互联网大厂了,而且项目也一直比较忙。这大半年的时间感觉自己成长了许多,在工作中总是有些比较小的收获,但是都不是成系统的知识点,所以也没有写博客。希望在日积月累中将涓涓细流汇聚成湖泊江河。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值