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

简介

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

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

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

Charles 基本使用

安装
  • Charles 官网:
    • https://www.charlesproxy.com/
  • 学社下载地址
界面介绍
菜单栏
  • File:session 相关操作。
  • Edit:基础复制粘贴之类的操作。
  • View:选择要查看的界面。
  • proxy
    • 抓包:recording
    • 抓 https 包:ssl proxying
    • 网络限速:throttling
    • 断点:breakpoint
    • 系统代理功能:macOS/Windows
  • tools
    • map remote:请求转发,修改响应
    • map local:请求映射至本地数据
    • rewrite:重写修改请求与响应
主导航栏
左侧
  • Structure:视图将网络请求按访问的域名分类。
  • Sequence:视图将网络请求按访问的时间排序。
右侧

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

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

总结

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