Charles使用

一、charles的主页面介绍

连上代理之后,每次进行操作我们便会在charles上接收到请求。此时的charles页面将会变成如下密密麻麻的内容,故这节课我们来讲解一下Charles的主页面

1、紫色区(工具的主导航栏)

从左至右的图标解释:

扫把按钮:点击之后可清除抓取到的所有请求

图标按钮:红点亮起说明正在抓取请求,红点展示为灰色说明目前不在抓取请求状态

乌龟按钮:灰色乌龟是网速设置正常,绿色乌龟指慢速网速开启了

六角形图标:断点图标,灰色说明断点未开启,红色说明在使用断点

钢笔图标:编辑请求,点击之后可以修改请求的内容

刷新图标:重复发送请求的图标,先选定某一请求点击该图标则请求会被再次发送

对号图标

扳手图标:对应于导航栏中的tools图标,有些许功能

设置图标:设置charles中的情况

2、红色区(抓取连接该代理的所有手机所有的请求)

红色区展示的是我们抓取的所有的请求,点击+之后便可以展开该host 域名下的所有请求。点击请求之后即可在黄色区域看见该请求所对应的相应内容。

导航栏右边的sequence是请求展示的另一种形式。其实内容都是一样的,只不过将所有的请求按照时间排序展示,不再是分域名展示。

3、黄色区(在绿色区指定的某一个api的请求内容)

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

首先我们来看一下常用的几个选项:
Overview:会展示该请求的一个大体情况,例如:请求头,请求响应结束时间,请求开始时间以及自己的notes等

content:如上图所示的该请求的具体内容和服务器的相应内容(配合下面的导航栏进行查看该请求的具体内容header,cookies&&选择呈现方式form,raw)

summary:也是展示一个该请求的大体资源分布情况。例如:服务器响应了多长时间,host是什么等等

chart:以表格形式告诉我们一个响应时间的分布情况。

notes:已经很清楚了,点击之后自己可以对该请求记录一些东西,方便后续查看该接口的用途,可在overview中查看,如下图所示

4、绿色区(上述该api的服务器的响应内容(只有在请求中选择content时才可以看到响应内容))

绿色区展示的是请求相应内容。同样,是点击导航栏会展示响应内容的详细情况。

header:响应的头信息

text:文本形式展示响应内容

hex(16进制)和compressed(压缩)一般不予查看

json:以json格式查看响应内容内容,简单明了

json text:将json格式的内容展开书写

raw:详情内容的详细情况

二、charles的工作原理

简单来说Charles的工作原理如下图

三、过滤请求

1、filter功能过滤请求

在Structure和Sequence中找到filter,直接输入搜索关键字

 2、find in session

点击Edit-Find-Text to find-输入关键字,点击find按钮

 3、修改include的域名

Charles 的菜单栏选择 “Proxy”->”Recording Settings”,然后选择 Include 栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了,端口号可以不写,只要选择protocol,host就可以了,注意Host中不要写protocol,否则报错

4、Focus过滤

选择需要的请求包,右键-Focus

 四、抓取https包、手机包,以及乱码处理

Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码。举个例子,如果没有做更多设置,Charles抓取https://www.baidu.com的结果如下

 

 解决办法

1、在Charles菜单栏中选择Help -> SSL-Proxying -> Install Charles Root Certificate,将证书安装到本地,注意这里需要双击证书设置证书被始终信任,不然默认是未信任的

2、在Charles菜单栏中选择Help -> SSL-Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser,弹出窗口会有IP地址和端口号,提示内容为,在设备中先设置好代理,其中ip为红色横条显示的区域,端口为8888,然后通过设备的默认浏览器(这里是safari)输入chls.pro/ssl访问,即可安装证书。输入chls.pro/ssl回车后便会提示安装证书

3、安装完证书后,还需在Charles要配置下所需要抓包的https路径,在Charles菜单栏中选择Proxy -> SSL Proxy Settings,然后勾选Enable SSL Proxying,然后添加一个路径,其中Host是需要访问路径的域名,端口默认为443:

注意:要抓手机app的包,手机配置好代理后,能连接到Charles,但是手机无法上网。

原因:Charles开启了White list

解决方式:关闭White List;Tools-->White List

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值