码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用whistle抓包实战


    使用whistle抓包实战

      • 官方文档
      • 安装
      • 启动
      • 浏览器挂上代理,开始抓包
      • 设置https抓包
      • 使用whistle mock数据
        • mock接口返回的status code
        • mock接口返回值response
      • 使用whistle 设置弱网
      • proxy代理设置。把请求转发到vpn
      • 使用whistle重发请求--Compose请求重发

    官方文档

    http://wproxy.org/whistle/

    安装

    需要先安装node.js

    npm install -g whistle
    
    • 1

    启动

    w2 restart
    
    • 1

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

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

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

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

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

  • 相关阅读:
    UNPV2 学习:System V IPC 章节学习问题记录
    大数据学长面试之OPPO面试题
    2.27线性模型
    sqlServer如何实现分页查询
    [附源码]计算机毕业设计基于springboot血库管理系统
    二维相位解包理论算法和软件【全文翻译- 质量分布图(3.3)】
    5G 3GPP全球频谱介绍
    realloc函数应用&IO泄露体验
    MySQL:12-Java中使用MySQL(JDBC)
    [笔记]vue从入门到入坟《四》HBuilderX Vue开发
  • 原文地址:https://blog.csdn.net/z_erduo/article/details/126678515
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号