抓包工具Fiddler的常用操作

文章目录

  • Fiddler概述
  • Fiddler页面介绍
  • 常用功能介绍
    • 端口号的修改
    • 设置抓HTTPS数据
    • Fillder过滤请求数据
  • 接口相关
    • Fiddler中查看请求信息
    • Fiddler中查看响应信息
  • Fiddler模拟弱网测试
  • Fiddler模拟mock数据
  • Fillder篡改数据

Fiddler概述

fiddler是一款http协议调试代理工具,所谓代理工具就是客户端发送的http请求都得先经过fiddler,然后在转交给服务器

  • 查看请求和响应信息
  • 帮助定位前后端bug
  • 拦截请求数据,进行修改
  • 模拟接口请求数据
  • 模拟弱网测试

Fiddler页面介绍

打开fiddler页面,可以看到页面由菜单栏,工具栏,会话列表以及每个会话的请求和响应组成

在这里插入图片描述

在这里插入图片描述

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

清除会话,可以选择remove all删除全部会话,也可选择删除,可以选中一个或使用ctrl/shift配合选中多个,再点击delete
在这里插入图片描述

常用功能介绍

端口号的修改

在这里插入图片描述

设置抓HTTPS数据

fiddler默认是不能抓https数据,得先设置下

首次安装fiddler,点击菜单项Tools,再点击options,再点击https

在这里插入图片描述

勾中这三个选项,再点击Actions

在这里插入图片描述

再点击下列按钮,信任证书
在这里插入图片描述

弹出下列页面,点击yes和是即可

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

Fillder过滤请求数据

我们每次抓请求的时候,都会抓到很多请求数据,但是我只想要抓取我想要的请求数据,这时候就要进行过滤,将不想要的请求数据过滤掉

经常使用host过滤

在这里插入图片描述

配置完发现只抓到baidu.com的数据,别的数据都被过滤掉了

在这里插入图片描述

在这里插入图片描述

还有个过滤比较常用,就是过滤图片,css,js等静态文件

在hide if url contains 加入一行过滤的代码,该代码是正则表达式的写法

REGEX:(?insx)/[^?/].(css|ico|jpg|png|gif|bmp|wav|js|jpeg)(?.)?$

在这里插入图片描述

接口相关

接口:是前后端交互的一个通道

协议名://ip或域名:端口号/带层次的资源路径?查询字符串

如:http://127.0.0.1:8080/user/login?username=abc&password=123

请求方式:get,post,delete,put

抓一个接口重点关注什么?

  • 接口地址url
  • 接口参数
  • 请求方式
  • 响应内容

Fiddler中查看请求信息

选中要看的接口,再点击页面右侧的insperctors,点击raw可以看请求的文本信息

在这里插入图片描述

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

  • headers:请求的header头信息
  • textview:参数的文本信息
  • syntaxview:加强版参数的文本信息
  • webforms:显示请求的get请求的参数或post请求的body
  • hexview:请求信息的十六进制
  • cookie:请求携带的cookie信息
  • raw:以纯文本的形式显示整个请求信息
  • json:如果请求body是json格式,就用分级的json来显示
  • xml:如果请求的body是xml格式,就用分级的xml树来显示

Fiddler中查看响应信息

跟看请求一样,重点关注raw信息

在这里插入图片描述

  • transformer:显示响应的编码信息
  • headers:响应的header头信息
  • textview:文本显示响应body信息
  • syntaxview:textview的加强版
  • imageview:显示响应的图片
  • hexview:十六进制的方式显示响应信息
  • webview:响应在浏览器中的预览效果
  • auth:显示响应header的authorization和poxy-authorization信息
  • caching:显示此请求的缓存信息
  • cookies:显示此请求的cookie信息
  • raw:以纯文本的形式显示整个响应内容
  • json:如果响应body的格式是json形式,则以分级的json形式来展示body

Fiddler模拟弱网测试

平时坐地铁,火车等时候,可能会出现因为网络原因导致的闪退,数据丢失等问题,所以模拟弱网测试是为了验证系统有没有对网络异常情况进行兼容处理

fiddler模拟弱网很简单,只需要打开下列的限速开关即可
在这里插入图片描述
也可以自行更改配置,设置网速

在这里插入图片描述
按ctrl+f搜索m_SimulateModem,可自行修改默认值

request-trickle-delay代表每KB的数据被上传时会被延时多少毫秒
response-trickle-delay则对应下载时每KB的数据会被延时多少毫秒

在这里插入图片描述

修改完保存后,只需再打开限速开关即可

Fiddler模拟mock数据

mock测试就是在测试过程中,对于某些不易构造或不易获取的对象,用一个虚拟的对象创建以便与测试,这种称为创建假数据

比如我们要测一系列功能,但是后续的功能都依赖第一个接口,但是第一个接口未开发完,此时我们可以mock测试

点击AutoResponder,勾选Enable rules

在这里插入图片描述

在本地新建一个文档,保存接口的返回值
在这里插入图片描述

在这里插入图片描述

发现访问该接口,可以返回自定义的值

在这里插入图片描述

Fillder篡改数据

一般系统前端会对数据进行一些校验,但是我想绕过前端的校验看看后端是否对数据进行了相同的校验功能,比如一个金钱输入框,前端限定不能超过100元,但是我想绕过前端这层校验,用大于100的金钱数去访问后端,此时就需要篡改数据

选择好对应的请求后,添加断点,在fiddler下方的命令窗口, bpu 接口url,回车,则添加断点成功

在这里插入图片描述
然后点击工具栏中的Replay重新发送请求
在这里插入图片描述

发现该接口发送请求成功,但是未有响应结果
在这里插入图片描述

修改完数据,点击Run to Completion继续执行

在这里插入图片描述

去除断点:在输入框输入bpu,直接回车,即可去除成功

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/268794.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis的那些事(二)——布隆过滤器

什么是布隆过滤器? 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。 布隆过滤器实现原理 布隆过滤器是一个bit向量或者说是一个b…

【linux提权】利用setuid进行简单提权

首先先来了解一下setuid漏洞: SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只…

构建深度学习模型:原理与实践

构建深度学习模型:原理与实践 引言 随着人工智能技术的飞速发展,深度学习已经成为当今最为炙手可热的研究领域之一。深度学习通过模拟人脑神经网络的工作原理,使得计算机能够具备更强大的学习和识别能力。本文将深入探讨深度学习的基本原理…

【模式识别】探秘分类奥秘:K-近邻算法解密与实战

​🌈个人主页:Sarapines Programmer🔥 系列专栏:《模式之谜 | 数据奇迹解码》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌌1 初识模式识…

Unity网格篇Mesh(二)

Unity网格篇Mesh(二) 介绍4.生成额外的顶点数据未计算法线计算法线没有法线vs有法线错误的UV坐标Clamping vs warpping正确的UV纹理,平铺(1,1) vs 平铺(2,1)凹凸不平的表面,产生了金…

XPM_CDC_SINGLE(UG974)

Parameterized Macro: Single-bit Synchronizer(参数化宏:单比特同步器) MACRO_GROUP: XPMMACRO_SUBGROUP: XPM_CDCFamilies: UltraScale, UltraScale 1、 Introduction(介绍) 此宏将一个一位信号从源时钟域同步到目…

UG凸起命令

凸起命令是拉伸命令的补充,可以方便的对曲面进行拉伸切除。 当端盖中几何体类型选择默认的截面平面的时候,相当于拉伸命令 当端盖中几何体类型选择凸起的面的时候,相当于拉伸其实曲线变为选择曲线在凸起面的投影曲线,然后基于凸起…

ios 之 数据库、地理位置、应用内跳转、推送、制作静态库

第一节:数据库 常见的API SQLite提供了一系列的API函数,用于执行各种数据库相关的操作。以下是一些常用的SQLite API函数及其简要说明:1. sqlite3_initialize:- 初始化SQLite库。通常在开始使用SQLite之前调用,但如果没有调用&a…

【金猿CIO展】乖宝宠物CIO王天刚:以数据为核心,转变业务模式

‍ 王天刚 本文由乖宝宠物CIO王天刚撰写并投递参与“数据猿年度金猿策划活动——2023大数据产业年度趋势人物榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 随着社会经济的快速发展,“宠物经济”悄然崛起,宠物在家中的角色地位有时…

w15php系列之基础类型

一、计算100之内的偶数之和 实现思路 所有的偶数除2都为0 代码实现 <?php # 记录100以内的偶数和 $number1; $num0; while($number<100){if($number%20){ $num$number;}$number1; } echo $num; ?>输出的结果 二、计算100之内的奇数之和 实现思路 所有的奇数除…

智能优化算法应用:基于战争策略算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于战争策略算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于战争策略算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.战争策略算法4.实验参数设定5.算法结果6.…

XxIJob入门-示例

一、部署 xxlJob (一) 下载地址&#xff0c; git clone 到本地。 http://gitee.com/xuxueli0323/xxl-job https://github.com/xuxueli/xxl-job (二) 插入 xxl_job 的sql脚本&#xff1a; 在项目的 /xxl-job/doc/db/tables_xxl_job.sql &#xff0c;找到sql脚本&#xff0c…

React 路由

引言 在我们之前写的页面当中&#xff0c;用我们的惯用思维去思考的话&#xff0c;可能会需要写很多的页面&#xff0c;例如做一个 tab 栏&#xff0c;我们可能会想每个选项都要对应一个 HTML 文件&#xff0c;这样会很麻烦&#xff0c;甚至不友好&#xff0c;我们把这种称为 …

【Java动态代理如何实现】

✅Java动态代理如何实现 ✅JDK动态代理和Cglib动态代理的区别 ✅拓展知识仓✅静态代理和动态代理的区别✅动态代理的用途✅Spring AOP的实现方式&#x1f4d1;JDK 动态代理的代码段&#x1f4d1;Cglib动态代理的代码块 ✅注意事项&#xff1a; 在Java中&#xff0c;实现动态代理…

使用PE信息查看工具和Dependency Walker工具排查因为库版本不对导致程序启动报错的问题

目录 1、问题说明 2、问题分析思路 3、问题分析过程 3.1、使用Dependency Walker打开软件主程序&#xff0c;查看库与库的依赖关系&#xff0c;找出出问题的库 3.2、使用PE工具查看dll库的时间戳 3.3、解决办法 4、最后 VC常用功能开发汇总&#xff08;专栏文章列表&…

浅谈springboot整合ganymed-ssh2远程访问linux

环境介绍 技术栈 springbootmybatis-plusmysqlganymed-ssh2 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 1.8 Spring Boot 2.7.13 mybatis-plus 3.5.3.2 SSH(远程连接工具)连接原理&#xff1a;ssh服务是一个守护进程(demon)&#xff0c;系统后台监听客户…

2006年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

今天距离2024年的AMC8美国数学竞赛举办还有二十多天&#xff0c;面临着期末考试的压力和紧张复习&#xff0c;更需要高效地准备AMC8比赛&#xff01;“在战争中学习战争”是最有效的方式&#xff0c;反复做历年的AMC8真题也是备考最有效的方式之一。 通过反复研究历年真题&…

线程管理方式

线程管理方式 下图描述了线程的相关操作&#xff0c;包含&#xff1a;创建 / 初始化线程、启动线程、运行线程、删除 / 脱离线程。可以使用 rt_thread_create() 创建一个动态线程&#xff0c;使用 rt_thread_init() 初始化一个静态线程。 动态线程与静态线程的区别是&#xff1…

TCP:IP原理

TCP/IP 原理 TCP/IP 协议不是 TCP 和 IP 这两个协议的合称&#xff0c;而是指因特网整个 TCP/IP 协议族。从协议分层模型方面来讲&#xff0c;TCP/IP 由四个层次组成&#xff1a;网络接口层、网络层、传输层、应用层。 网络访问层(Network Access Layer) 网络访问层(Network …

成员函数指针作为参数是,静态函数和非静态函数的区别

成员函数指针作为参数时&#xff0c;静态函数和非静态函数的区别 举个 QT 的例子&#xff08;没学过QT的也不要紧&#xff0c;这适用于学习C的同学&#xff09;&#xff0c;当我有两个类&#xff0c;Teacher 类和 Student 类。现在有一个场景就是&#xff0c;Teacher 类会发出…