轻松上手Charles---一个简单的抓包工具

目录

Charles 主要的功能

Charles操作步骤

Chales映射

Charles抓包工具断点修改返回内容mock数据测试



Charles 主要的功能

截取 Http 和 Https 网络封包。

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

支持修改网络请求参数。

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

支持模拟慢速网络。

Charles操作步骤

(1)下载Charles

先安装配置好Java环境,官网下载安装Charles:https://www.charlesproxy.com/download/

(2)Charles代理设置

接下来打开Charles的代理设置:Proxy->Proxy Settings,设置一下端口号,默认的是8888,这个只要不和其他程序的冲突即可,并且勾选Enable transparent HTTP proxying。

(3)在手机设备、模拟器或者远程浏览器上设置代理,抓取手机设备上的请求包(手机和电脑必须在同一个局域网内,并关闭电脑防火墙、其他代理或者翻墙软件)

第一步:在手机wifi 上设置代理 -> 长按无线网络-->修改网络-->高级选项-->代理 手动-->手动输入输入IP、端口号

服务器IP:PC机器的IP

端口号:8888

(4) 安装证书

第三步:抓取https数据需要在手机上安装证书,HTTPS的抓包需要在HTTP抓包基础上再进行设置

如果我们需要在iOSAndroid机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。

以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤:

Help -> SSL proxying -> Install charles root certificate on a Mobile Device or remote browser…

出现弹窗得到地址chls.pro/ssl

在手机自带的系统浏览器输入地址chls.pro/ssl,出现证书安装页面,点击安装,手机设置有密码的输入密码进行安装。安装完证书后,就可以截取手机上的 Https 通讯内容了。不过同样需要注意,默认情况下 Charles 并不做截取,你还需要在要截取的网络请求上右击,选择 SSL proxy 菜单项。

注意2:iOS 10.3系统,需要在设置→通用→关于本机→证书信任设置里面启用完全信任Charles证书
 

Chales映射

Chales映射可以实现请求网址的转换

上面是源地址,下面是要映射到的目的地址:

Charles抓包工具断点修改返回内容mock数据测试

在测试过程中,往往需要让服务器返回指定的内容,测试一些特殊情况。

例如列表内容为空、数据异常的情况等。如果通过操作服务器配合构造相应的数据会比较麻烦,甚至不好构造数据。

此时,可以使用Charles的断点功能来达到我们的目标。

1、在structure窗口,在要打断点的数据右键选择“Breakpoints”

2、在对目标服务器进行访问,此时会跳转到Breakpoints TAB页面,如下图:

 ​​

3、观察上面为修改请求,如果修改结果,点击"Execute",得到如下界面

可以在Edit Response中可以对服务器返回内容进行修改:

4、点击”Execute”进行提交即mock了内容。

注意:在mock结果的时候要注意时间,提前将需要mock的结果准备好,直接复制,否则容易超时,请求就会失败

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章