使用whistle抓包实战

Posted IT界的测试混子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用whistle抓包实战相关的知识,希望对你有一定的参考价值。

使用whistle抓包实战

官方文档

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来重新构造发送请求。

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

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

以上是关于使用whistle抓包实战的主要内容,如果未能解决你的问题,请参考以下文章

whistle手机抓包

whistle抓包工具的使用介绍

whistle浏览器抓包(以火狐浏览器为例)

MAC工具手机抓包工具之 —— whistle

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~

10分钟教程,手把手带你安装使用抓包神器:Whistle ,内含精选爬虫专栏分享~~~