抓包的时候遇到问题,Http协议接口是可以正常抓到的,但https一直显示unknown
发生原因:默认情况下,Charles只能抓取http的包,手机上面访问app接口的时候会出现unknown,是因为返回https接口需要证书信任
第一步:确认证书安装
配置charles证书:打开charles,Help-->SSL Proxy-->install Charles Root Certificate,
点击安装,这里敲个黑板,存储证书时一定要选择[受信任的根证书版本机构],否则仅安装但证书未信任是不够的,仍然会出现unknown的问题,接下来导入证书
1.1点击安装证书
1.2 选择存储位置,看个人情况,存储位置为当前用户或本地计算机均可
1.3 选择将所有的证书都放入下列储存,注意一定要选择[受信任的根证书版本机构],接下来下一步下一步即可按成证书认证。
第二步:确认手机设备证书安装
点击charles,Help-->SSL Proxy--> Install charles root certificate on a Mobile Device or remote browser…,打开浏览器登录网址:chls.pro/ssl 安装证书。
打开手机:设置-->通用-->描述文件与设备管理,安装charles证书即可。
再画个重点,本人问题就出在此安装完并没有信任证书,于是访问http协议接口出现红色unknown,设置路径:通用-关于本机里面设置信任该证书。
第三步:设置ssl proxy Setting中的ssl proxying的代理网址
如果上述操作已完成还是unknown,接下来要检查下SSL Proxying Settings是否设置允许访问的域名、端口,设置允许所有的443的端口访问,因为https访问的端口号是443,或者直接输入*,允许所有域名、端口访问
第四步 手机配置代理访问,接下来就不详细叙述了,相信各位小伙伴都是OK的
完成以上操作,恭喜你就完成Charles抓取HTTP(S)数据包的所有配置了,查看Charles,我们可以看到数据包的内容了。