一、Fiddler
四大应用:1、接口测试和接口调试(没有接口文档)
2、精准定位前后端bug
3、弱网测试
4、网络挟持和线上调试
fiddler的下载安装及证书生成器
官网下载:https://www.telerik.com/fiddler
![](https://img-blog.csdnimg.cn/img_convert/48761335064fb032ac8ba8f60811e9cc.png)
证书生成器(FiddlerCertMaker.exe):为了抓取https协议的包
fiddler抓包原理
![](https://img-blog.csdnimg.cn/img_convert/b8f54bd314e3f31972748380666caa49.png)
3.fiddler重要功能
(1)导出包
![](https://img-blog.csdnimg.cn/img_convert/e07db41956ed7d0e6f926d6828a1aa94.png)
(2)隐藏连接通道包,隐藏304的包
![](https://img-blog.csdnimg.cn/img_convert/3fb59bb39196ce54a901a1b61ad762e6.png)
Host为Tunnel to的是通道包
![](https://img-blog.csdnimg.cn/img_convert/8b22e9c602bc85df032836b6f72b45c7.png)
(3)设置断点
![](https://img-blog.csdnimg.cn/img_convert/a63a6c0fedaf03c17e8a7ec615a9fbc5.png)
点击before requests,下方会出现一个红色的按钮
![](https://img-blog.csdnimg.cn/img_convert/d93e4edc4ab6ef10fc3057e439479059.png)
![](https://img-blog.csdnimg.cn/img_convert/b55760f209a418f9ff77fb97e829eb8f.png)
(4)设置
![](https://img-blog.csdnimg.cn/img_convert/dc8a20853d76c6606362af85ced3d7d4.png)
(5)菜单栏
![](https://img-blog.csdnimg.cn/img_convert/7a7bb2de9d59661b77b975e3e99b3713.png)
4.如何抓取想要的包
(1)设置过滤器
![](https://img-blog.csdnimg.cn/img_convert/c0ea8bd770970990a9c8da6ec1e30556.png)
(2)有缓存时,客户端不会访问服务器,导致部分包抓不到
解决办法:在浏览器页面按shift+F5,清空缓存后刷新,此时可抓到所有请求的包
(3)确定哪个包是自己想要的
先清空不要的
![](https://img-blog.csdnimg.cn/img_convert/124a9d3a8cd19bd93f0088758a2d35fd.png)
查看剩下的包,确定想要的包
![](https://img-blog.csdnimg.cn/img_convert/f8b41edfc6612f181feb64c63c2d2192.png)
5.抓包后通过jmeter做接口测试
(1)请求方式及地址
![](https://img-blog.csdnimg.cn/img_convert/802aa6aaff1dd68e0adcb3ee6ca611e6.png)
(2)入参内容
![](https://img-blog.csdnimg.cn/img_convert/53e449327fea04b95a3b985e8daa126f.png)
(3)请求头
6.如何定位前后端的bug
(1)查看请求的参数是否有误(结合接口文档查看),若有问题,说明是前端的问题
(2)若参数没有问题,查看后端返回值,返回值有问题,则是后端的问题
7.fiddler做弱网测试
![](https://img-blog.csdnimg.cn/img_convert/e3e6ca0bd5d054514644924fd327e3bc.png)
8.网络挟持和线上调试
![](https://img-blog.csdnimg.cn/img_convert/67d52481621239939521730f3c87af74.png)
![](https://img-blog.csdnimg.cn/img_convert/cfa37daa57c8101c96b79dd999c4018f.png)
![](https://img-blog.csdnimg.cn/img_convert/6735d4a6d40120dcf7f69584a2890dcb.png)
![](https://img-blog.csdnimg.cn/img_convert/9c5deb269efe2578d4d7209dae9a9bee.png)
若没有其他问题,就可以发生产环境
9.fiddler抓APP的包
(1)抓取https协议的包
![](https://img-blog.csdnimg.cn/img_convert/7fb1806b143915646a09c050fad22221.png)
若无法抓到https的包,重置证书后重启再进行抓包
![](https://img-blog.csdnimg.cn/img_convert/c3bae7a461fc01b147a42e7825bcc458.png)
(2)抓取APP的包
a.手机和电脑在同一网段
b.修改手机设置--找到网络--修改网络--修改服务器主机名为电脑的ip,端口为fiddler的监听端口
![](https://img-blog.csdnimg.cn/img_convert/1ef067dcae67bd31ad11f3ab20e9ce1e.png)
c.在手机上安装根证书:访问【ip:端口号】例如--192.168.0.8:8888
若手机连接失败,需设置以下选项,设置完成后重启fiddler
![](https://img-blog.csdnimg.cn/img_convert/122373aa4f5751ef499371b6301c0d8f.png)
在手机上下载根证书并安装
![](https://img-blog.csdnimg.cn/img_convert/140ba5d28a3991da08bd91e001d4790f.png)
d.查看是否抓包成功
(3)抓包报错
a.代开浏览器报错:载入时发生错误
解决办法:
二、Charles(了解)
Charles介绍、安装、破解、汉化
跨平台的抓包工具:windows、linux、mac;支持按域名或者接口的方式查看报文;弱网测试可直接选择网络类型
基于http、https协议的代理服务器
官网下载:https://www.charlesproxy.com/download/
启动慢、运行半小时会强制关闭,破解后可解决该现象
Charles也可汉化,需要中文汉化包
Charles抓包工具原理
![](https://img-blog.csdnimg.cn/img_convert/bb6e0940bd7dd13bdff66498b84dfd25.png)
如何设置代理及代理端口
![](https://img-blog.csdnimg.cn/img_convert/d08b7d78f83ea62c087eb8343e62c9f2.png)
认识Charles
(1)设置
![](https://img-blog.csdnimg.cn/img_convert/e9fb1595e7dbf2ef5a48217815a26d8e.png)
(2)过滤器
过滤需要展示的域名的包
![](https://img-blog.csdnimg.cn/img_convert/82f8d9f4cc0732667968da12a3c7cfef.png)
(3)访问控制:控制哪些IP允许访问Charles,默认本机可访问
4.Charles抓包实践
(1)如何精准抓取需要的数据报文
(2)抓取到基于https协议的数据报文
a.安装SSL根证书
![](https://img-blog.csdnimg.cn/img_convert/a376cb33ca4c390dba03ddc9850963d4.png)
![](https://img-blog.csdnimg.cn/img_convert/506e6e07bb9ad4f22f89afbd9716bd9f.png)
b.设置HTTPS代理配置
![](https://img-blog.csdnimg.cn/img_convert/7b8ca404bd3bb8189f3096a0d624d916.png)
(3)抓取APP的数据报文
a.手机和电脑在同一网段
b.设置手机的代理(与fiddler步骤一致)
c.下载并设置手机的根证书,手机访问:chis.pro/ssl
(4)网络挟持和篡改,mock数据
线上调试
a.针对需要的请求设置断点
右键需要的请求--勾选breakpoints
![](https://img-blog.csdnimg.cn/img_convert/3f36b455da2885bae2a567c37aba0f03.png)
b.在proxy--breakpoints settings中配置断点的设置
双击该请求可进行设置
![](https://img-blog.csdnimg.cn/img_convert/21f01c6d10b9a41d2d7fac1cbcb0b238.png)
需要编辑请求时,勾选request;需要编辑响应时,仅勾选response,不勾选request
![](https://img-blog.csdnimg.cn/img_convert/869d0424738720d67a5025f920cf6445.png)
c.重新发送请求(刷新页面),然后篡改请求和响应数据
![](https://img-blog.csdnimg.cn/img_convert/183a3b62497f370ab86fde338141fdfc.png)
查看页面,修改完成
![](https://img-blog.csdnimg.cn/img_convert/0f57238b44858f18c415b317978faa1f.png)
(5)弱网测试
在proxy--throttle settings中设置
![](https://img-blog.csdnimg.cn/img_convert/ea3e863a3ae794d5ec1f9a92a3aabb75.png)
(6)定位前后端bug
a.响应数据与页面数据不一致--前端问题
b.响应数据不正确--后端问题