Charles 简介
![](https://img.haomeiwen.com/i3028840/10ae00a4d766e186.png)
Charles 是在 Mac 下常用的网络封包截取工具,在进行移动开发时,我们为了调试与服务端的网络通讯协议,常常需要截取网络封包来做分析。
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。
Charles 主要的功能包括:
1、抓取 HTTP 和 HTTPS 的请求和相应(最常用)
2、支持重发网络请求,方便后端调试
3、支持修改网络请求参数
4、支持网络请求的截获并动态修改
5、支持模拟慢速网络
Charles安装与破解
Charles安装
Charles 的安装非常简单,直接通过Charles官网安装最新版本即可。
Charles 是收费软件,可以免费试用30天。试用期过后,未付费的用户仍然可以继续使用,但是每次使用时间不能超过30分钟,并且启动时将会有10秒钟的延时。
Charles破解
根据在线破解工具,输入RegisterName(随意),点击生成注册码,打开Charles输入注册码即可。
Charles使用
Web端抓包配置
![](https://img.haomeiwen.com/i3028840/2c308da7f8965e55.jpg)
设置之后,即可开始抓浏览器网页请求,Charles 的界面中就可以看到源源不断的网络请求出现。到这一步截止可以抓取到网络请求,但是会有乱码问题,安装 Charles 证书并信任,解决乱码问题。需要在mac中的证书中找到Charles证书,修改信任为 始终信任。
![](https://img.haomeiwen.com/i3028840/4a741edf9ab46f22.png)
手机抓包配置
1、给手机添加代理。
2、下载证书,安装并信任。需要完全信任,关于本机 -> 证书信任设置 -> 打开Charles完全信任开关。
3、允许Charles开始抓包
![](https://img.haomeiwen.com/i3028840/5ffe51b3748c2c72.png)
![](https://img.haomeiwen.com/i3028840/41f0ae31a2fdf434.jpg)
![](https://img.haomeiwen.com/i3028840/62016eeb27c0922b.jpg)
![](https://img.haomeiwen.com/i3028840/a1966604155a5272.png)
![](https://img.haomeiwen.com/i3028840/24dd904af374d5c2.png)
模拟慢速网络
【stop/start throttling 、throttling settings】
在做移动开发的时候,我们常常需要模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。Charles 对此需求提供了很好的支持。
在Charles的菜单上,选择“Proxy”–>“Throttle Settings”项,在之后弹出的对话框中,我们可以勾选上“Enable Throttling”,并且可以设置Throttle Preset的类型。如下图所示:
![](https://img.haomeiwen.com/i3028840/4c880be500b07148.jpg)
修改网络请求内容
1、断点进入修改请求内容。【enable/disable breakpoints 、breakpoints settings】
有时候对于一些特殊请求在发往服务器之前想要修改一些参数,或者在服务器响应完成之后修改响应信息,此时可以使用Charles的断点功能,设置断点之后,当有网络请求的时候Charles会自动跳转到断点处,此时我们就能进行相关的修改。
在 Charles 的菜单上,选择 “Proxy”–>“Breakpoint Settings” 项,在之后弹出的对话框中,我们可以勾选上 “Enable Breakpoints”,并且可以设置需要进入断点的域名。如下图所示:
![](https://img.haomeiwen.com/i3028840/6da2adf92eba305d.jpg)
![](https://img.haomeiwen.com/i3028840/40c45596d4dafce3.jpg)
2、直接编辑请求参数
选中已经抓取到的请求,右击 -> Compose 进入编辑请求参数,编辑完之后执行请求。
![](https://img.haomeiwen.com/i3028840/ca01627d6e3ae6bc.jpg)
证书过期了,怎么处理?
证书过期了 则需要重置证书后再下载。
![](https://img.haomeiwen.com/i3028840/f2c1ed68e94618ed.png)
网友评论