[Charles]

  • 使用Charles分析前后端问题
  • 使用Charles模拟弱网测试环境
  • 使用Charles的断点构建异常的测试场景

简介

  • 是什么 : 基于http协议的代理服务器,通过成为电脑或浏览器的代理,截取请求和请求结果达到分析抓包的目的(中介)
  • 工作原理 :
    • 前置步骤:
      • 需要运行Charles并配置
      • 客户端上也配置
    • 步骤:
      • 由客户端发送请求
      • Charles接收再发送给服务器
      • 服务器返回请求结果给Charles
      • 由Charles转发给客户端
  • 主要功能 :
    • 支持http及https代理
    • 支持流量控制(用于弱网)
    • 支持接口并发请求
    • 支持重发网络请求
    • 支持断点调试
  • 优点(支持多系统,页面简洁,Charles支持按域名和接口查看报文,支持反向代理,可选择网络类型,解析AMF协议)

Charles配置

  • 代理配置
    在这里插入图片描述
    在这里插入图片描述
  • 访问控制
    • Add在对话框的IP可以访问,没在对话框的IP不能访问(想访问就勾选Prompt to allow选项)
      在这里插入图片描述

客户端代理配置

  • windows代理(访问其他的客户端,配置其他的客户端代理配置)
    • win+i 打开本机电脑的代理界面进行配置
    • 勾选打开代理设置ip地址(现在版本是自动设置,可以不管)
  • Android手机代理配置
    • 基本步骤

在这里插入图片描述

Charles实战

  • 问题分析------比如更改ihrm系统中用户的名字报错
    • 前端 : 后台返回一个结果但显示两次提示信息,是前端问题
    • 后台 : 提示系统繁忙,是后台返回的数据
  • https抓包
    • 有些网页因为加密导致无法获取信息,故进行证书配置
  1. help—>SSL Proxying–>Install Charles Root Certificate在这里插入图片描述
  2. 安装证书–>本地计算机–>下一步在这里插入图片描述
  3. 将所有证书都粗放囊在下列存储–>浏览
    在这里插入图片描述
  • Https代理配置

    • proxy --> SSL proxying setting
      在这里插入图片描述
      在这里插入图片描述
  • 弱网测试

    • 流量配置
    • 点击Proxy–>Throttle Setting
      在这里插入图片描述
    • 选中对应网络类型
      在这里插入图片描述
    • 示例 : 将网速设置为56K modem的网络打开ihrm系统,时间从88ms到2s,明显速度变慢,但一般建议使用时间更明显
  • 断点调试

    • 作用:用于构建异常的测试场景
    • 步骤
      在这里插入图片描述
    • 点击刷新,进入新页面,点击Edit Response
      在这里插入图片描述
    • 数据格式栏选择合适的显示格式,例如json
      在这里插入图片描述
    • 修改数据点击execute,回到浏览器查看数据为修改后的Response
      在这里插入图片描述

实战

  • 场景1 : 人事管理系统中增加角色时,把角色名设置为空,然后请求到服务器

    • 结果 : 增加成功,后台代码存在问题
  • 场景2 : 针对查询员工接口请求时,修改返回数据success=false,code=999,message=操作失败

    • 结果 : 页面显示为空(与修改结果一致)

问题1:乱码(解决见链接)

乱码解决方案

问题2:访问提示unknown

unknown解决方案

03-13
### Charles 工具概述 Charles 是一款广泛应用于PC端的网络封包截取工具,主要用于移动开发中的网络通信调试。通过该工具可以有效地监控并分析HTTP/HTTPS请求和响应数据流,帮助开发者理解应用程序与服务器之间的交互过程[^1]。 #### 主要用途 - **移动端开发调试**:当涉及到iOS或Android设备上的应用开发时,Charles能够捕获这些平台发出的所有HTTP(S)流量。 - **第三方API接口测试**:对于集成外部服务的应用程序而言,利用Charles可深入研究不同服务商所提供的RESTful API的具体行为模式。 - **安全协议解析**:借助内置的支持,即使面对加密传输层(即TLS),依然可以通过适当配置实现对HTTPS会话内容的有效读取[^2]。 ### 使用准备 在正式开始之前,需完成如下几项准备工作: - **软件下载与安装**:前往官方网站获取最新版本的Charles,并按照提示完成整个安装流程。 - **代理环境搭建**:无论是Mac还是Windows操作系统下,都需要正确设定系统的网络代理指向本地运行着的Charles实例;同时确保目标移动设备也连接到了相同的Wi-Fi热点上以便共享同一套代理规则[^3]。 ### 基础操作指南 一旦上述条件满足,则可以根据实际需求执行以下常见任务: - **查看实时流量**:启动Charles后,默认即可看到当前正在发生的全部HTTP事务列表视图。 - **启用SSL解密**:针对受保护的数据交换场景,先导入由Charles自动生成的信任根证书至浏览器或其他客户端环境中,再开启对应的选项开关以允许其处理经过签名的安全链接。 - **设置断点拦截**:此特性允许用户中途暂停特定类型的请求发送动作,进而手动修改参数或者伪造返回结果来进行更灵活的功能验证。 ```bash # Windows命令行中检查本机IP地址的方法之一 ipconfig | findstr IPv4 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值