Fiddler工具使用汇总

news2024/11/26 16:48:00

Fiddler工作原理

fiddler作为一个代理服务器,跟浏览器建立连接之后,浏览器像目标服务器发送的请求都会经过fiddler代理,所以fiddler可以捕获到http(s)请求,从而可以解释、分析、甚至重写发出去的http(s)请求。
在这里插入图片描述
启动fiddler后,Fiddler会自动设置代理
在这里插入图片描述
访问浏览器,即可抓取HTTP请求
在这里插入图片描述
左下角显示capturing为正在抓取,点击一下会停止抓取。

查看HTTP信息

点击请求,在右侧inspectors可以查看HTTP请求和响应信息
在这里插入图片描述

Fiddler作用和使用场景

作用:
1)抓包
2)模拟限速
3)重定向
4)修改数据重发送
5)发送自定义请求,模拟小型接口测试
6)APP抓包
常用场景:
1)抓包分析,辅助定位bug
2) APP弱网模拟测试
3)前端性能分析与优化

Fiddler 是一款功能强大的网络抓包工具,主要用于分析、调试和监视网络流量。它可以捕获并显示通过计算机和互联网之间传输的HTTP、HTTPS、FTP、WebSockets和其他流量。

以下是 Fiddler 的主要作用和使用场景:

  1. 网络流量分析:Fiddler 可以捕获和展示应用程序发送和接收的网络请求和响应,它提供了详细的请求和响应信息,包括请求头、响应头、慢速请求、重定向等。这对于分析网络连接问题、排查错误以及查看网络通信的数据非常有帮助。

  2. 接口调试:Fiddler 可以模拟服务器和客户端的网络请求和响应,使开发人员能够在不同的网络环境中进行接口调试。它可以修改请求和响应的内容,添加或删除头信息,模拟各种网络错误等。

  3. 性能分析:Fiddler 提供了一些工具和功能,用于分析应用程序的性能。您可以使用它来检测慢速请求、高延迟、高带宽消耗、大量重复请求等问题,并对性能进行调优。

  4. 安全测试:通过捕获和分析应用程序的网络流量,Fiddler 可以帮助进行安全测试,例如检查敏感信息是否明文传输、查找潜在的安全漏洞等。

  5. 流量重放:Fiddler 支持将捕获到的网络流量保存为会话文件,然后可以重新播放这些会话文件,以便进行回归测试、模拟负载、观察应用程序行为等。

总而言之,Fiddler 是一个非常实用的网络调试工具,适用于开发人员、测试人员、安全专家以及其他需要分析和监测网络流量的人员。

添加请求断点

工具栏rules->automatic breakpoints,点击before requests,快捷键直接F11
进行浏览器操作,fiddler会在请求发出前进行拦截。如图点击登录,抓到登录请求,拦截后,可以修改数据,点击run to completion继续完成请求。
在这里插入图片描述

添加响应断点

在这里插入图片描述
通过修改response,可以使响应返回特定的状态码。
在这里插入图片描述

重放请求

在请求上右键,replay
在这里插入图片描述

设置显示IP地址

Fiddler默认配置中是看不到服务器IP的,可以在Fiddler上显示请求的服务器IP,设置方法如下:

在Fiddler界面,点击右上角的“Rules”,选择“Customize Rules”。
在弹出的CustomRules.js文件里搜索“static function Main()”,找到后在该函数中添加如下一行脚本:FiddlerObject.UI.lvSessions.AddBoundColumn(“Server IP”,120,“X-HostIP”);。
保存并关闭CustomRules.js文件。
刷新Fiddler界面,即可看到服务器IP。
在这里插入图片描述

fiddler作为接口测试工具

可模拟一个小型/简易的接口测试工具,借助fiddler上的Composer可填写可以填接口地址,设置请求参数、填写响应结果后execute后,相当于模拟一个简易的接口测试工具
Fiddler中的Composer用来创建HTTP Request并发送请求。
Composer的功能也可以说是简单的接口测试工具,发包工具,或者是Fiddler的重放功能。允许自定义请求发送到服务器,即可以手动创建一个新的请求,也可在会话表中拖拽一个现有的请求。
Fiddler创建Request有两种方式:
1)可以手写一个Request
2)在Web sessions会话列表中拖拽一个已有的Request,修改数据后,点击execute,左侧可以看到执行记录,点击记录后在inspectors可以看到请求和响应
在这里插入图片描述

Composer起到的功能和Inspectors中的作用一样,都是篡改数据,不过Composer可以篡改Cookie中的数据,Inspectors篡改的是输入的数据。

fiddler抓取特定网站

在右侧勾选Filters,勾选use Filters,勾选show onloy the following hosts,在下方填写要抓取的地址。
再抓取request,左侧会只显示该地址的请求。
在这里插入图片描述

fiddler限速/弱网模拟

打开Fiddler安装路径下scripts/SampleRules.js文件
m_SimulateModem是一个属性,用于控制是否开启模拟调制解调器限速功能,该属性有两个值,
request-trickle-dela 设置请求每kb延迟多少ms
response-trickle-delay 设置响应每kb延迟多少ms
1、根据要模拟的速度设置ms

 if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded.
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.
            oSession["response-trickle-delay"] = "150"; 
        }

2、勾选 Rules->performance->simulate moderm speeds
在这里插入图片描述

fiddler结合jmeter

https://www.jianshu.com/p/b3dcc28108f0

Fiddler 模拟不同IP地址

Fiddler可以用来模拟不同的IP地址访问页面,这样就可以查看网页在不同IP下的显示结果。

具体操作步骤如下:

打开Fiddler。
菜单栏点击Rules->Customize Rules或使用快捷键Ctrl+R。
通过快捷键Ctrl+F,搜索OnBeforeRequest。
在函数中添加一行代码,设置X-Forwarded-For字段值为需要构造的IP地址。
保存并关闭,重启Fiddler后即可看到X-Forwarded-For字段值。
在这里插入图片描述

fiddler命令cls/select

在这里插入图片描述
cls:清屏
select 筛选某一类型会话 如select application
?: 查找包含字符串的会话
Fiddler有很多命令,以下为您推荐:

bpv:对包含指定字符串的URI创建请求断点。
bpu:对包含指定字符串的URI创建请求断点,取消设置断点使用"bpu //取消设置"。
cls or clear:清空会话列表。
dump:打包所有会话成zip归档文件并转存在指定路径下。
g or go:恢复所有设置断点的会话。
hide:隐藏Fiddler界面,系统后台运行。
select:选择指定内容,如select image选择图片等。
urlreplace:以一个不同的字符串替换URL中任何字符串。

问题

抓不到https

用fiddler,发现又抓不到https协议的请求。
后来发现是因为设置了,我把https设置成from remote clients only了,只能接收远程APP请求。
设置成from all processes,点击OK。然后重启fiddler即可。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[De1CTF 2019]SSRF Me | BUUCTF

根据题目名我们知道这是一道SSRF的题目 它允许攻击者在受害服务器上发起未经授权的网络请求 分析 在buuctf上有一个提示 也就是说flag在 网站的flag.txt 访问主页 很明显是段flask代码 格式化后 from flask import Flask, request # 导入Flask和request模块 import sock…

设备管理系统的优势是什么?设备管理系统对企业运营管理有什么帮助?

传统的设备报修维护方式存在一些问题,例如指派传递速度慢和故障信息不准确等。然而,使用设备管理系统就可以轻松地解决这些问题,并且报修全流程只需短短的30秒。设备管理系统具有许多优势,首先它支持多种渠道的报修,包…

《TCP/IP网络编程》阅读笔记--进程间通信

目录 1--进程间通信 2--pipe()函数 3--代码实例 3-1--pipe1.c 3-2--pipe2.c 3-3--pipe3.c 3-4--保存信息的回声服务器端 1--进程间通信 为了实现进程间通信,使得两个不同的进程间可以交换数据,操作系统必须提供两个进程可以同时访问的内存空间&am…

初出茅庐的小李博客之数制与编码知识

模拟量与数字量: 数字量和模拟量是两种用于表示和处理不同类型数据的概念,常见于电子和计算机系统中。它们在信号处理、传感器技术、通信和控制系统中有不同的应用。 1. 数字量(Digital): 数字量是离散的&#xff0…

06文本搜索工具——grep以及正则表达式

一、grep工具的使用 可以通过返回状态码判断文件有没有这个数据,有状态码为0,没有为1。文件不存在状态码为2 -o: 二、正则表达式 1、基本正则表达式 .为匹配任意字符,..两个两个匹配任意字符,...三个三个匹配任意字符 …

群拼团接龙小程序源码功能和开发

针对微信群开发的拼团接龙小程序,有点快团团的味道。是做私域非常不错的一款小程序。 小程序基于Uniapp开发,目前适配了微信小程序。 接龙: 在小程序中可以创建自定义接龙,不需要复杂的申请流程。 商品发布: 接龙…

模板测试和深度测试在cocoscreator中的应用

模板测试(Stencil Test): 当片段着色器处理完一个片段之后,模板测试(Stencil Test)会开始执行,和深度测试一样,它也可能会丢弃片段。接下来,被保留的片段会进入深度测试,它可能会丢弃更多的片段。模板测试…

React 开发一个移动端项目(1)

技术栈: 项目搭建:React 官方脚手架 create-react-appreact hooks状态管理:redux 、 redux-thunkUI 组件库:antd-mobileajax请求库:axios路由:react-router-dom 以及 historyCSS 预编译器:sass…

Web开发后端总结

Web后端开发现在基本上都是基于标准的三层架构进行开发的,在三层架构当中,Controller控制器层 - 负责接收请求响应数据,Service - 业务层负责具体的业务逻辑处理,而Dao - 数据访问层也叫持久层,就是用来处理数据访问操…

第9节-PhotoShop基础课程-移动抓手缩放工具

文章目录 前言1. 移动工具1.移动工具1.自动选择(图层和组)2.显示变换控件 (Shift 变换/ Ctrl 变换)3.自由变换 Ctrl T (Shift 变换/ Ctrl 变换)4.对齐功能 2.画板工具 V1. 创建画板并作图2.导出画板 2.路…

【strcpy函数和strncpy函数的对比与模拟实现】

strcpy函数和strncpy函数的对比与模拟实现 1.strcpy函数介绍 资源来源于cplusplus网站 大致意思就是: 它的作用为: 将一个字符串复制到另一块空间地址中 的函数,‘\0’是停止拷贝的终止条件,同时也会将 ‘\0’ 也复制到目标空间…

redis集群最少使用三个主节点和使用16384个槽以及主节点数量不超过1000的原因

目录 集群最少三个主节点的原因 为什么是三个? 为什么是奇数? 16384个槽和1000个主节点 集群最少三个主节点的原因 https://redis.io/docs/management/scaling/ 官网建议,搭建 redis 集群最少三主三从。 但是这么做是出于什么考虑呢? https://workt…

02深度学习目标检测方法介绍-传统

一、目标学习的检测方法变迁及对比 “目标检测“是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智慧到当今RCNN、YOLO等深度学习土壤孕育下的GPU暴力美学,整个目标检测的发展可谓是计算机视觉领域的一部浓缩史。整个目标检测…

Python实操 PDF自动识别并提取Excel文件

最近几天,paddleOCR开发了新的功能,通过将图片中的表格提取出来,效果还不错,今天,作者按照步骤测试了一波。 首先,讲下这个工具是干什么用的:它的功能主要是针对一张完整的PDF图片,可…

EasyAVFilter代码示例之将摄像机RTSP流转成RTMP推流输出

以下是一套完整的RTSP流转RTMP推流功能的开发源码,就简简单单几行代码,就可以完成原来ffmpeg很复杂的调用流程,而且还可以集成在自己的应用程序中调用,不需要再单独一个ffmpeg的进程来调用,方法很简单: #i…

spring中的@Configuration配置类和@Component

在Spring的开发工作中,基本都会使用配置注解,尤其以Component及Configuration为主,当然在Spring中还可以使用其他的注解来标注一个类为配置类,这是广义上的配置类概念,但是这里我们只讨论Component和Configuration&…

盲盒小程序开发方案

盲盒游戏作为一种富有趣味性和收藏价的虚拟盲盒产品,近年来在游戏市场中备受关注。本文将深入探讨盲盒游戏的开发方案,从市场趋势分析、用户体验设计、商业模式选择等多个维度,为开发者提供业且有深度的思考,以帮助他们在盲盒游戏…

容器编排学习(八)卷的概述与存储卷管理

一 卷 1 容器化带来的问题 容器中的文件在磁盘上是临时存放的,这给容器中运行的重要的应用程序带来一些问题 问题1:当容器崩溃或重启的时候,kubelet 会以干净的状态(镜像的状态)重启容器,容器内的历史数据会丢失 问题2&…

upload-labs1-17思路

1 直接写一个php文件测试一下,发现弹窗不让上传 原理很简单,就是把后缀名拿出来过滤一遍,而白名单就是弹窗的这三个 解决方法: 因为这是在前端防御的一个手段,所以直接在浏览器设置上禁用js就行了: 也可…

数据结构与算法_栈

一、什么是栈 栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除的操作。 对数据进行插入和删除的一端叫做栈顶,另一端是栈底。 对栈的两项操作分别叫做入栈、出栈。 入栈就是对栈进行插入操作,除此之外,入栈也叫做进…