一、简介安装
Charles是一款代理软件,通过将Charles设置为代理服务,可以用Charles抓取请求数据和结果,也可以转发、伪造数据。Charles的主要特点有:
支持SSL代理,可以抓取分析HTTP和HTTPS请求。
支持流量控制,可以模拟慢速网络以及等待时间较长的请求。
支持AJAX和AMF调试,可以自动将json、xml或Flash Remoting、Flex Remoting信息格式化,方便查看。
支持网络请求转发,方便后端调试。
支持修改网络请求参数,支持网络请求的截获并动态修改。
与Fiddler相比,Charles拓展性更强、功能更强大。Fiddler支持Windows,而Charles支持Windows、Mac、Linux。
本篇文章详细介绍Charles的安装破解、PC端抓包、ios手机抓包、断点、弱网以及在Charles使用过程中常见的一些问题的解决方法。
(1)Charles下载
下载地址: Charles官网地址。根据需要的版本(Mac、Linux、Window),下载安装即可。
(2)获取注册码
a、注册码在线生成器:点击跳转。输入自定义注册名,点击生成注册码。

b、打开Charles,在Help/Register Charles… 弹框输入注册码的名字、key,点击注册。

c、出现以下弹窗,则证明注册成功:


二、PC端抓包
(1)安装证书
如图所示,导出证书。点击安装证书按钮,点击下一步即可。证书存储在 受信任的根证书颁发机构 或 受信任的发布者 都行。

证书安装成功后,可在电脑设置搜索 管理用户证书查看。

(2)配置Charles代理
在Proxy/SSL Proxying Settings 配置代理如图。Host :*,Port:443 或 *。一定要把选项勾上!这样配置可以解决抓取不到https和接口返回的乱码的问题。

(3)抓包
如果以上配置都配好了,则可以在PC端抓取 HTTP/HTTPS的接口了,如果还是抓不到包,可以看下Proxy下的三个开关是否打开。如图是都打开的状态。

如果三个开关都打开了,还是抓不到包,建议重启Charles!!
三、手机端抓包
以ios为例,安卓类似。
(1)前置条件
电脑和手机必须使用的同一网络。 验证是否在同一网络的方法:
a、手机WiFi详情,查看WiFi ip地址

b、电脑Win+R输入cmd,Ping wifi的ip地址,如图所示则证明处于同一网络。
·
(2)配置HTTP代理
a、查看Charles的ip和端口号:

b、手机端wifi详情,打开配置代理,选择手动。

c、输入对应的ip和端口后,点击保存。

(3)安装证书
前置条件是确保手机和电脑处于同一网络下后,再进行后面的操作。过程如下:
a、打开Charles会出现如下图的弹窗,第一个按钮是拒绝,第二个按钮是同意。弹窗的大致意思是已尝试从你手机连接Charles,如果你允许就点同意按钮。我们点击同意按钮,如果不小心点到拒绝或关闭弹窗,可以重启Charles,该弹窗又会出现。

Charles查看代理的手机ip:
如果没有出现上一步的弹窗,可以手动加入手机的ip。

b、手机浏览器输入:chls.pro/ssl ,打开出现下图弹窗,点击允许。如果手机端wifi代理配置正确,没有出现该弹窗,应该是电脑防火墙打开了,需要关闭电脑防火墙。

如果手机浏览器打不开chls.pro/ssl 网页,关闭wifi,浏览器输入:https://www.charlesproxy.com/assets/legacy-ssl/charles.crt 用数据直接下载证书。
c、手机 设置-通用-VPN与设备管理 查看已下载的证书,点击证书进行安装。

d、安装成功后,在手机 设置-关于本机-证书信任设置 查看已安装的证书,并打开开关。

(4)抓ios端的包
完成上述配置,就可以抓取ios手机浏览器+App的http/https请求。
四、Charles常用方法
(1) 弱网测试
Charles的Proxy/Throttle Settings设置弱网参数。节流预设可以选择系统配置好的参数,也可以点击选项自定义编辑。

开启弱网后主页的小乌龟会高亮,可以再次点击进行关闭/开启弱网。

(2)断点
a、Charles的Proxy/Breakpoints Settings打开添加断点弹窗。

b、填写接口信息:
请求方式选择get/post
协议类型可以选择http/https
host:域名
port:端口可空
query:可空
request和response可单选,也可多选

c、拦截接口响应信息并编辑(以response为例,request同理)。
Charles断点拦截接口成功后如图所示,点击Edit Response可以编辑接口返回信息,然后再点击Execute完成,即可将编辑的响应数据在前端展示。接口一般都有超时处理,所以编辑响应信息动作要快,否则前端会提示超时,修改接口响应信息也会修改失败。

d、快捷方式断点
选中断点的接口,右键,点击Breakpoints可快捷断点。

e、开启断点后Charles主页图标也会高亮,点击可进行关闭/开启。

五、Charles抓包常见问题
(1)使用过Charles抓包,关闭Charles后电脑浏览器提示无网。

解决方法:
方案一、打开Charles,后台运行。网络恢复正常。
方案二、关闭电脑的代理,网络恢复正常。

(2)可以抓PC端的包,但抓取不到手机端的包,手机wifi代理配置无误。
**解决方法:**查看电脑的防火墙是否打开,关闭即可。

(3)手机已连接WiFi,无网。
解决方法:
方案一:PC端打开Charles,网络恢复正常。
方案二:把上述的 三 /(2)/b 步骤中的http代理关闭,网络恢复正常。

(4) 接口返回乱码。
解决方法:
vmarg.5=-Dfile.encoding=UTF-8
找到Charles安装目录,修改Charles.ini配置文件,如图所示新增:vmarg.5=-Dfile.encoding=UTF-8。然后重启Charles!


2万+

被折叠的 条评论
为什么被折叠?



