安装
到官网下载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会弹出一个提示框,允许即可
在手机上安装charles证书并信任
如果移动设置了没有安装charles证书,截手机应用的https截包还是会看到乱码。会看到 You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu 提示。
在手机上安装charles证书,如下所示
即在使用手机上的浏览器打开 chls.pro/ssl 网址,下载证书并安装。(记得手机已经代理到了charles)。成功安装后可以在手机》设置》安全》信任的凭据 列表看到charles证书。