Charles 无法抓包

什么东西都配置好了,代理也全下了,tmd就是不能抓包???

在xml目录下新建一个文件夹 network_security_config

文件内填这些

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates overridePins="true" src="system" />
        </trust-anchors>
    </base-config>
    <debug-overrides>
        <trust-anchors>
            <certificates overridePins="true" src="system" />
            <certificates overridePins="true" src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

最后AndroidManifest.xml里加入这句话

android:networkSecurityConfig="@xml/network_security_config"

原理是Charls安装在手机上的证书,是用户级的CA证书,不是系统级别的,只有当App信任了用户级的CA证书,才能抓包!
这个配置可以让debug包信任用户的CA,relese包只信任系统CA

参考:

https://supercodepower.com/use-charles
https://developer.android.com/training/articles/security-config?hl=zh-cn

posted @ 2022-09-04 23:46  lukelmouse  阅读(82)  评论(0编辑  收藏  举报