Fiddler抓包工具实战

news/2024/9/19 4:39:31 标签: fiddler, 前端, 测试工具

文章目录

  • 🟢 Fiddler入门到精通
    • 👉主要功能
    • 👉使用场景
  • 🟢 一、Fiddler抓包和F12抓包对比
  • 🟢 二、Fiddler的核心功能
  • 🟢 三、Fiddler的工作原理
  • 🟢 四、Fiddler功能配置使用
    • 👉规则设置:Rulse
    • 👉断点调试
    • 👉弱网测试配置
    • 👉配置证书抓取https数据包
  • ✒️总结


🟢 Fiddler入门到精通

在这里插入图片描述

Fiddler是一款由Telerik公司开发的Web调试工具,以代理服务器的形式工作,主要用于捕获HTTP和HTTPS请求,帮助开发人员和测试人员分析网络请求和响应。通过捕获、查看、修改HTTP/HTTPS请求和响应,Fiddler能够帮助用户了解Web应用的行为,定位问题,以及进行接口测试和调试。
Fiddler官网
可以参考学习课程

👉主要功能

  1. 抓包功能:
    • Fiddler能够记录所有经过它的HTTP和HTTPS请求,包括请求头、请求体、响应头和响应体等详细信息。
    • 支持对HTTPS请求进行解密,以便查看加密的HTTPS通讯内容。
  2. 断点调试:
    • 允许用户在请求发送前或响应返回后设置断点,暂停HTTP通讯,以便修改请求或响应内容,进行调试。
  3. 请求伪造:
    • 用户可以伪造客户端请求或服务器响应,方便进行前后端调试和测试。
  4. 性能分析:
    • 提供Statistics页签,用于统计和分析多个请求的总体信息,如传输的字节数、请求耗时等,帮助用户优化页面加载速度。
  5. 第三方扩展
    • 支持通过插件扩展功能,满足用户更多需求。用户可以使用.NET框架语言编写自定义脚本,实现更复杂的调试任务。

👉使用场景

  1. Web开发调试:
    • 开发人员可以使用Fiddler来捕获和查看Web应用发出的HTTP请求和响应,了解应用的行为和性能瓶颈。
  2. 接口测试:
    • 测试人员可以使用Fiddler来测试Web服务的接口,验证接口的正确性和稳定性。
  3. 安全测试:
    • 安全人员可以使用Fiddler来检查Web应用的安全性,如查看敏感信息是否泄露、是否存在SQL注入等安全问题。

🟢 一、Fiddler抓包和F12抓包对比

相同点

  • 都可以对http以及https请求进行抓包分析

不同点

  • F12无法抓取App端的请求,Fiddler工具可以完成
  • F12无法修改请求数据,请求之前和请求之后数据无法修改,而Fiddler可以进行修改操作
  • F12可以在console控制台输入部分命令,方便查看前端数据信息

🟢 二、Fiddler的核心功能

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

🟢 三、Fiddler的工作原理

在这里插入图片描述
下面是原理图

在这里插入图片描述

  • 本地客户端与服务器之间所有的请求和响应,都由Fiddler进行转发,此时的Fiddler以代理服务器的方式存在
  • 由于所有的网络数据都需要经过Fiddler,因此Fiddler能够截取数据信息,显示网络数据的抓包内容

🟢 四、Fiddler功能配置使用

首先安装:fiddler,使用工具包安装即可,我会把安装包放到资源里
在这里插入图片描述

👉规则设置:Rulse

  • 隐藏不需要的数据包
    • 链接数据包
    • 304数据包

    • 在这里插入图片描述

👉断点调试

  • 可以配置fiddler断点调试功能
  • 开启调试功能之后,所有请求之前以及响应之后的数据包都可以进行拦截

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

👉弱网测试配置

  • 设置弱网的配置文件里面的对应相关参数,模拟网络情况
  • 通过开打配置文件,进行修改对应的网络延迟参数进行模拟弱网测试

在这里插入图片描述
可以通过ctrl+f搜索关键字300,修改下面的参数值即可

在这里插入图片描述
设置网络延迟参数:
在这里插入图片描述

👉配置证书抓取https数据包

默认fiddler只能抓取http数据包,如果需要抓取https数据包,那么配置相关证书

  • 打开Tools工具栏下面的选项options界面中有https选项
  • 第一步:
    在这里插入图片描述
  • 第二步:
    在这里插入图片描述
  • 第三步:在connectons里面配置相关信息
    在这里插入图片描述
  • 第四步:重置更新证书
    在这里插入图片描述
    需要抓取https相关的请求数据包,那么在第一次使用fiddler就需要进行配置,以后都不需要做任何的处理

综上所述,Fiddler是一款功能强大的Web调试工具,能够帮助开发人员、测试人员和安全人员更好地理解和测试Web应用。通过其丰富的功能和灵活的配置选项,用户可以轻松地进行网络请求捕获、分析、修改和调试工作。

参考4条信息源

✒️总结

如果这篇【文章】有帮助到你💖,希望可以给我点个赞👍,创作不易,如果有对前端端或者对python感兴趣的朋友,请多多关注💖💖💖,咱们一起探讨和努力!!!
👨‍🔧 个人主页 : 前端初见


http://www.niftyadmin.cn/n/5664979.html

相关文章

FastAPI--如何自定义Docs UI,包括多个APP、静态资源、元数据等

如何mount 一个FastAPI Application? “Mounting” means adding a completely “independent” application in a specific path, that then takes care of handling everything under that path, with the path operations declared in that sub-application. 示例代码 主…

「已解决」KeyError: ‘getpwuid(): uid not found: 1004‘

#问题描述 docker中,调用pwd.getpwuid()出现报错: Traceback (most recent call last):...File "/root/miniconda3/envs/octo/lib/python3.10/site-packages/etils/epath/backend.py", line 235, in statowner pwd.getpwuid(st.st_uid).pw_n…

在 Java 中,super关键字和this关键字的区别

在 Java 中,super关键字和this关键字的区别如下: 一、指代对象不同 this: 代表当前对象的引用。即正在调用成员方法或构造方法的那个对象实例。例如,在一个类的方法中,this可以用来引用当前对象的成员变量和方法。 su…

Day99 代码随想录打卡|动态规划篇--- 01背包问题

题目(卡玛网T46): 小明是一位科学家,他需要参加一场重要的国际科学大会,以展示自己的最新研究成果。他需要带一些研究材料,但是他的行李箱空间有限。这些研究材料包括实验设备、文献资料和实验样本等等&am…

springboot实训学习笔记(5)(用户登录接口的主逻辑)

接着上篇博客学习。上篇博客是已经基本完成用户模块的注册接口的开发以及注册时的参数合法性校验。具体往回看了解的链接如下。 springboot实训学习笔记(4)(Spring Validation参数校验框架、全局异常处理器)-CSDN博客文章浏览阅读576次,点赞7…

vscode搭建ros开发环境问题记录(更新...)

文章目录 vscode 不能自动补全方法一:方法二: 开发环境: vmware 15.7 ubuntu 20.04 ros noetic vscode 不能自动补全 方法一: 这里将头文件已经正确包含到c_cpp_properties.json中代码中仍然不能自动补全, 将C_CPP插…

C++——求3个数中最大的数(分别考虑整数、双精度数、长整数数的情况),用函数重载方法。

没注释的源代码 #include <iostream> using namespace std; int max(int a,int b,int c); double max(double a,double b,double c); long max(long a,long b,long c); int main() { int a,b,c; double x,y,z; long m,n,p; cout<<"请输入三…

移动技术开发:登录注册界面

1 实验名称 登录注册界面 2 实验目的 掌握基本布局管理器的使用方法和基本控件的使用方法 3 实验源代码 布局文件代码&#xff1a; <?xml version"1.0" encoding"utf-8"?><LinearLayoutxmlns:android"http://schemas.android.com/apk/…