-->

一直困扰Android手机在Mac版Charles抓包的问题。查阅了很多资料,发现是Android 7.0系统的安全策略的问题。

Charles抓包正常流程
1。在手机上配置证书

点击后:直接在手机浏览器中输入:www.hack95.com/ssl
ps:最好使用UC浏览器。华为自带的浏览器会下载一个pem文件,不会直接安装到手机上

2。将加密文件保存在您的计算机上

ps:这个证书稍后会用到

3。设置访问域名和端口

ps:大多数人都会设置 Host:* 端口:443;但直接点击确定就没有问题

以上步骤任意搜索都可以找到。不过,上述步骤对于iOS和部分Android机器是可行的。 Android 7.0机器使用Charles抓包时,会出现以下情况:

此时,将注意力转向代码,无论你在Charles中如何配置,都无济于事

步骤如下:
1.在项目res目录下新建文件夹,命名为xml,新建一个xml文件,可以命名为network_security_config.xml(其实名字可以顺便命名,只要对应即可)

2.在network_security_config.xml中添加内容:




请求域名




PS:请求域名——请求你的项目接口使用的域名
证书名称——上面提到的第二点在charles中点击“Save Charles Root Certificate..”(路径:Help - SSL Proxying -保存 Charles 根证书..)

3。将证书放入 res/raw 目录中。如果没有该目录,则需要新建一个

ps:此时文件名要与上面提到的network_security_config.xml文件中的证书名称对应

4。 AndroidManifest.xml 文件中需要添加以下配置:

android:networkSecurityConfig="@xml/network_security_config"

大功告成,配置完成,可以抓包了。

温馨提示:如果抓到看到乱码,也是证书造成的
---------------------
原文:https://博客。 www.hack95.com/u011045726/article/details/76064048

-->
骇客技术资讯网 | ©All Rights Reserved.