Charles

一、charles的原理

1. charles的原理

在这里插入图片描述

1)客户端向服务器发起Https请求。
2)charles拦截客户端的请求,伪装成客户端向服务器进行请求。
3)服务器向“客户端”(其实是charles)返回服务器的CA证书。
4)charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。
5)客户端接收到“服务器”的证书后,生成一个对称密钥,用charles的公钥加密,发送给“服务器”。
6)charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。
7)服务器用自己的私钥解密对称密钥,向“客户端”发送响应。
8)charles拦截服务器的响应,替换成自己的证书后发送给客户端。
9)至此,连接建立,charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了。

二、charles的安装

1. 点击安装文件charles-proxy-4.2.8-win64.msi

在这里插入图片描述

2. 点击下一步

在这里插入图片描述

3. 勾选同意,点击”next”按钮

在这里插入图片描述

4. 指定安装的路径,继续点击”next”按钮

在这里插入图片描述

5. 点击”install”按钮

在这里插入图片描述

6. 等待安装

在这里插入图片描述

7. 点击”Finish”按钮

在这里插入图片描述

8. 完成安装

三、charles的证书下载

1. 为什么下载charles的ssl证书?

默认情况下,charles不能解析https协议的接口,里面的请求和响应数据都是乱码格式,所以我们需要下载ssl证书,来获取里面的数据。
在这里插入图片描述

2. 点击help,选中ssl Proxying ,点击Install Charles Root Certificate

在这里插入图片描述

3. 点击”安装证书”按钮

在这里插入图片描述

4. 点击”下一步”按钮

在这里插入图片描述

5. 选中”将所有的证书都放入下列存储”,点击”游览”按钮

在这里插入图片描述

6. 选中”受新任的根证书颁发机构”,点击”确定”按钮

在这里插入图片描述

7. 点击”下一步”按钮

在这里插入图片描述

8. 点击”完成”按钮

在这里插入图片描述

9. 界面弹出”导入成功”弹框

在这里插入图片描述

10. 点击”proxy”按钮,选中Proxy Settings…

在这里插入图片描述

11. 勾选允许传输http代理,接着点击”OK”按钮

在这里插入图片描述

12.重启Charles,即可

四、charles的功能操作

1. 断点调试

方法一: breakpoints(修改request)

1)接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述

2)开始设置断点值
在这里插入图片描述

在这里插入图片描述

输完值记得点【ok】按钮保存设置
3)重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求
在这里插入图片描述

4)关掉breakpoint,点击“abort“,如果点击了“cancel”,只关闭此次编辑。下次访问此接口时还会进入breakpoints页面。
在这里插入图片描述

方法二: breakpoints(修改response)
1)接口处 鼠标右击,选择breakpoints(允许本接口使用breakpionts功能)
在这里插入图片描述

2)开始设置断点值
在这里插入图片描述
在这里插入图片描述

3)重新请求接口(charles的界面变为可编辑状态),修改请求参数,执行请求。
在这里插入图片描述

4)刷新页面,请求接口(返回值便是上一步已经修改好的值)
5)关掉breakpoint,点击”abort”,如果点击了”cancel”,只关闭此次编辑。下次访问此接口时还会进入breakpoints页面。
在这里插入图片描述

2. 本地修改

对于maplocal功能的理解:
接口返回值通过抓包工具处理成了 一个本地文件。这个本地文件中的设定值被作为接口返回值了。

1)复制 response内容,保存为.txt 文件,存在电脑本地。
在这里插入图片描述

注意:
保存为txt 后,将文件“另存为”编码方式选择utf-8,否则接口可能无法识别汉字导致出现乱码。

2)修改response指向(选中需要修改response值的接口 后点击右键,选中maplocal功能)
在这里插入图片描述

注意:记得点击【OK】键才能将配置保存成功。

3)修改txt文件中 需要修改的字段值,保存。
在这里插入图片描述

4).重新请求此接口,此时接口返回值已经是 txt文件中的期望值了。
在这里插入图片描述

5)不用的时候,关掉maplocal。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
Charles是一种用于网络调试和分析的工具。与Fiddler相比,Charles具有一些优点。首先,它支持多个操作系统,包括Linux、macOS和Windows。而Fiddler只支持Windows系统。其次,Charles提供了按域名和按接口查看报文的功能,使得报文的查看更加简洁明了。此外,Charles还支持反向代理,可以方便地进行调试和测试。另外,Charles还可以解析AMF协议,这对于开发和测试涉及到AMF协议的应用程序非常有用。 要在mac上配置Charles证书,您可以在Charles菜单栏中找到相应的选项。具体位置是在Help->SSL Proxying->Install Charles Root Certificate。按照指示进行操作即可完成证书的配置。 关于Charles的工作原理,首先需要在电脑上运行Charles并进行代理配置。然后,在客户端上也需要进行代理配置。接下来,当客户端发送请求时,请求会先经过Charles,然后由Charles转发给服务端。服务端返回请求结果后,结果也会经过Charles再转发给客户端。这样,Charles就能够捕获和分析请求和响应数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [软件测试Charles](https://blog.csdn.net/qq_46088242/article/details/126867780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值