在测试中,Charles其实是一款代理服务器,可以成为电脑或者手机的代理,然后截取和分析web请求达到分析抓包的目的。本文主要介绍了charles里面一些可以提高测试效率的强大功能。
本文主要内容:
- 抓包准备工作
- 请求重定向
- 流量控制
- 断点&请求参数替
- 重发请求
抓包准备工作:
- Charles 的官方网站(http://www.charlesproxy.com)下载最新版的 Charles 安装包。
-
安装成功后,charles菜单栏点击 Proxy -> Proxy Settings 设置本机端口, 默认8888,如下图
并点击Help -> Local IP Address 获取本机地址;手机端设置 -> WLAN -> 选择修改网络,手动设置代理,对应写上主机名和对应端口号。
-
安装SSL证书,这样才能截取和分析https请求。手机端用safari等浏览器打开chls.pro/ssl进行证书安装; 电脑端charles工具栏点击 Proxy> SSL Proxying Settings 进行设置,如下图
注: iOS手机需要在手机设置>通用>描述文件及设备管理,对证书进行信任
请求重定向
【经常使用】 可以将线上地址直接map(转发)到开发机上,不需要麻烦相关的同学改下发地址,大大提高测试效率。
操作:Tools -> Map Remote
注:https的默认端口是443,http的默认端口是80
过滤
-
Filter 栏中填入需要过滤出来的关键字,如下图
- Charles 的菜单栏选择 Proxy ->Recording Settings,然后选择 Include 栏,选择添加一个项目,然后填入需要过滤的协议,主机地址,端口号。这样就可以只截取目标网站的封包(适用于记录经常性的过滤包)
流量控制
用于模拟慢速网络或者高延迟的网络,以测试在移动网络下,应用的表现是否正常。
操作:Proxy->Throttle Setting,进行选择特定情况;或者使用主页面默认小乌龟,如下图
断点&请求参数替换
可以用于修改传递和返回得参数值,进行特殊情况的验证
操作:选中url,右键,break point ,然后重新发送改请求
重发请求
Repeat 功能可以简单地测试服务器的并发处理能力
操作: Tools -> Advanced Repeat, GET/POST请求都可以
Iterations代表要执行多少次,Concurrency表示并发数
参考文献