Fiddler抓包详细实用保姆级教程,小白一看就会

news2025/11/7 5:52:43

一、Fiddler4工作原理

Fiddler 是一款以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888,这是fiddler的默认端口

我们发送的每一个请求和收到的每一个响应都会先经过fiddler,这样就实现了抓取数据包的工作

当Fiddler退出时它会自动注销,这样不会影响其它程序。

如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。

解决的办法是重新启动下Fiddler。

注意事项:安装和使用的时候需要关闭杀毒软件!

二、如何捕获http请求数据包?
fiddler默认就可以抓取电脑的http请求,可以查看statistics信息,可以查看抓取包的开始时间及响应时间,Inspectors选项可以查看请求和响应的详细信息。

Raw表示原数据格式,还可以查看fiddler日志等。

三、如何捕获https数据包

Fiddler默认是不可以抓取https协议的,需要进行配置,如果没有进行配置,在打开https协议的网页的时候会提示风险,所以为了能抓取互联网网页,可以先进行https配置

配置https协议:

勾选这三个选项,然后点击actions,选择将证书生成到桌面上,再在浏览器的证书管理中,导入Fiddler的证书

通过以上步骤就可以抓取https的协议了。

注意事项:

在进行本机抓取和远程抓取(手机)的时候注意这里的切换。

四、过滤请求:

打开fiddler,找到Filters选项并点击打开。

设置完后需要在actions里面选择运行设置选项,不选其实也可以,另外在选择了域名筛选后,又选择了进程,有时候会抓取不出来域名的。

以上隐藏的意思是指在左侧不会显示抓取该域名的包请求,格式支持通配符*,显示的话就是正常显示出来,标记的话就是在左侧会加粗显示这些域名的请求。

其它过滤还可以通过请求头,响应状态,响应头等条件进行筛选,但通常使用域名或者进程就完全足够了。

以上过滤时记在设置完过滤条件后一定要选择actions runfilterset now以马上生效。

五、抓取手机app
在抓取手机的请求时,有时候需要关闭电脑防火墙,配置好https的抓包请求,然后将手机连接的wifi设置为代理。

代理的ip就是电脑的wifi IP,端口为fiddler上面设置的端口,再设置为DHCP,然后访问手机上面的app或者是浏览器fiddler就可以抓取到了。

关于手机证书问题,手机浏览器输入电脑的ip加端口后会提示下载fiddler证书,点击下载后安装就可以了。

注意事项:

1)在PC切换wifi网络后,ip会变化,那么在手机端,需要重新安装一下FiddlerRoot certificate 安全证书,然后重新设置代理。

2)如果在设置代理后,手机不能正常打开网页,很多时候都是由于Fiddler的安装证书存在问题,比如没有被授权。

3)不同的手机,安装Fiddler Root certificate 证书的时候,有点不一样,比如小米手机比较特别,方法不一样。

4)针对Anderiod 7.1以上的手机抓包时,需要做另外的授权等处理方法。

六、弱网测试设置
① 为什么要进行弱网测试?

按照移动特性,各种网络连接协议不同,导致通信的信号不同,速率也不同,影响应用的加载时间、可用性、稳定性。

② 什么样的网络属于弱网?

低于2g速率的时候都属于弱网也可以将3g划分为弱网 一般wifi不纳入弱网测试范围。

③ 如何进行弱网测试?

  1.SIM卡的网络切换

手机-设置-移动网络设置-网络类型选择。

3G卡有3种设置模式:

     1.只使用2G网络

     2.只使用3G网络

     3.3G网络优先

根据手机型号的不同,上面的选项会稍有变化。

因为电信、移动、联通的速率各不相同所以可以取速率最低的值进行测试。

2. 使用虚拟机模拟网络速率

3. 使用Fiddler来进行网络代理。

7 fiddler模拟限速的原理

我们可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。

Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。

方法:

选择fiddler菜单 Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度。

然后选择Rules—>Cutomize Rules打开CustomRules.js 文档

在该文档中查找到m_SimulateModem,该方法就是用来设置弱网的。

更改原则 :

让我们来分析一下这几行代码:

首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。

如为弱网模式。则分析代码oSession[“request-trickle-delay”] = “300”;

注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s).

如果你想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms同样的方法,也可以限制上传的速度,调整oSession[“response-trickle-delay”]即可。

通过以上学习至少达到可以抓取自己想要的信息,并且可以抓取到手机端的请求

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

相关文章

C++基础 -41- 迭代器

每个stl 模板接口都有一个专用的迭代器 迭代器就是 stl 库中的 一个特殊指针,功能与指针类似(类似但不是) 迭代器定义格式 迭代器的使用,使用迭代器遍历向量容器的参数 代码运行结果 无论使用普通方式还是迭代器方式去都可以遍历vector容器

软著项目推荐 深度学习的智能中文对话问答机器人

文章目录 0 简介1 项目架构2 项目的主要过程2.1 数据清洗、预处理2.2 分桶2.3 训练 3 项目的整体结构4 重要的API4.1 LSTM cells部分:4.2 损失函数:4.3 搭建seq2seq框架:4.4 测试部分:4.5 评价NLP测试效果:4.6 梯度截断…

线程池原理初探

1.引言 合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。第三:提高线程的可管理性。…

windows下DSS界面本地集成linkis管理台

说明:当前开发环境为windows,node版本使用16.15.1。启动web时,确保后端服务已准备就绪。 1.linkis web编译 #进入项目WEB根目录 $ cd linkis/linkis-web #安装项目所需依赖 $ npm install参考官方编译说明,windows下编译一直异常…

【USRP】5G / 6G 原型系统 5g / 6G prototype system

面向5G/6G科研应用 USRP专门用于5G/6G产品的原型开发与验证。该系统可以在实验室搭建一个真实的5G 网络,基于开源的代码,专为科研用户设计。 软件无线电架构,构建真实5G移动通信系统 X410 采用了目前流行的异构式系统,融合了FP…

利用 EC2 和 S3 免费搭建私人网盘

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。 💻创建实例 控制台搜索EC2 点击启动EC2 选择AMI 选择可免费试用的 g代表采用了Graviton2芯片。 配置存储 配…

AIGC创作ChatGPT源码+AI绘画(Midjourney绘画)+支持GPT-4-Turbo模型+DALL-E3文生图

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

插入排序和希尔排序

目录 1.插入排序 (1)基本思想: (2)直接插入排序 2.希尔排序(进阶插排) 1.插入排序 (1)基本思想: 直接插入排序是一种简单的插入排序法,其基本…

客户关系管理系统的功能内容

客户管理是企业经营中至关重要的一环,它涉及到与客户建立、维护和加强关系的全过程。一个成功的客户管理系统能够帮助企业更好地了解客户需求、提供个性化服务,从而提高客户满意度和忠诚度,推动企业的可持续发展。本文将探讨客户管理的各个方…

协议栈的内部结构

上层会向下层逐层委派工作。 最上面的部分是网络应用程序,它们会将收发数据等工作委派给下层的部分来完成。尽管不同的应用程序收发的数据内容不同,但收发数据的操作是共通的。 应用程序的下面是Socket库,其中包括解析器,解析器…

持续集成交付CICD:Jenkins使用GitLab共享库实现后端项目Sonarqube

目录 一、实验 1.Jenkins使用GitLab共享库实现Sonarqube 2.优化GitLab共享库 二、问题 1.sonar-scanner 未找到命令 一、实验 1.Jenkins使用GitLab共享库实现Sonarqube (1)已搭建GitLab共享库 ① 进入共享库项目 ② 封装库目录(2)Jenkins修改配置…

揭秘DeepMind、OpenAI成立内幕,马斯克、奥特曼、佩奇、哈萨比斯的爱恨情仇......

前些天OpenAI内斗的政权之争,相信各位看官在吃瓜的同时会感到大为震撼。OpenAI这次“政变”事件,让世人第一次看到那些将决定人工智能发展未来的科技大佬之间的激烈争斗。 但权利的斗争在硅谷AI激荡发展十余年中绝不是第一次。《纽约时报》为此采访了80…

MX6ULL学习笔记 (七) 中断实验

前言: 本章我们就来学习一 下如何在 Linux 下使用中断。在linux内核里面使用中断,不同于我们以往在别的裸机开发一样,需要进行各种寄存器的配置,中断使能之类的,而在Linux 内核中,提供了完善的中断框架…

Twincat功能块使用经验总结

控制全局变量: //轴控制指令 bi_Power: BOOL; //使能 bi_Reset: BOOL; //复位 bi_Stop: BOOL; //停止 bi_JogForward: BOOL; //正向点动 bi_JogBackwards: BOOL; //反向点动 bi_MoveAdditive: BOOL; //增量位…

人工智能-机器翻译:技术发展与代码实战

在本文中,我们深入探讨了机器翻译的历史、核心技术、特别是神经机器翻译(NMT)的发展,分析了模型的优化、挑战及其在不同领域的应用案例。同时,我们还提出了对未来机器翻译技术发展的展望和潜在的社会影响。 关注TechLe…

企业微信配置可信域名

首先去申请一个域名,然后将域名绑定到有公网ip的云服务器上,绑定到具体的网站;然后再企业微信,管理后台,点击具体的应用,进【网页授权及JS-SDK】;点击底部的【申请校验域名】点击下载文件&#…

04武忠祥0基础

收敛数列的性质 唯一性: 反证法: 发散不一定无界 举个例子,考虑以下数列: a_n (-1)^n 这个数列的每一项交替地取正负值。当 n 是偶数时,a_n 1,当 n 是奇数时,a_n -1。这个数列明显是发…

软件崩溃时VS中看不到有效的调用堆栈,使用Windbg动态调试去分析定位

目录 1、问题说明 2、使用Windbg查看崩溃时详细的函数调用堆栈 3、将Windbg中显示的函数调用堆栈对照着C源码进一步分析 4、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/art…

JavaWeb(七)

一、Mybatis概念 MyBatis 是一款优秀的持久层框架,用于简化JDBC开发,解决了原生JDBC硬编码和手动封装结果集的问题。 JavaEE的三层架构分为Controller(表现层)、Service(业务层)、Mapper(持久层)。 持久层负责将数据保存到数据库的那一层代码。使用了…

【开源】基于Vue+SpringBoot的数据可视化的智慧河南大屏

项目编号: S 059 ,文末获取源码。 \color{red}{项目编号:S059,文末获取源码。} 项目编号:S059,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 …