受不了Fiddler经常奔溃?试试用Charles吧

 

一、简介

  1. Charles是一款Http代理服务器和Http监视器,当移动端在无线网连接中按要求设置好代理服务器,使所有对网络的请求都经过Charles客户端来转发时,Charles可以监控这个客户端各个程序所有连接互联网的Http通信。

    Charles 主要的功能包括:

    1)截取 Http 和 Https 网络封包。

    2)支持重发网络请求,方便后端调试。

    3)支持修改网络请求参数。

    4)支持网络请求的截获并动态修改。

    5)支持模拟慢速网络。
     

  2. 官网下载地址:https://www.charlesproxy.com/

二、设置代理

菜单栏上选择“代理—代理设置,

填入代理端口xxxx

勾选启用透明HTTP代理(既让客户端感知不到使用了代理)

 

 PC抓包只需要点击上方的代理—windows代理即可

 

如果只想看手机的包,可以关闭此项。

需要注意的是,手机连接charles的代理需要经过PC端的同意。

如果一不小心点错了拒绝也没关系,还有后悔药可以用:菜单栏-代理-访问控制设置,这里可以手动添加允许访问的设备ip

如果嫌每次都允许太麻烦,也可以直接添加0.0.0.0/0 允许所有设备的ip接入。

三、如何抓https

1、电脑

charles客户端下载SSL证书:帮助—SSL代理—安装charles证书

 

      将所有的证书都放入下列存储—受信任的根证书颁发机构—下一步—完成

设置ssl代理:

 

启用SSL代理(避免抓包内容乱码),添加主机*,表示所有站点都代理,端口443

 

2、手机端

手机端连接电脑同个局域网,配置代理后,访问chls.pro/ssl,下载证书文件

小米手机等无法直接安装证书的,可以下载微软的edge浏览器手机版,安装后直接浏览器访问chls.pro/ssl即下载可安装证书。

(如果你只想看到手机上的访问,电脑的chrome全部不捕获,可以使用扩展工具的方法,使用Host Switch Plus 这个host管理工具,暂时避免,可以让你更集中)

 

四、常规功能

从左到右分别为:

(1)清除当前会话

(2)停止记录

(3)开始限流/停止限流

(4)开始断点/停止断点

(5)根据所写内容撰写新请求

(6)重发选定请求

(7)验证

(8)工具

(9)设置

 

1、显示模式:有结构和序列两种模式

(1)结构模式:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

 

(2)序列模式:可以看到全部请求,这里的结果以数据请求的顺序来显示,可以根据时间、大小等自由排序

 

2、模拟网速功能

在线上环境通常有些因为网速慢导致的bug,在本机无法重现,那时候就很抓瞎,模拟网速功能支持对带宽、利用率、往返延迟、字节进行配置,并且支持3G/4G或者其他网络模式。

上方工具栏的代理—限流设置—启用限流,或者直接点击工具栏的小乌龟

3、过滤设置

(1)软件下方的过滤可以进行简单的过滤

结构模式下只能过滤某个域名

序列模式可以过滤某个路径

 

(2)上方工具栏的代理—记录设置—包括—添加

可以对网络请求进行过滤。

然后填入需要监控的协议,主机地址,端口号等。这样就可以只截取目标网站的封包了。

4、撰写请求

选中某个请求,点击工具栏的钢笔按钮,即可对该请求进行编辑和执行,功能类似postman,但是更加方便,不用费劲复制url和参数。

ps:撰写执行的记录在最下方(既按时间最新)。

 

5、重发

钢笔按钮右边的重发按钮既将原有请求原封不动地重新执行一次。

而使用工具中的高级重发,可以进行一定程度的并发请求。

五、必备技能之重写(rewrite)和映射(map)

charles可以和fiddler相媲美的核心工具:

1、重写

顾名思义,既对请求或者响应的数据进行重写(修改)。

可以对请求和响应进行如下操作:

添加、删除、修改标头(header),

添加、删除、修改查询参数,

修改host、url、响应状态、正文

首先在左侧添加规则名称,选中新建的规则,右侧添加位置(既需要修改的接口路径),下图为修改APP启动配置这个接口:

然后添加需要执行的重写动作,如下图就是修改接口的查询参数,匹配所有version的值,将其修改为47001,则任何版本APP启动都将获得47001这个版本的配置:

2、远程映射

远程映射用于将请求地址重定向到其他环境,例如下图则是将所有该路径的请求都重定向到fx100.6这个环境

 

3、本地映射

其实就是使用本地文件来mock请求的结果

 

六、右键菜单

charles的右键菜单同样功能强大,可以自己摸索一下。

 

PS:

有时候抓的包太多了(例如放着不关太久),记录太多也容易导致charles变卡,需要限制一下charles记录的条数:

可以在代理-记录设置里面限制记录历史,超过最大请求的,旧的请求就会被丢弃

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值