写在最前面的话:
1.手机安装一个https证书以后不是一劳永逸的,用不同的电脑给手机抓包时安装的证书是不一样,每次换一个电脑抓包都需要重新安装证书。
2.每次配置证书时,首先要配置手机代理(最简单的方法:手机和电脑需要使用同一个WiFi,然后对链接的WiFi进行设置,点击配置代理>手动>填写电脑的IP,Charles的端口,保存即可),链接到对应的电脑
3.安装的证书要保存位cer格式的
安卓抓https配置
一般通过浏览器访问链接的方法下载的证书后无法安装,我们可以在Charles中保存一份证书,然后发送到手机上安装就可以了。
第一步,配置手机代理
第二步,
第三步,下载证书
要保存成cer格式的
第五步,在手机上安装
注意⚠️: 以后,即便安装了证书也还是无法抓https的接口,这是android系统做了修改,系统即便安装了证书,应用本身可以选择信任,也可以选择不信任。为了解决这个问题,需要在app中添加配置信任证书,然后我们就可以愉快的抓包了,但是这个只能针对自己的APP,别人家的APP我们还是没有办法抓包。
okhttp 版本 3.4.1之前,配置网络代理 https 抓包时 在客户端如果没有正确配置证书信息,第一次会在charles 会看到这次请求并 显示失败,客户端不能正常拿到数据。但是后续的请求 charles 就抓不到了,客户端就不走代理了。okhttp 版本 3.4.1之后,系统代理不通的话,不会绕过系统代理,之后的请求都不会成功。
ios抓https配置
iOS安装证书,通过网页下载比较好。
1.Charles中点击help-》ssl proxying-》Install Charles root certificate on a ...
2.手机配置代理
3.手机浏览器中输入页面中的网址chls.pro/ssl (如果没有连接到代理,页面可能会展示位为错误页面或者是charls的页面,页面就会自动跳转到下载证书页面)
下载证书后有的版本可能需要让你重命名,随便起个名字
4.证书下载完成后,需要去 设置-》通用-》关于本机-》证书信任设置-》查找到对应的证书点击信任
如果没有找到的话,先去设置-》通用-》文件描述符 找到对应的证书,安装
ps:
有时候输入网址之后,确认下载后,跳转的页面可能还会遇到这种情况,如图
这个就需要在步骤4之前加一步,去设置-》通用-》描述文件(英文版是:profiles),然后在这个页面中安装刚刚下载的证书