Mac-charles
前言
在上网过程中,我们有时候也会想要截留电脑软件收发的数据包用来检查网络安全,这就需要一个网络封包分析工具。Charles Mac是一款用于HTTP信息抓包工具,可以快速有效的获得HTTP信息,非常利于开发者的网页开发和调试修改等! Charles Mac有着可视化的操作界面,非常利用编辑者的使用和调试!也可拿来截取一些想要的软件信息。
一、charles安装
1、下载
官网下载
2、安装
双击安装文件 (charles-proxy-4.6.3.dmg)
注意:1、可以根据提示信息,点击确定
2、安装过程中可以修改安装目录
二、charles组件介绍
charles组件介绍1
charles组件介绍2
主导航栏介绍
请求栏介绍
1、按域名显示接口请求数据
2、按接口请求时间显示数据
3、按域名进行过滤
请求数据栏介绍
1、接口请求数据
2、接口返回数据
三、charles设置
charles代理设置
1、设置代理端口,默认8888
2、点击ok
注意:如果不想抓取电脑端数据,可以取消勾选macOS proxy
charles访问控制
四、 客户端设置
客户端-MacOS代理设置
如果不在一台电脑,可以配置
系统偏好->网络->高级->代理->配置网页代理/安全网页代理
客户端-MacOS快捷代理设置
如果charles和被测软件系统在同一台电脑,可以使用快捷代理设置
客户端-android手机设置代理
手机访问浏览器,charles抓包如下
五、charles实战
问题分析
1、前端问题
2、后端问题
实施步骤
1、charles代理
2、客户端代理配置
3、操作客户端软件
4、分析请求数据
https抓包
需要安装ssl证书
macOS证书配置
1、help->ssl proxying->install Charles root Certificate
2、登录/系统->始终信任->好->添加
3、钥匙串访问->双击证书->始终信任->关闭
4、证书配置完成,可以抓取网页中https数据了
流量配置
测试丢包现象(网络不稳定情况):可靠性、稳定性如果不写100,会存在丢包现象
弱网测试实例
这个一般都对app进行测试,慢网情况,测试app是否闪退
下面例子是对macOS端页面测试
未设置慢网,请求接口时间为125ms
设置弱网后,5.34s
结果分析:
1、从时间分析(慢)
2、从页面展示状态(数据是否全)
断点调试及断点调试实例
可以修改请求数据,也可以修改返回数据
作用场景:用来构建异常的测试场景
1、右击接口链接,选择“Breakpoints”
2、在浏览器刷新对应接口的页面
3、此时会自动跳转到charles并显示出接口请求信息
4、点击“Edit request”,修改请求的信息,点击“Execute”
5、点击“Edit Response”
6、在数据格式栏中选择合适的现实格式,比如“json”
7、修改对应的数据,点击“Excute”
8、回到浏览器查看数据应该是修改之后的Response的信息
篡改数据,结果
应用场景举例
1、增加必填项为空,发送到服务器,看服务器是否进行校验
2、对服务返回的数据更改为操作失败(对应状态码),看前端是否处理,页面展示是否正确