一篇文章带你精通Charles抓包!

一、简介安装

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,该弹窗又会出现。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/379c8dd58d5a4a7ba0791786ef839e50.png
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!
在这里插入图片描述
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kk_ojx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值