抓包工具Fiddler的下载、安装、配置、基本使用

news2024/9/29 17:34:27

文章目录

  • 前言
  • 一、Fiddler下载
  • 二、Fiddler安装
  • 三、打开Fiddler
  • 四、Fiddler显示菜单栏及菜单栏功能基本介绍
  • 五、Fiddler的作用
  • 六、Fiddler的工作原理
  • 七、Fiddler基本功能使用
    • 1.导包
    • 2.规则设置Rules:
  • 八、Fiddler设置抓取HTTPS的包
  • 九、抓取APP包必须设置
  • 十、Fiddler过滤器的设置
  • 十一、Fiddler如何抓取app的数据报文
  • 十二、Fiddler弱网测试
  • 十三、Fiddler线上调试
  • 十四、Fiddler断点调试
  • 十五、Fiddler定位前后端的bug
  • 十六、Fiddler抓包工具与浏览器当中F12有什么区别

前言

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

一、Fiddler下载

  • Fiddler下载地址:https://www.telerik.com/fiddler

    在这里插入图片描述

二、Fiddler安装

  1. 双击下载好的安装包

    在这里插入图片描述

  2. I Agree

    在这里插入图片描述

  3. 选择安装路径 → Install

    在这里插入图片描述

  4. Close

    在这里插入图片描述

三、打开Fiddler

  • 方式一:直接打开(到安装目录下找到Fiddler.exe文件双击打开)

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

  • 方式二:到安装目录下找到Fiddler.exe文件,将其发送到桌面快捷方式然后双击打开

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

四、Fiddler显示菜单栏及菜单栏功能基本介绍

  • 显示菜单栏

    在这里插入图片描述

  • 菜单栏功能基本介绍

    在这里插入图片描述

五、Fiddler的作用

  • 接口测试:发送自定义请求,模拟小型接口测试
  • 定位前后端bug:抓取协议包,进行前后端联调
  • 弱网测试(模拟限速操作):弱网,断网
  • 构建模拟测试场景:数据篡改,重定向
  • 前端性能分析及优化

六、Fiddler的工作原理

  1. 本地应用与服务器之间所有的请求(request)和响应(response)由Fiddler进行转发,此时Fiddler以代理服务器的方式存在

  2. 由于所有的网络数据都要经过Fiddler,因此Fiddler能够截取数据信息,实现网络数据抓包

    在这里插入图片描述

七、Fiddler基本功能使用

1.导包

在这里插入图片描述

2.规则设置Rules:

  • 隐藏不需要的数据包:Hide CONNECTs 和 Hide 304s

    在这里插入图片描述

  • 断点调试:Automatic Breakpoints

    在这里插入图片描述

  • 弱网测试设置:Performance

    在这里插入图片描述

八、Fiddler设置抓取HTTPS的包

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

九、抓取APP包必须设置


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

十、Fiddler过滤器的设置


在这里插入图片描述

//过滤设置——隐藏不需要的数据包信息(固定格式隐藏不需要的数据包信息)

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

在这里插入图片描述

在这里插入图片描述

十一、Fiddler如何抓取app的数据报文

  1. 保持手机和电脑在同一网段,建议在同一wifi

  2. 获取Fiddler主机ip和端口号

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

  3. 在手机上设置代理服务器:Fiddler主机ip和端口号:

    在这里插入图片描述

  4. 在手机浏览器中输入: http://Fiddler主机ip:端口号,在上面下载和安装证书

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

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

  5. 访问APP,Fiddler即可抓包

十二、Fiddler弱网测试


代表:2G、3G、4G网络

  1. 第一步:设置网络传输值

    • 2G:上传:500,下载:400
    • 3G:上传:100,下载:100
    • 4G:上传:15,下载:10
      在这里插入图片描述
  2. 第二步:开启弱网测试规则,弱网测试设置:Rules → Performance → Simulate Modem Speeds

    在这里插入图片描述

  3. 访问要测试的地址等

十三、Fiddler线上调试

  1. 先抓包获取响应信息

    在这里插入图片描述

  2. 将响应信息复制到.html文件当中

  3. 修改需要修改的.html文件内容信息

  4. Fiddler设置如下(实现调试网页任何内容)

  5. 点击AutoResponder

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

  6. 回到访问的页面进行刷新:shift+F5 (会发现显示修改后的数据)

注意:一定要勾选如图所示,如果不勾选本地文件那么就会关闭调试

在这里插入图片描述

十四、Fiddler断点调试


发送请求之前,可以执行重新发送
测试不同的正例、反例抓包获取不同的响应结果
多次调试,可以知道哪些参数是必带的,哪些参数可以删除

  1. 访问链接地址进行登陆 → 通过Fiddler抓包工具查看请求参数信息

    在这里插入图片描述

  2. 打开 Rules → Automatic Breakpoints → Before Requests(请求前)断点调试

    在这里插入图片描述

  3. 对进行抓包的请求重新发送——Reolay → 选中断掉调试的包 → 修改参数信息 → Run to Completion

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

  4. 查看响应结果

    在这里插入图片描述

十五、Fiddler定位前后端的bug

  • 理论上:
    • 如果请求参数有问题,那么就是前端的问题
    • 如果请求参数没有问题,但是返回数据有问题,那么就是后端问题
  • 实际上:
    • 查看响应结果页面错误信息进行对比(结合需求文档和日志信息,比如异常类信息:100%是后端问题)

总结:通过Fiddler可以抓取请求和响应参数,通过对参数进行分析,可以定位是前端还是后台问题。例如我们在测试登录接口时,输入了正确的手机号和密码,但前端提示 “请输入正确的用户名和密码”,仅仅通过界面提示我们只能描述bug表象,但不能分析出问题原因。假设通过抓包我们发现是由于前端参数名错误或参数值为空,从而导致后台报错。这个时候我们将bug指向前端开发人员,并将参数数据和接口文档中对应的报文数据作为附件上传,是不是可以提高bug的解决效率呢? Fiddler在实际的功能测试中有很大的作用,一方面帮助我们更好的了解某个业务中客户端和服务器端是通过哪些接口进行请求的,从而更好的了解代码逻辑;另一方面,我们还可以通过响应数据判断哪里出现了问题,例如可能服务器程序挂了,导致前端报 “服务器故障”,这时我们通过抓包发现响应数据返回502,这时我们可以手动去重启服务或是联系运维重启服务,从而提高问题的解决效率。

十六、Fiddler抓包工具与浏览器当中F12有什么区别

  • 相同点:都可以对http和https进行抓取分析
  • 不同点:
    • F12无法抓取app端的http请求,而Fiddler工具可以完成
    • F12无法修改篡改请求的数据,而Fiddler工具可以完成
    • F12可以在console中输入部分命令,方便查看前端数据信息,可以通过application上面查看一些请求的数据,尤其是涉及到登录或者邀请相关的知识

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

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

相关文章

谷达冠楠科技:抖音开网店新手小白可以卖的产品

随着互联网的发展,越来越多的人选择在网上开设自己的店铺。而抖音作为目前最火的短视频平台,也提供了开店的功能。那么,对于新手小白来说,抖音开网店可以卖哪些产品呢? 我们可以考虑的是服装类商品。抖音上有很多时尚博主&#x…

极致画质与流畅播放的完美结合,只在ProVideoPlayer for Mac!

ProVideoPlayer for Mac 是一款功能强大的专业级视频播放软件,旨在提供出色的用户体验和无与伦比的功能。以下是它的一些主要功能介绍: 多格式兼容:ProVideoPlayer for Mac 支持广泛的视频格式,包括常见的MP4、AVI、MOV&#xff0…

鸿蒙开发(五)鸿蒙UI开发概览

从用户角度来讲,一个软件拥有好看的UI,那是锦上添花的事情。再精确的算法,再厉害的策略,最终都得通过UI展现给用户并且跟用户交互。那么,本篇一起学习下鸿蒙开发UI基础知识,认识下各种基本控件以及使用方式…

基于Java图书商城系统设计与实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

三星Galaxy S24 系列了发布会预热新品:Galaxy Ring 智能戒指亮相

在三星 Galaxy S24 系列发布会上,他们不仅带来了新款手机,还意外地推出了一款智能指环 ——Galaxy Ring!没错,就是戴在手指上的那种智能设备! 在发布会的尾声,三星放出了一段简短的预告片,让我…

美摄视频SDK的HDR格式编辑方案

在当今的视觉媒体时代,高动态范围(HDR)技术已成为高质量视频内容的标配。为了满足企业对高效、高质量视频处理的需求,美摄科技推出了业界领先的视频SDK,全面支持多种HDR标准的图像视频进行处理。 一、核心优势 HDR全…

【Docker】安装nacos以及实现负载均衡

🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihuis Code World ! !🥳🥳 前言 一.nacos单个部署 1.镜像拉取 …

Java实现厦门旅游电子商务预订系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 景点类型模块2.2 景点档案模块2.3 酒店管理模块2.4 美食管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 学生表3.2.2 学生表3.2.3 学生表3.2.4 学生表 四、系统展示五、核心代码5.1 新增景点类型5.2 查询推荐的…

2024-01-18 在Android Studio中,可以通过修改build.gradle文件(位于你的应用模块目录下)来自定义生成的APK名称

一、在Android Studio中,可以通过修改build.gradle文件(位于你的应用模块目录下)来自定义生成的APK名称,在build.gradle里面增加下面的代码 applicationVariants.all { variant ->variant.outputs.all {outputFileName "…

Segment Anything:SAM系列模型总结

Segment Anything | Meta AIhttps://segment-anything.com/ SAM https://arxiv.org/pdf/2304.02643.pdf 新的图像分割任务:这样的任务需要实现零样本泛化。新的模型:Segment Anthing Model。目前分为vit_b,vit_l,vit_h新的数据集&#xff…

使用人工智能助手 Github Copilot 进行编程 01

本章涵盖了 AI 助⼿如何改变新程序员的学习⽅式为什么编程永远不会再⼀样了AI 助⼿如 Copilot 的⼯作原理Copilot 如何解决⼊⻔级编程问题AI 辅助编程的潜在危险 在本章中,我们将讨论人类如何与计算机进行交流。我们将向您介绍您的 AI 助手 GitHub Copilot&#x…

Git 基本命令与操作流

记录 Git 中的基本命令和创建仓库、提交文件、删除文件等方面的操作 Git 基本命令 git status:查看状态 nothing to commit, working directory clean:所有已跟踪文件在上次提交后都未被更改过,或者说当前目录下没有出现任何处于未跟踪状态…

一篇文章带你彻底了解flex布局

哈喽,大家好呀,我是前端理想哥,今天我们来聊聊 flex 布局。 好,主角登场。 CSS 弹性盒子模型( Flexible Box 或者 Flexbox ) 先来看看它的定义:弹性布局是指通过调整其内元素的宽高,从而在任何显示设备上…

Conmi的正确答案——eclipse C/C++显示“未解析的包含:<xxx.h>”/“Unresolved inclusion: <xxx.h>”

eclipse IDE 版本&#xff1a;2023-12 部分采自&#xff1a;解决方法&#xff1a;关于问题 “C - Unresolved inclusion: <iostream>” 解释事项&#xff1a;方法一可能版本不同&#xff0c;部分界面修改了。这里使用的是方法二的解决方法。&#xff08;或者各位大神的描…

Dubbo使用详解

简介 Dubbo是一个高性能、轻量级的开源Java RPC框架&#xff0c;由阿里巴巴公司开发并开源。它提供了三大核心能力&#xff1a;面向接口的远程方法调用&#xff0c;智能容错和负载均衡&#xff0c;以及服务自动注册和发现。Dubbo使得应用可通过高性能的 RPC 实现服务的输出和输…

ITSS内幕揭秘!不看后悔!

1️⃣ ITSS&#xff1f;那是啥玩意&#xff1f; ITSS&#xff0c;就是一套超酷的信息技术服务标准大全&#xff01;它规范了所有信息技术服务的小秘密&#xff0c;确保服务可靠又让人放心&#xff01;&#x1f4aa; 2️⃣ 哪些公司需要这个神器&#xff1f; ITSS可是个大家伙&a…

Unity 程序员UI编码规范

今天给大家分享Unity UI开发相关的一些编码和规范&#xff0c;有了这些指导规范&#xff0c;帮助你的项目获得更好的性能&#xff0c;少走弯路。Unity GUI&#xff08;也被称为UGUI&#xff09;经常是项目性能问题的来源。 考虑使用多分辨率和宽高比 大部分情况下&#xff0c…

解锁文字魔法:探索自然语言处理的秘密——从技术揭秘到应用实战!

目录 前言 关键技术——揭密自然语言处理的秘密武器&#xff01; 领域应用——自然语言处理技术在不同领域的奇妙表演&#xff01; 超越极限——自然语言处理技术面临的顽强挑战揭秘&#xff01; 科技VS伦理——自然语言处理技术的发展与伦理社会的纠结较量&#xff01; 开…

EasyX图形化学习(三)

1.帧率&#xff1a; 即每秒钟界面刷新次数&#xff0c;下面以60帧为例&#xff1a; 1.数据类型 clock_t&#xff1a; 用来保存时间的数据类型。 2.clock( ) 函数&#xff1a; 用于返回程序运行的时间,无需参数。 3.例子&#xff1a; 先定义所需帧率&#xff1a; const …

力扣 | 11. 盛最多水的容器

双指针解法–对撞指针 暴力解法public int maxArea1(int[] height) {int n height.length;int ans 0;for (int i 0; i < n; i) {for (int j i 1; j < n; j) {int area Math.min(height[i], height[j]) * (j - i);ans Math.max(ans, area);}}return ans;}双指针解法…