工欲善其事,必先利其器之—Charles截包工具的配置与使用

安装

到官网下载https://www.charlesproxy.com/,下载最新版的Charles安装包(mac版是一个dmg后缀的文件),点击下载后的安装文件,打开后将Charles拖到Application目录即可.

说明:Charles是收费的,但可以免费试用30天.满30天后,未付费的用户还是可以继续使用,但是每次使用时间不能超过30分钟(超时后自动关闭),轻度使用者不付费都OK了.如果是IT从业者,建议购买,丰富你的军火库

介绍

Charles 主要的功能包括:
* 支持 SSL 代理。可以截取分析 SSL 的请求。
* 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
* 支持 AJAX 调试。可以自动将 json 或 xml 数据格式化,方便查看。
* 支持 AMF 调试。可以将 Flash Remoting 或 Flex Remoting 信息格式化,方便查看。
* 支持重发网络请求,方便后端调试。
* 支持修改网络请求参数。
* 支持网络请求的截获并动态修改。
* 检查 HTML,CSS 和 RSS 内容是否符合 W3C 标准。

使用

基础配置

Charles能截网络包的前提是需要我们把它设置成网络代理,第一次安装并启动C时,会请求需要设置网络代码的权限,此时会弹出当前用户密码的输入框(输入密码即可),默认情况下Charles在每次打开时都需要我们勾选(打开),当然可以配置每次打开Charles时默认开启代理功能。
开启网络代理的功能,菜单》proxy》macOS proxy , 如下图所示
这里写图片描述
更改启动Charles,默认开启代理功能,菜单》proxy settings , 如下图所示
这里写图片描述

初阶使用

打开网络代理后,就可以看各个应用的网络请求与晌应的数据了

主界面介绍

Charles主要提供2种查看截包的视图,一种时结构化,另一种是时序性
1.结构化(structure)视图,是按网络请求的域名分类,各个域名下还路径等细化更小的分类
2.时序性(sequence)视图,是按网络请求的时间排序。一般关系网络请求时序的场景使用。
这里写图片描述

过滤网络请求

临时性过滤

在主窗口的左边请求域名分组的子窗口的Fliter输入框,输入关键字过滤相关的网络请求,如下图所示
这里写图片描述

配置过滤项

配置后需要重启Charles。inclue的过滤项是白名单,且全局生效的,打开后就只能截到白名单的域名的请求了
打开配置窗口,菜单》Proxy》Recording Settings
这里写图片描述
配置过滤条件
这里写图片描述

高阶使用

HTTPS截包

基本上现在的网站都是https的了,默认情况下Chaarles看到的https截包数据是乱码的,如下图所示
这里写图片描述
Charles能查看https的请求的明文数据,提前是需要安装SSL证书,并进行相关的配置

Charles的AC证书安装

注:当前使用的Charles版本是v4.2.6
菜单》help》install Charles Root Certificate
这里写图片描述
更改证书的可信认配置
默认安装后的证书是不信认的,如下图所示
这里写图片描述
点击 “信任” 结点,更改信任属性为可信任(会弹窗当前用户密码的输入框,输入密码允许即可)
这里写图片描述
更改信认属性后,证书的状态如下图所示
这里写图片描述

SSL配置

菜单》Proxy 》SSL Proxying Settings
这里写图片描述
配置好后,https截包效果如下图所示
这里写图片描述

模拟慢速网络

菜单》Proxy 》Throttle Settings
这里写图片描述

截取手机上的网络请求

示例:Android手机上的网络请求截包
前置条件配置:PC与手机在同一个wifi网络下

手机设置网络代理

  • 查看PC是的网络ip,通过”网络偏好设置查看,如下图所示
    这里写图片描述
  • 设置手机的网络代理
    这里写图片描述
  • 允许手机通过C作为网络代理
    手机设置好动态代理,连接网络时,Charles会弹出一个提示框,允许即可
    这里写图片描述

参考资料

猜你喜欢

转载自blog.csdn.net/SCHOLAR_II/article/details/81673389