Charles——收费——需要破解(不用担心因为语言问题不会使用)可以抓取手机端的包,手机可以设置代理
Charles是目前强大、流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持,其功能强大到包括:
1. 支持SSL代理,可以截取分析SSL的请求
2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
5. 支持重发网络请求,方便后端调试。
6. 支持修改网络请求参数。
7. 支持网络请求的截获并动态修改。
8. 检查HTML,CSS和RSS内容是否符合W3C标准
准备篇
安装
安装包解压 —— x64——charles安装——选择路径——安装——破解(原包Charles.jar复制到安装后的文件夹内) ——汉化(安装包内有汉化补丁选择中文版本)
电脑抓包
- 浏览器设置代理,在(设置——配置访问互联网的代理服务器,选择手动设置代理)浏览器设置了代理——代理服务器(Charles)——dns——服务器——返回代理服务器——浏览器
-
配置访问互联网的代理服务器,选择手动设置代理——http代理服务器ip地址(本机127.0.0.1)——端口号(Charles端口号,在Charles代理设置上会有)——勾选(为所有协议使用相同代理服务器)
抓HTTPS包需要下载证书
Charles——帮助——ssl代理——保存Charles根证书 选择路径必须是根目录下,不写名字,到保存路径下找到.pem的文件,再到浏览器——选项——查看证书——导入.Pem——下载证书弹窗,勾选信任再确认——确认
Charles打开——代理——SSL代理设置——勾选启用SSL代理——添加—— 主机可不填(补贴写就是默认所有https请求),端口写443
完成以上操作就可以进行HTTPS抓包了,一个证书可以在多个浏览器进行设置
手机抓包
- 电脑防火墙要关闭,
- 手机和电脑要在同一个网络
- 设置手机代理(具体看手机截图)
- 电脑端Charles会收到链接请求(deny拒绝allow允许)如果上一步选择了拒绝,可以在Charles——代理——访问控制设置添加上手机的IP地址就行(允许的情况下打开访问控制设置时就已经存在手机IP地址)
- 手机抓https包:需要安装证书,手机浏览器输入chla.pro/ssl下载证书,对于高版本的ios,需要在设置-通用-关于本机-信任设置里,把证书设为信任
-
手机浏览器输入chla.pro/ssl下载证书
-
ios需要设置
-
实战篇
1、随便点开一个APP或浏览器,抓去它的请求。
2、首先让我们先点下扫帚图标,清空之前记录。
3、在手机上使用下拉刷新操作或者在电脑端进行请求发送,观察Charles反应,可以看到网络请求的地址和类型等数据。
模拟弱网
代理——节流设置
不使用工具自带的配置的话可以自己填写各个参数的值
配置参数解析:bandwidth —— 带宽,即上行、下行数据传输速度
utilisation —— 带宽可用率,大部分modern是100%
round-trip latency —— 第一个请求的时延,单位是ms。
MTU —— 最大传输单元,即TCP包的最大size,可以更真实模拟TCP层,每次传输的分包情况
Releability —— 指连接的可靠性。这里指的是10kb的可靠率。用于模拟网络不稳定。
Stability —— 连接稳定性,也会影响带宽可用性。用于模拟移动网络,移动网络连接一般不可靠。
面板上的小乌龟图标也可以开启或者关闭节流设置
设置断点,篡改和伪造数据
1、选择你要设置断点的接口
2、右键选择 Breakpoints(断点)
3、断点的相关配置, Proxy ——>Breakpoint Settings(代理-断点设置)
4、双击刚刚已经设置的断点借口,进行设置
-
-
(1)把查询参数写“*”、(2)可修改请求(3)可修改响应
-
点击“确认”,重新再跑一下接口,当跑到设置断点的借口时,网页会暂停,这个时候charles进入断点
-
点击Edit Request(编辑请求) 修改请求参数。这里根据你要测试的数据来修改
8、修改好参数后,点击Execute (执行)。 另外 Abort (中止), Cancel (取消)
9、点击执行后,来到返回的页面,这个时候在Charles可以查看返回的数据。也可以对其进行修改,好了之后 点击 Execute
10、这个时候页面就可以执行完成啦,可以看到 修改过后的请求返回是什么效果,达到测试的目的。
高级重复
1、找到想法测试的接口选中
2、右键选择高级重复
3、编辑想要迭代次数和并发的线程点击确定