Charles是mac上一款比较好用的抓包工具,那么我们什么情况下需要用到抓包工具呢?比如我想查看一个接口请求的参数、返回值,还有移动设备上的http/https请求。
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
主要功能
支持SSL代理。可以截取分析SSL的请求。
支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
支持重发网络请求,方便后端调试。
支持修改网络请求参数。
支持网络请求的截获并动态修改。
检查HTML,CSS和RSS内容是否符合W3C标准。
官网:https://www.charlesproxy.com/latest-release/download.do
下载好后,解压,将安装包拖到应用程序里,双击进行安装,打开Charles后会看到提示还有30天使用期限
没关系我们可以使用激活码!
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
参考:https://blog.csdn.net/qq_25821067/article/details/79848589
选择菜单---> help---> register..... ---->输入账号和key提交破解成功就可以正常使用啦!
视图 Structure 和 Sequence
设置为列表方法
设置->Preferences->Viewers
清除和暂停
清除是清除所有已经抓到的全部请求
暂停是停止抓取数据,保留之前抓取的数据
过滤 Focus
设置代理后,抓取到手机的各种请求,很多是不需要的,因此需要过滤下请求
选择需要的请求右键选择Focus
或者抓包列表底部filter输入需要查看的请求关键字
重复请求 Repeat/Advanced Repeat
tools→ Repeat/ Advanced Repeat (可做简单的并发压测)
repeat 单次重复请求
Advanced repeat 多次重复请求
如某个接口共需要请求20次,单次并发请求10个,设置如下
断言 Breakpoints
测试或者开发中有些场景,可能需要手动造很多数据才能发现问题,那么mock替换JSON返回值这个功能就非常实用了,右键请求url,选择Breakpoints,则默认添加该请求入接口断言列表
或者Proxy→Breakpoints Settings
添加需要断言的请求url如下:
设置断言成功后,重新发起请求,状态变为可编辑状态,进入请求参数or返回参数的修改
修改请求参数↓,设置成功后点击底部“Execute”进入下一步修改返回参数
修改返回参数如下,如title“年糕妈妈商城”需要修改成改成“AAAA”,直接在JSON Text中编辑
修改后如下:
最后放行“Execute”,如果是手机端发起的请求,mock修改后前端页面就会展示修改后的数据啦!是不是很方便!如果想界面测列表几十条数据的功能点,可以省去数据库或者后台造数据的时间,直接txt造几十条json数据就可以啦!(PS:修改参数手速要快哦~因为一般情况下,为了用户体验,大部分页面都会兼容一定时间内接口无响应,显示默认友好提示的空页面,所以替换的json可以事先在json编辑器中或者txt中编辑好,之后直接复制粘贴就可以啦~)
重定向 Map Remote
如果在测试过程中,需要切换host不同的环境来测试,那么替换host功能就可以实现,不需要手动再重新打包更改域名,打开Charles→Tools→Map Remote→点击ADD
如下如所示方式添加即可
网速模拟 Throttling
Proxy-Throttling勾选Enable Throttling启用网速模拟,可选择内置的一些带宽设置或自定义设置,保存后可以点击主界面的按钮开启/禁用慢网速功能
配置含义:
Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(字节)
以上都是Charles常用的基础功能, 其实还有很多其他更有趣功能,可自行摸索~Charles可以说是测试之路上排查问题找问题非常实用的工具啦!测试必备哦~
参考:macOS Charles 4.x版本的安装及使用(含破解激活)
macOS Charles 4.x版本的安装、激活以及软件功能了解
原文:https://www.cnblogs.com/kunmomo/p/10862284.html