赞
踩
官网地址:Download a Free Trial of Charles • Charles Web Debugging Proxy
下载完成之后,直接点击安装即可。安装完成之后的界面
在使用6.0及以下的手机的时候,如果想要抓包Https,只需要在手机上安装Charles证书就可以了,但是如果使用的手机是7.0及以上版本的时候,这个时候就不管用了,需要手动的添加该证书的信任
因为Android在不同的版本,系统为了网络安全,网络配置发生了一些变化
- <base-config cleartextTrafficPermitted="true">
- <trust-anchors>
- <certificates src="system" />
- <certificates src="user" />
- </trust-anchors>
- </base-config>
- <base-config cleartextTrafficPermitted="true">
- <trust-anchors>
- <certificates src="system" />
- </trust-anchors>
- </base-config>
- <base-config cleartextTrafficPermitted="false">
- <trust-anchors>
- <certificates src="system" />
- </trust-anchors>
- </base-config>
为了解决Android7.0及以上手机https无法抓包,http无法传输的问题,需要自定义网络安全配置:
cleartextTrafficPermitted="true" //允许在高版本上开启Http的明文传
- <?xml version="1.0" encoding="utf-8"?>
- <network-security-config>
- <base-config cleartextTrafficPermitted="true"/>
- <trust-anchors>
- <certificates src="@raw/charles"/>
- </trust-anchors>
- </network-security-config>
- <application
- android:networkSecurityConfig="@xml/network_security_config"
- </application>
- <?xml version="1.0" encoding="utf-8"?>
- <network-security-config>
- <base-config cleartextTrafficPermitted="true" />
- <debug-overrides>
- <trust-anchors>
- <certificates src="@raw/charles" />
- </trust-anchors>
- </debug-overrides>
- </network-security-config>
如何配置charles,完成Https数据报文的抓包?
1.点击Proxy -> Proxy Settings…,查看charles的端口号:8888
2.点击Help -> Local IP Address,查看本机的IP地址:192.168.40.38
3.将手机wifi连接的代理设置成手动,并输入上面的端口号和IP地址
4.让应用去信任charles证书
点击Help -> SSL Proxying -> Save Charles Root Certificate… 保存证书
5.将证书拷贝到项目中。在app下的res目录下新建一个raw文件夹,并且把charles.pem文件拷贝过来
6.创建配置文件。在app下的res目录下新建一个xml文件夹,在这个文件夹下新建一个network_security_config.xml 文件,并填写配置信息
打开手机设置-密码与安全-系统安全-加密与凭据-安装证书-证书
然后将上面保存的证书push到手机上,找到位置添加证书信任
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。