Android Charles抓包失败的问题

背景

  1. 新手机 旧电脑,使用Charles 4.6.3版本抓包时提醒Unknown;
  2. 首先排除了没有安装RootCer 和 开启SSL Proxying的问题;
  3. 确认iOS手机连接此IP:8888可以正常抓包;
提示获取不到CA证书.png

解决思路

0. 配置PC/MacOS Root Cer

和普通博文介绍,配置Charles无异,此处略过。

1. 发现手机需要在本地安装CA证书后点击信任

换句话说直接让手机浏览器通过访问chls.pro/ssl下载证书自动安装不太可行,需要pc或者换个浏览器下载下来之后通过微信或者蓝牙的方式传给手机端。


远程调试证书.png

然后在系统设置里(以三星为例,在“设置-生物识别和安全性-其他安全设置-从设备存储空间安装”)找到“从设备存储空间安装”,选择CA证书;然后找到上述文件安装之后才可以使证书生效。

2.Android 7.0用户自己安装的证书是不被app应用信任的

出于安全性考虑,防止charles这种做接口逆向,监听数据;所以我们只能通过修改android 项目中的 network-security-config来允许Charles抓取自家app的接口数据。
具体来说,第一步先在res/xml下新建一个网络管理配置文件允许在debug环境下信任user目录下的证书;

image.png



    
        
            
        
    

    
        
            
            
        
    
    

第二步,在清单文件AndroidManifest.xml中指定配置文件


image.png
    

3. 得证,解决,舒服。

image.png

你可能感兴趣的:(Android Charles抓包失败的问题)