1. 释义
Charles是一个HTTP代理/ HTTP监视器/反向代理,使开发人员能够查看其机器和Internet之间的所有HTTP和SSL / HTTPS流量。这包括请求,响应和HTTP标头(包含cookie和缓存信息)
2. 安装
Mac(破解版): 链接: pan.baidu.com/s/1NGqJvPZ9… 提取码: vh74 复制这段内容后打开百度网盘手机App,操作更方便哦
Windows: 链接:www.charlesproxy.com/latest-rele…
Charles 初览:
3. 基本配置
-
proxy setting
操作Proxy→Proxy Setting 来打开代理设置窗口:
端口:设置对应的局域网端口提供给需要被代理的设备
options:可以设置哪些host或者domain 绕过代理
-
移动端代理设置
以
iPhone为例:-
电脑和手机在同一局域网
-
手机打开设置 → 找到对应的wifi设置 → HTTP代理 → 手动配置代理 → 输入你本地的ip地址加Charles对应的端口号(8888)
保存即可 成功拦截普通的http请求 ✅
-
4. 抓取HTTPS接口
- https释义
超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。 HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。
-
charles 配置
-
启用SSL Proxying
打开Proxy → SSL Proxying Setting → 添加一个location项,输入host及端口号(443)
-
PC端安装Charles的 证书
Help → SSL Proxying → Install Charles Root Certificate → 输入系统的帐号密码,即可在钥匙串中看到添加好的证书
-
-
移动端安装证书
以
iPhone为例:- Charles 选择 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser
-
确保手机连上代理的情况下,在手机浏览器栏输入:chls.pro/ssl,下载证书,需在手机「设置」→ 通用 → 描述文件与设备管理安装下载的证书,完成安装后
并且 安装后 → 找到关于本机 → 证书信任设置,打开刚安装的证书的开关。
此时即可 成功拦截普通的https请求 ✅
-
CloudFlare 证书
Cloudflare是一家总部位于旧金山的美国跨国科技企业,以向客户提供基于反向代理的内容分发网络(Content Delivery Network, CDN)及分布式域名解析服务(Distributed Domain Name Server)为主要业务。利用 Cloudflare 全球任播网络,Cloudflare可以帮助受保护站点抵御包拒绝服务攻击等网络攻击,确保该网站长期在线,同时提升网站的性能、加载速度以改善访客体验
根据我司安全策略,服务端接口基本都接上CloudFlare,so 我们如果需要查看https请求,需要安装 对应的CloudFlare证书 👇
此时 可清晰的看到 https请求中 完整的request与response,不会出现乱码。
5. 模拟其他网络环境
在Proxy->Throttle Setting,然后选择Enable Throttling,在Throttle Preset下选择网络类型即可,具体设置你可以自行拿捏,可快可慢,也可对特定host进行设置。
6. MAP 映射
-
Map Remote
释义:修改当前的请求location为我所需要的location。
选择 Tools-> Map Remote 添加 一个From 的location 及 To 的location,Enable勾上 即可完成对一个location的远程地址映射。
2. Map Local
释义:修改当前的请求location为我所需要的本地文件。
选择 Tools-> Map 添加 一个From 的location 及 Local Path,Enable勾上 即可完成对一个location的本地文件映射。
7. 请求改写
释义:修改当前的请求location中的request与response。
-
添加host
选择 Tools-> Rewrite 添加 一个需要设置的location,输入相应的配置项。
-
添加重写规则
依次选择重新类型 → 匹配项 → 替换项
Enable之后重新请求,即可完成对接口内容的替换。
8. 接口压测
我们可以使用 Charles 的 Repeat 功能来简单地测试服务器的并发处理能力,方法如下:
在对应的网络请求上右击,然后选择 「Repeat Advanced」菜单项,或者Tools-> Advanced Repeat
设置迭代数与并发数。
9. 断点
在发起一个请求的时候,我们是可以给某个请求打一个断点,然后来观察、修改请求或者返回的内容。可在请求网址右击选择Breakpoints,或者在Proxy->Breakpoint Setting设置,就可以断点某一个请求。
综上所述,Charles 功能强大,可玩性强,希望大家的调试之路畅通无阻。