赞
踩
中文名青花瓷,是HTTP服务代理器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接受的所有数据。她允许开发者查看所有连接互联网的HTTP通信。 特点:跨平台、有免费版本(启动需要10s、运行只能使用半小时)
Charles主要功能:
支持HTTP和HTTPS的代理 支持流量控制(用于模拟弱网) 支持接口并发请求(用于简单的性能测试) 支持重发网络请求(用于接口测试,用的比较少) 支持断点调试功能(发送或接收时修改请求/返回信息,模拟请求和响应)
目录
一.Charles安装
、
前往 Download a Free Trial of Charles • Charles Web Debugging Proxy 下载
运行安装程序
双击下载的安装文件并打开,按照提示进行安装。
二.Charles授权码在线生成Charles授权码在线生成 charles 激活码 charles license key generate charles 破解
在 Help下的Register Charles将生成名称和密码输入进来重启Charles即可。
三.Charles抓包配置
1、 Charles开启代理
Proxy → Proxy Settings
1)端口号,默认8888,如果有冲突,则需要修改
2)点击OK ,打开代理
2 Windows代理设置 ——设置后就能用charles抓取windows上的数据
1、chrome 浏览器输入Chrome://seetting ,在搜索栏中输入【代理】,点击【打开您计算机的代理设置】
2、在打开的Windows代理设置页面中,打开【使用代理服务器】,并填写代理服务器地址及端口号即可(即 charles所在机器的ip和端口号)。
备注:如果charles和客户端在同一台电脑,默认情况下电脑上已经设置好代理了;如果charles和客户端不在同一台电脑,一定要把电脑上的代理服务器地址改为charles所在电脑的ip和端口号。
3、MacOs代理设置 ——设置后就能用charles抓取MacOs上的数据
3.1 常规设置代理方式
- 1、系统偏好设置 → 网络 → 高级 → 代理
- 2、勾选【Web代理(HTTP)】 → 输入web代理服务器地址和端口 (即 charles所在机器的ip和端口号)
- 3、勾选【安全Web代理(HTTPS)】 → 输入web代理服务器地址和端口
3.2 MocOs快捷代理设置
在Charles的Proxy → macOS Proxy
备注:如果charles和客户端在同一台电脑,快捷代理可以代替代理设置。
tips:快速查看Charles所在服务器的ip地址: 【Help → Local Adress】
https是把http进行了封装,把http的报文进行加密了。
不配置的话,能显示https域名,但请求为unknown,报文内容都是乱码。
解决方案:安装SSL证书
Windows抓取https配置
1、Windows安装证书
2、 macOS抓取https配置
3、Charles中https代理配置
手机端配置:
1、确保iOS 设备和Charles服务器在同一个网络下
2、在设置中选中无限局域网 → 网络 → HTTP代理 → 配置代理 → 手动
3、输入Charles服务器的i和端口号 并存储
1、IOS系统设置代理——设置后就能用Charles抓取iOS上的数据:
2、Android系统设置代理 —— 设置后就能用Charles抓取Android上的数据
- 手机端配置:
- 1、确保iOS 设备和Charles服务器在同一个网络下
- 2、设置 - WLAN - 显示高级选项 - 代理 -手动
- 3、输入Charles服务器的i和端口号 并存储
如果设置后无法抓到https包,则需要安装一下手机端证书
华为手机安装证书如下:
1、浏览器中输入chls.pro/ssl提示下载证书
2、在【设置 - WLAN 更多->高级WLAN设置->安装证书 】安装后,证书的用途选择【VPN和凭证】,不要选择【WLAN】亲测不行。
3、安装成功后即可抓取https包
1、Proxy → Throttle Setting
2、勾选 Enable Throttling
3、选择对应的网络类型
- Bandwidth ——带宽 -- 例如 512kbps
- Reliability ——可靠性
- Stabillith —— 稳定性
弱网一般用于app测试,看app在弱网情况下会不会闪退、登出等异常。
带宽一般指下载的理疗速度
512kbps(kbps=kb/s)=512/8=64KB/s
1M=1024/8=128KB/s
8M=8*1024/8=1024KB/s
1、选择接口,右键 - 选择“BreakPioints”
有的请求后面有随机数,设置断点后因为随机数不同,可能断不到,此时在【Proxy → BreakPioints Setting】中编辑一下请求,把随机数去掉即可
2、在浏览器中访问这个接口
3、进入断点页面,展示接口请求的信息,此时请求还未发送到服务器
4、“Edit Requset” 编辑请求信息
5、点击“Execute” 执行请求
6、执行后,接口的返回数据也会展示在charles中,不会直接返回浏览器
7、“Edit Response” 编辑服务器的返回信息
8、点击“Execute”,把修改后的返回信息,反馈给浏览器,在浏览器中就能看到自己编辑的返回信息
问题1、用着好好的,突然有一天无法抓包了
问题原因:charles证书过期了
help→SSL Proxying → Install Charles Root Certificate
22年5月使用时发现charles不能用了
解决办法:
1、PC端reset证书、再信任即可
help→SSL Proxying → Reset Charles Root Certificate
2、手机端需要连接到代理、重新下载安装证书、信任证书后使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。