windows系统使用Charles对手机移动终端抓取http和https请求
一.前言
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
- 支持SSL代理。可以截取分析SSL的请求。
- 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
- 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
- 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
- 支持重发网络请求,方便后端调试。
- 支持修改网络请求参数。
- 支持网络请求的截获并动态修改。
- 检查HTML,CSS和RSS内容是否符合W3C标准。
官方下载地址:https://www.charlesproxy.com/download/
二. **和配置方法
1. **地址替换掉原文件夹里的charles.jar
Windows: C:\Program Files\Charles\lib\charles.jar
安装完以后,去掉windows proxy的勾选。
原因是去掉后过滤掉PC上抓到的包,只抓取移动终端上的信息。
2、设置抓取https协议的包
设置charles ssl代理:Proxy->SSL Proxy Settings 弹出一个ssl代理设置界面
1)Enable SSL Proxying复选框打上勾
2)添加你想要的设置代理的域名,端口默认443,防止出现乱码;
3.下载ssl证书
1.Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser,会弹出如下提示框:
点击确定;
2.使用手机浏览器输入上述的网址https://chls.pro/ssl
会弹出提示下载证书,给证书输入一个名称,保存即可;
3.设置代理:手机跟电脑要在同一个网络,使用的同一个路由器;
1)查看默认端口 Proxy->Proxy Settings 在这个页面会看到HTTP Proxy的默认端口是8888 ,默认即可;并且勾选并且勾上”Enable transparent HTTP proxying”保存即可;
2)cmd->ipcinfig查看当前电脑的ip,例如我这里的是:172.16.16.19
3)接下来手机端设置代理,如下图所示即可
4) 手机连接到Charles时会弹出提示框是否连接,点击Allow允许即可:
5) 完成了以上步骤即可抓到https请求的数据, 如下