Charles 指南

介绍

  • charles 是一个抓包工具,主要是用来抓包的
  • 学习的好处有哪些??
    • 帮助实际开发遇到的效率问题,提高联调效率
    • 帮助开发人员本地进行网络通信,深入理解计算机网络
    • 帮助开发人员进行抓包分析,解决问题

安装

配置

  • 需要进行配置:
    • 配置 proxy 代理
      • 配置 proxy 代理的端口号为 8888
    • 配置 ssl 证书
      • 核心是为了对于返回的数据进行解密用的呐
    • 配置代理
    • 配置过滤
      • 配置过滤的规则,比如只过滤某个域名的请求

激活

功能使用

  • 进行网络请求抓包
  • 进行本地 mock 调试:map local 实现本地 mock 调试
  • 进行远程 联调 测试: map remote 实现和 server 联调
  • 进行 rewrite 重写:根据 server 文档来进行定制化的修改请求头,实现获取得到响应数据即可
  • 进行 breakpoint 断点调试:在请求发送到 server 端后,暂停请求,等待开发人员进行调试
  • 进行 throttle 限速:模拟网络环境,比如: 2G 网络环境,3G 网络环境等
  • 进行 capture 抓包:将抓到的请求和响应数据进行保存,方便后续的分析

原理

  • 原本的客户端和server端进行通信的流程是:
    • 客户端发送请求到 server 端
    • server 端返回响应数据给客户端
  • 但是实现配置开启了 Charles 抓包工具后,客户端和 server 端的通信流程就变成了:
    • 客户端发送请求到 Charles 代理服务器
    • Charles 代理服务器发送请求到 server 端
    • server 端返回响应数据给 Charles 代理服务器
    • Charles 代理服务器返回响应数据给客户端

也就是一个中间代理工具而已,在调试的阶段是十分的方便的呐.