Charles Proxy 详细使用教程

charles是一个常用的网络代理工具。可以监控,调试和分析网络请求和响应数据,可以截取http和https流量,在代理器和服务器之间建立连接,允许用户便捷地查看和记录网络通信数据,包括url 请求头,响应头部,响应体等信息。

这个工具可以干什么:

(1)抓取http和https的流量。包括pc端和手机端

(2)模拟弱网环境

(3)支持mock数据

(4)支持breakpoints修改网络请求参数

(5)配合SwitchHosts切换不同的环境

注:先查看需要捕获的流量是http还是https,如果是http可以暂时先不安装证书,即可使用。证书类似一次性的,用过一次就不用再安装了,除非等他过期了,需要再次安装。

一,安装。

1,去官网下载符合自己电脑型号版本的安装文件,安装简单一路next。

2,激活:不激活的话就会半小时退一次,每次登录都会有10秒钟延迟,功能倒是不影响。

二,抓包配置。

1,pc抓包配置。

(1)windows系统代理配置(要配置,将windows系统代理设置为charles,目的是拦截系统中所有的http和https的流量)

Proxy→→Windows Proxy→→勾选"Enable Windows Proxy"

Charles Proxy Windows代理设置界面 - Enable Windows Proxy 勾选

(2)配置代理服务器(配置之后,代理服务器可以帮助你拦截和修改流量)

Proxy Setting→检查Enable transparent HTTP proxying 按钮是否勾选,这个按钮必须勾选。

Charles Proxy 代理服务器设置界面 - Enable transparent HTTP proxying 勾选

(3)配置SSL代理(要配置,目的是让charles伪装成https的目标网站,这样可以建立安全连接)

找到 "Proxy" 菜单,然后选择 "SSL Proxying Settings" 选项来配置 SSL 代理。在 SSL Proxy Setting 中,你可以自己生成一个 CA 证书并将其导出到设备或浏览器,或者将 Charles 自带的 CA 证书导入到设备或浏览器中。

Charles Proxy SSL代理设置界面 - SSL Proxying Settings 配置

:443 表示匹配所有主机名(域名/ip地址),以及端口号为443的https的流量

:表示匹配所有

Charles Proxy SSL代理端口配置界面 - 端口443匹配所有主机名

三,证书。

1,一般都是https的请求,不安装证书的话,看不到明文,解密不了

2,http的,可以直接看到明文,在没安装证书的情况下可以进行抓包或者断点等测试。

SSL Proxying →Install Charles Root Certificate→选择安装证书→将证书存放在受信任的根证书颁发机构→即可完成

Charles Proxy 证书安装界面 - 安装根证书到受信任的根证书颁发机构

Charles Proxy 证书安装完成界面 - 证书导入成功

Charles Proxy 证书信任设置界面 - 证书信任选项

四,可能遇到

可能在导入证书遇到的问题:win11解决方案

Charles Proxy Win11证书导入常见问题截图

1,将文件保存到本地

Charles Proxy 证书文件保存界面 - 保存证书到本地

2,windows搜索管理计算机证书

Windows证书管理器界面 - 管理计算机证书

3,选择操作→所有任务→导入。下一步,点击找到刚刚的文件打开。注意:点击到受信任的那个证书然后点击操作-所有任务才会有导入,没有点击某一个具体的是不会有导入菜单的。

Charles Proxy 证书导入界面 - 选择证书文件

Charles Proxy 证书导入完成界面 - 导入成功

4,导入证书。注:必须要把所有文件选上,要不然看不到刚刚下载的证书。

Charles Proxy 证书导入界面 - 选择所有文件类型

Charles Proxy 证书导入完成提示界面

5,导入成功,证明安装证书成功,之后重启charles,或者关闭浏览器,可能会有点延时不会立马生效。再不济电脑重启。

6,这时候就安装证书成功。可以捕获到https的流量,不再是之前那种乱码的状态。

五,charles打断点修改返回数据

Breakpoint是用在请求和响应流量终端调试和编辑的功能。

1,打开charles查看捕获的流量,右键选择Breakpoint

Charles Proxy 断点设置界面 - Breakpoint 右键设置

2,选中后设置断点条件和动作 proxy→breakPoint Setting

3,在弹出来的窗口中找到自己刚刚标记的接口,双击,选择对应的get或者post请求,确保request和response勾选上

Charles Proxy 断点条件设置界面 - breakPoint Setting 配置

Charles Proxy 断点动作设置界面 - request/response 勾选

3,然后选择删除或者删除或者小扫把形状的标志,清除掉当前界面捕获到的流量

Charles Proxy 清除流量界面 - 删除/小扫把按钮

Charles Proxy 清除流量按钮界面

4,重新刷新页面请求,就会跳到断点

Charles Proxy 断点命中界面 - 请求跳转到断点

5,根据需要进行查看/编辑响应,然后点击execute,就可观察到相关行为。