在安卓7.0+上用charles抓https

本文详细介绍了在安卓7.0及以上版本如何处理'Received fatal alert: certificate_unknown'问题,以成功使用Charles抓取HTTPS流量。文章讨论了系统安全策略变化,并提供了解决方案,包括修改应用配置、反编译、运行时hook、安装系统证书以及使用Magisk等方法。

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

一说起charles抓https,大家可能要笑我了,这还用得着你教?证书往手机上一装不就行了?

然而事情并没有这么简单,很多时候你会发现,即使你配置正确,在手机上也装好了charles证书,仍然无法抓到https,如下图所示,这是为什么呢?

Charles提示Received fatal alert: certificate_unknown,你还以为是你证书没配正确,折腾半天也找不到正确姿势,其实这都是安卓系统搞的鬼。

话说回来,并不是安卓要搞鬼,而是安卓专门为了防抓包防监听而设置的新的安全策略,详情可以参见这里:https://developer.android.com/training/articles/security-config

简言之,7.0以前,安卓系统默认是选择信任系统证书及用户证书的,我们安装的charles证书就是用户证书,然而到了7.0以后,安卓决定默认不信任用户自己安装的证书了(可能Google觉得用户都是小白,瞎几把装证书,所以一刀切了),所以我们现在即使装了证书系统也不信任,自然也抓不到包了。

有什么办法解决呢?这

以下是在安卓7.0以上版本上使用Charles进行包的步骤[^1]: 1. 在Windows上安装Charles:首先,您需要在Windows上安装Charles。您可以从Charles官方网站下载并安装Charles。 2. 配置CharlesHTTPS包功能:在Charles中,您需要配置HTTPS包功能,以便能够捕获和查看HTTPS请求和响应。以下是配置HTTPS包功能的步骤: - 打开Charles并导航到“Proxy”菜单,然后选择“SSL Proxying Settings”。 - 在“SSL Proxying”选项卡中,单击“Add”按钮。 - 在“Location”字段中,输入要取的域名或URL的模式。例如,如果您想取所有的HTTPS请求和响应,可以输入“*”。 - 单击“OK”保存设置。 3. 安装Charles证书:为了能够捕获和解密HTTPS流量,您需要在安卓设备上安装Charles证书。以下是安装Charles证书的步骤: - 在安卓设备上打开浏览器,并访问http://chls.pro/ssl。 - 下载并安装Charles证书。 - 在安卓设备的设置中,导航到“安全性和隐私”或“安全”选项。 - 选择“凭据存储”或“受信任的凭据”。 - 选择“安装从存储设备安装的凭据”。 - 选择下载的Charles证书文件并安装。 4. 配置安卓设备的代理:为了将安卓设备的流量导向Charles,您需要配置设备的代理设置。以下是配置代理设置的步骤: - 在安卓设备的设置中,导航到“Wi-Fi”或“网络和互联网”选项。 - 长按您当前连接的Wi-Fi网络,并选择“修改网络”或“网络设置”。 - 在高级选项中,选择“代理”。 - 选择“手动”代理设置。 - 输入您计算机的IP地址和Charles的代理端口(默认为8888)。 - 保存设置并重新连接Wi-Fi网络。 5. 使用Charles进行包:现在,您已经完成了所有必要的设置,可以开始使用Charles进行包了。以下是使用Charles进行包的步骤: - 在Windows上打开Charles,并确保代理服务器正在运行。 - 在安卓设备上打开您想要包的应用程序。 - 在Charles中,您应该能够看到安卓设备的流量,并可以查看请求和响应的详细信息。 请注意,使用Charles进行包可能涉及到违反隐私和安全规定的行为。请确保您在合法和合适的情况下使用Charles进行包。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值