Android 7.0以上的系统如何抓取HTTPS包

Android 7.0 以上的操作系统,大部分机型,如红米note、华为荣耀等按照老的方法设置了代理之后,依然无法抓包,并且部分手机比如小米上安装Charles证书会报错,这是因为Android系统做了安全限制,那么需要怎么解决呢?

 

先解决Android系统的安全限制

不解决的话Charles会报错:Client SSL handshake failed: An unknown issue occurred processing the certificate (certificate_unknown)

解决的方法如下:

按照Charles官方文档的要求,https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/,在APP的代码中添加相应代码支持。

Android 7.0以上的系统如何抓取HTTPS包_第1张图片

 

也就是说,要在APP代码里进行如下的操作:

1、创建network_security_config.xml

在res文件夹下创建一个“xml”文件夹,并且文件夹中创建network_security_config.xml

2、XML文件配置

 



    
        
            
            
        
    


3、在Manifest文件中进行配置



    
    ...
    

 

 

解决部分Android 7.0以上手机下载证书后无法安装的问题

以红米note为例,通过浏览器访问chls.pro/ssl下载的crt文件,提示证书无效,安装失败。

解决方法如下:

1、不使用小米手机自带的浏览器下载证书,可以直接使用Chrome或者其他浏览器下载pcm格式的证书安装。

2、或者使用小米自带的浏览器下载安装证书,但不要直接点击crt文件进行安装,而是通过系统来安装,安装的方法如下:

设置——更多设置——系统安全——从存储设备安装证书——选择证书,安装即可

 

解决了上面两个问题后,手上的Android手机就可以直接连上代理上网啦~

你可能感兴趣的:(测试分享)