使用whistle抓包实战

本文详细介绍了如何使用Whistle进行HTTP抓包,包括安装、启动、设置HTTPS抓包、Mock接口返回状态码和响应内容、模拟弱网环境以及代理设置。通过实例展示了Whistle在前端开发中的应用,如测试异常状态码、构造Mock数据以及模拟网络延迟和速度。此外,还讲解了如何通过Whistle重发请求,用于测试特定场景。
摘要由CSDN通过智能技术生成

官方文档

http://wproxy.org/whistle/

安装

需要先安装node.js

npm install -g whistle

启动

w2 restart

在这里插入图片描述
在这里插入图片描述

浏览器挂上代理,开始抓包

● 使用switchyomega,新建情景模式,设置代理
switchyomega下载 https://proxy-switchyomega.com/download/

在这里插入图片描述
● 启用whsitle代理

在这里插入图片描述

● 抓到包啦

在这里插入图片描述

设置https抓包

● 输入
w2 ca
● 弹出正式信任设置,信任次操作

在这里插入图片描述

● 点击Https->勾选Capture Tunnel CONNECTs

在这里插入图片描述

● 浏览器访问百度,输入whilstle

在这里插入图片描述

● 设置过滤信息。抓到了https包啦

在这里插入图片描述
在这里插入图片描述

使用whistle mock数据

案例:雪球抓包(因为它可以抓到https的请求。感谢雪球)

找一个方便观察的接口,就这个吧。热股榜
https://stock.xueqiu.com/v5/stock/hot_stock/list.json?

在这里插入图片描述

mock接口返回的status code

● Rules中增加一个规则如下
https://stock.xueqiu.com/v5/stock/hot_stock/list.json replaceStatus://500

在这里插入图片描述

● 刷新雪球的页面,热榜这一块没有数据啦。并且接口返回的status code为500

在这里插入图片描述

● 实际上,请求的结果是正常返回的。只是返回给前端的statusCode被修改了。

在这里插入图片描述

方便用来测试一些异常的状态码,前端给出的反应是否合理等。例如一些需要等待的过程,如果接口报错了,一直卡在加载中,就不太友好啦。

更多详情查看官网:
http://wproxy.org/whistle/rules/replaceStatus.html

mock接口返回值response

resMerge
修改响应类型为application/json或text/javascript的响应内容,其功能是通过resMerge://jsonData指定的JSON对象覆盖响应内容里面的JSON对象。
配置方式:
pattern resMerge://filepath

● 设置规则
https://stock.xueqiu.com/v5/stock/hot_stock/list.json resMerge://{hot_stock_api.json}
在这里插入图片描述

● copy接口的返回值。在values中添加一个hot_stock_api.json,把接口返回的json粘贴在此处,修改其中的字段。例如修改第一个tiems中的 name、value。保存

在这里插入图片描述

● 刷新雪球页面。mock成功啦。

在这里插入图片描述

● 也可以这样配置
https://stock.xueqiu.com/v5/stock/hot_stock/list.json resMerge://(data={}&error_code=0&error_description="hhhh")
在这里插入图片描述

● 刷新页面。查看接口返回

在这里插入图片描述

在我需要测试一些异常的数据,例如金额很大、很小的情况下,就可以用mock的方式来构造数据看前端的展示情况啦。

resMerge://后面也可以放一个本地的路径。如果需要构造很多数据的时候,也可以构造一个多数据的json,引用本地的json文件。

更多详情查看官网:
http://wproxy.org/whistle/rules/resMerge.html

使用whistle 设置弱网

resDelay
设置延迟响应的时间(单位:毫秒),配置方式:
pattern resDelay://timeMS

● 设置规则
https://stock.xueqiu.com/v5/stock/hot_stock/list.json resDelay://2000

在这里插入图片描述

● 刷新看雪球的页面

在这里插入图片描述

resSpeed
设置响应速度(单位:kb/s,千比特/每秒),配置方式:
pattern resSpeed://kbs

● 设置规则
https://stock.xueqiu.com/v5/stock/hot_stock/list.json resSpeed://1

在这里插入图片描述

● 刷新页面

在这里插入图片描述

resDelay可以帮我们设置时间的延迟,resSpeed可以帮我们设置每秒返回的kbs。同样可以帮助我们模拟,弱网状态下,前端的一些反应状态。

更多详情可以查看官网:
http://wproxy.org/whistle/rules/resSpeed.html
http://wproxy.org/whistle/rules/resDelay.html

proxy代理设置。把请求转发到vpn

● 在rules中设置规则,把所有请求转发到vpn端口

在这里插入图片描述

● 访问一下google试试,输入pytest,搜索

在这里插入图片描述

● 查看抓包信息。哦吼,抓到啦

在这里插入图片描述

● 如果我们把这条规则注释掉会怎么样?

在这里插入图片描述

● 当然是访问不了google啦

在这里插入图片描述

如果是公司代理,设置规则转发到公司的代理上。再尝试访问公司的内部网站,看能不能访问到。

更多代理设置可以查看官网:
http://wproxy.org/whistle/rules/proxy.html
愉快抓包把。

使用whistle重发请求–Compose请求重发

● 选中一条请求,点击Compose

在这里插入图片描述

● 修改请求参数,重新发送请求
在这里插入图片描述

● 重新发送请求成功

在这里插入图片描述
当我们需要传一些异常的数据,前端做了限制,无法输入,我们也可以使用Compose来重新构造发送请求。

当然工具的使用有一定的局限性。例如,请求参数加密的情况下,我们需要额外把参数加密之后再传过去。

如果你有兴趣,可以看看官网的插件开发。自己开发一个插件来支持这种功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值