简介

Charles 是一款跨平台的代理工具。Mac、window、linux 都可以使用。

抓包神器Charles:解析网络数据传输的秘密_单元测试

它通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络数据包的截取和分析。Charles 主要的功能包括:

  • 支持 SSL 代理
  • 支持流量控制
  • 支持重发网络请求,方便后端调试
  • 支持修改网络请求参数
  • 支持网络请求的截获并动态修改
  • 可以自动将 json 或 xml 数据格式化,方便查看

Charles 基本使用

安装

  • Charles 官网:
  • www.charlesproxy.com/
  • 学社下载地址

抓包神器Charles:解析网络数据传输的秘密_Charles_02

界面介绍

抓包神器Charles:解析网络数据传输的秘密_测试_03

菜单栏

抓包神器Charles:解析网络数据传输的秘密_导航栏_04

  • File:session 相关操作。
  • Edit:基础复制粘贴之类的操作。
  • View:选择要查看的界面。
  • proxy
  • 抓包:recording
  • 抓 https 包:ssl proxying
  • 网络限速:throttling
  • 断点:breakpoint
  • 系统代理功能:macOS/Windows
  • tools
  • map remote:请求转发,修改响应
  • map local:请求映射至本地数据
  • rewrite:重写修改请求与响应

主导航栏

抓包神器Charles:解析网络数据传输的秘密_导航栏_05

左侧

抓包神器Charles:解析网络数据传输的秘密_单元测试_06

  • Structure:视图将网络请求按访问的域名分类。
  • Sequence:视图将网络请求按访问的时间排序。
右侧

抓包神器Charles:解析网络数据传输的秘密_网络请求_07

展示的是某一接口的请求内容,可以切换导航栏查看请求的各种详细情况。例如:请求响应时间,请求头,请求详细内容,请求体等各种情况。

  • Overview:会展示该请求的一个大体情况,例如:请求头,请求响应结束时间,请求开始时间以及自己的 notes 等
  • Content:如上图所示的该请求的具体内容和服务器的相应内容(配合下面的导航栏进行查看该请求的具体内容 header,cookies,选择呈现方式 form, raw)
  • Summary:也是展示一个该请求的大体资源分布情况。例如:服务器响应了多长时间,host 是什么等等
  • Chart:以表格形式告诉我们一个响应时间的分布情况。
  • Notes:已经很清楚了,点击之后自己可以对该请求记录一些东西,方便后续查看该接口的用途,可在 overview 中查看

总结

  • 工具介绍
  • 安装
  • 界面介绍