Charles如何抓取HTTPS请求-移动端+PC端
Charles安装完成,默认只能抓取到http请求,如果查看https请求,会显示unkonw或其它之类的响应。所以需要先进行一些配置,才能抓取到完整的https请求信息。下面针对PC端和手机端抓包的情况,分别进行说明。
PC端如何配置才能抓取到https请求:
1. 安装证书:在顶部工具栏中选择“help--Install Charles CA SSL Certificate”;
2. 然后会弹出证书信息,选择安装证书,接下来将证书存储改为:受信任的根证书颁发机构,接下来都点“下一步”;
最后一步前可能会弹一个安全警告的弹窗,点“是”,最后完成;
3. 修改charles的proxy settings:选择“Proxy--Proxy Settings”,弹出proxy设置选项卡,勾选“Enabling transparent HTTP proxying”;
4. 再选择“Proxy—SSL Proxy Settings”,勾选“Enable SSL Proxying”,在Location部分选择add,如下图所示,host中填“*”,port中填“*”,表示任务域名的数据;
5. 保存成功后,这时访问PC浏览器,再去抓取https的请求,就能正常查看里面的数据信息了。
手机端如何配置才能抓取到https请求:
1. 先打开Charles 的代理功能:在菜单栏上选择“Proxy -> Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying”;
2. 获取 Charles 运行的电脑的 IP :在Charles 的顶部菜单,点击“Help -> Local IP Address”,即可在弹出的对话框中看到 IP 地址;
3. 在手机上无线局域网配置中,选中所连的wifi,选择手动配置代理:服务器主机填写charles运行所在的电脑IP,端口号默认都填写8888,保存;这个时候只能抓取到手机端的http的请求,还需要以下设置才能抓到https请求;
4. 在Charles 的顶部菜单,点击“Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser”;
然后会出现一个弹窗,点击弹窗中“确定”;
5.打开手机浏览器,输入chls.pro/ssl,访问该地址会下载charles证书,将此证书安装到手机上;
6.此时用手机访问各请求时,会先在电脑运行的charles中弹出一个对话框请求确认连接,点击确认允许;
7.这样便可以在安卓手机端抓取https请求了。
8.如果是IOS手机,还需要在手机中开启证书信任:进入“设置—>通用—>关于本机—>证书信任设置”,开启刚才安装的charles证书即可。