文章目录
一、什么是Charles二、功能配置手机单独抓取手机端:抓取windows的chrome、firefox数据截取HTTPS通信模拟延迟网络反向代理
三、填坑抓取到的包显示unknown?ios APP无法访问网络
一、什么是Charles
什么是charles:
是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时, Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信, 这些包括request, response和HTTP headers (包含cookies与caching信息)
charles的主要功能:
支持SSL代理。可以截取分析SSL的请求。 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。 支持重发网络请求,方便后端调试。 支持修改网络请求参数。 支持网络请求的截获并动态修改。 检查HTML,CSS和RSS内容是否符合W3C标准。
下载地址:
windowsmac
二、功能
配置手机
手机电脑连接至同一局域网Proxy --> Proxy Settings --> Port:8888手机WiFi设置手动代理:
IP:电脑ifconfig查到的IP端口:8888
单独抓取手机端:
如果只想抓取手机的包那就取消windows端代理:
Proxy --> windows Proxy (取消勾选)
抓取windows的chrome、firefox数据
Chrome 和 Firefox 浏览器默认不使用系统的代理服务器设置,若要截取,需要在Chrome
中设置成使用系统的代理服务器设置,或直接将代理服务器设置成127.0.0.1:8888。
截取HTTPS通信
说明:https属于加密协议,想截取分析https,需要安装Charles的AC证书
1. Proxy –> SSL Proxying Setting –> Enable SSL Proxying点击 Add,编辑Location,输入
Host: * , Port: 443,点击 OK。
2. PC 端证书安装:
Help –> SSL Proxying –> Install Charles Root Certificate,选择 Charles 的证书,并信任此证书。
3. 移动端证书安装:
Help –> SSL Proxying –>Install Charles Root Certificate on a Mobile Device, 安装弹出的对话框要求,手机配置好端口
为 8888的代理之后,在手机浏览器访问http://chls.pro/ssl就可以下载证书并安装了。
注意:
对于 iOS 10.3以上的手机需要设置证书信任:点击通用 -> 关于本机 -> 证书信任设置 -> 选择 Charles 的证书打开。
模拟延迟网络
Proxy -> Throttle Setting:
勾选“Enable Throttling”,设置 “Throttle Preset” 的类型
指定网站:
勾选上 “Only for selected hosts”,添加指定网站
反向代理
Charles的反向代理功能允许我们将本地的端口映射到远程的另一个端口上,例如:将本机的6608端口映射到
远程的aliyun.com:80上,当我们访问本地6608实际返回的内容由aliyun.com:80提供。
三、填坑
抓取到的包显示unknown?
未安装证书未开启配置SSL
ios APP无法访问网络
关于手机证书确认未开启