Fiddler抓包快速实战(小强出品)笔记

2024-05-30 05:32

本文主要是介绍Fiddler抓包快速实战(小强出品)笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 一、Fiddler基本配置
    • 二、fiddler包过滤
    • 三、如何查看该请求的响应信息
    • 四、捕捉Web中HTTPS请求
    • 五、fiddler抓移动app的HTTP包
    • 六、Fiddler抓移动app的HTTPS包
    • 七、Fiddler模拟低速网络
    • 八、Fiddler篡改数据请求
    • 九、Fiddler利用auto responder替换源资源
    • 十、Fiddler快速模拟mock(这边我不是很懂,等接触了接口测试再来补充)
    • 十一、Fiddler发送自定义请求(接口测试用到比较多)

前言:Fiddler是一款通过HTTP协议调试代理工具,能够抓取本机所有的HTTP和HTTPS请求。其运行机制就是在本机127.0.0.1上监听8888端口的HTTP代理。

一、Fiddler基本配置

打开fiddler的tools-options-connections进行如下配置
fiddler基本配置

二、fiddler包过滤

打开fiddler右侧filters页签,勾选use filters。
在这里插入图片描述
最常用的为request headers的Show only if URLcontains,后面输入URL或URL部分内容,表示仅显示URL包含该输入框内容的请求。
例如,输入baidu.com,点击remove all,然后在浏览器中访问www.baidu.com,那么fiddler抓取的包仅为URL包含baidu.com的内容。如图所示。
在这里插入图片描述
除此之外还可以使用hosts进行包过滤
Show only intranet hosts:仅显示内网的请求。
Show only internet hosts:仅显示外网的请求。
Hide the following hosts:隐藏包含以下host的请求。
Show only the following hosts:仅显示包含以下host的请求。
Flag the following hosts:标记包含以下host的请求,对目标请求进行重点标记

注:hosts中的输入框如需输入多项应用分号隔开。

三、如何查看该请求的响应信息

双击左侧请求列表的一条请求,在右侧inspectors中上面显示请求相关信息,下面显示响应的相关信息。如图所示。
在这里插入图片描述
如果下面的响应信息为乱码,不要着急,可以点击response body is encoded,click to decode.如图所示。
在这里插入图片描述
图中几个View的页签都是用不同格式去看内容。

四、捕捉Web中HTTPS请求

进行fiddler-tools-options进行如下设置,如果弹出对话框,都点击确定就行了。
在这里插入图片描述
配置完成后重启fiddler。

注:左侧抓到的请求列表中如果全是灰色的请求和黑色的请求,灰色代表走的缓存,此时需要Ctrl+F5强刷页面就正常了。

五、fiddler抓移动app的HTTP包

如果想用fiddler抓取app的包,必须保证手机和电脑在同一局域网。
配置手机代理:
①查看本地电脑ip。
②在手机WiFi设置的代理设置中输入主机名为本地电脑ip,端口为8888,保存。

这样fiddler上就可以抓到手机的相关请求了。Fiddler既可以抓安卓系统手机的包,也可以抓苹果手机的包,操作是一样的,使用完成后一定要记得关闭手机上的代理,否则手机可能无法上网。

六、Fiddler抓移动app的HTTPS包

打开手机浏览器,输入URL:http://电脑ip:8888,在打开的页面最底端点击FiddlerRoot certificate的超链接,然后根据链接内容一步步操作就可以了。它主要是在手机上安装一个fiddler的安全证书,安装完成后就可以抓取HTTPS的包了。另外苹果手机可能需要在通用-关于本机-证书信任设置中选择信任该证书,然后重启fiddler。

七、Fiddler模拟低速网络

点击fiddler-rules-customize rules,在弹出的customRules.js文件中搜索300,然后修改参数。如图所示就是关于网络延迟设置的函数
在这里插入图片描述
默认设置为上传速度300ms每kb,下载速度150ms每kb。此时根据个人需求修改参数300或150即可,比如修改300为30000,然后保存该文件,并勾选上fiddler-rules-performance-simulate module speeds,这样该文件就会生效,对请求延时进行限制。此时访问目标网页,该网页加载速度就会很慢甚至无法显示。测试完成后需要取消勾选。

八、Fiddler篡改数据请求

Fiddler拦截目标网页发出的请求,并篡改数据后发出。
访问目标网页,在fiddler的命令行输入bpu 目标网页网址并回车,然后在目标网页输入数据发送请求,fiddler拦截到请求,双击该请求,在请求的表单页签修改数据,然后点击run。
示例:
①命令行中输入bpu https://home.51cto.com/index并回车。Fiddler底部如图所示,说明命令生效。
在这里插入图片描述
网页访问该网址,是一个登录页面。
在这里插入图片描述
输入正确的账号密码后点击登录如图所示,显示该页面正在加载中,而与此同时,fiddler表示收到一条消息。没错,发出的登录请求被拦截下来了。
在这里插入图片描述
在这里插入图片描述
上图所示,有红色标记的就是刚刚被拦截下来的登录请求,双击显示该请求。选中webform表单页签,可以清楚地看到我提交的登录信息。
在这里插入图片描述
此时我们修改password,然后点击绿色按钮run to completion,这条被篡改后的请求就发出去了并收到了响应。网页端如图所示,提示账号密码错误。
在这里插入图片描述
测试完成后,需要退出请求包拦截模式,只需在命令行中输入bpu回车即可,输入后如图
在这里插入图片描述

九、Fiddler利用auto responder替换源资源

Fiddler的auto responder是一种重定向功能,拦截会话中的资源并进行替换。
例如,我们把网页上的图片显示替换一下,注意,这边不是真的替换该资源,而是显示成别的资源。(使用该功能前要关闭filter过滤功能)。
以http://xqtesting.sxl.cn/该网页为例,我们要替换掉红框中的图片
在这里插入图片描述
①找到需要替换的图片资源
右键点击图片检查,谷歌浏览器很轻易放出了图片资源,或者直接右键该图片,点击复制图片地址。
在这里插入图片描述
②打开fiddler并强制刷新该页面,此时fiddler抓取了该页面的请求包,点击fiddler中的find,将该图片资源地址复制进去找到该图片请求包
在这里插入图片描述
在这里插入图片描述
③将fiddler右侧切换到auto responder页签,将该请求包用鼠标左键拖动到右侧,并勾上顶部的三个勾
在这里插入图片描述
点击最底端的一栏小三角,选择find a file,然后在弹出来的文件选择页面选择你想替换成的图片,然后在空白处点击一下锁定。
在这里插入图片描述
④强制刷新网页,就能看到原始图片资源被替换了
在这里插入图片描述
此时我们检查该图片地址,会发现其源资源并没有被改变,只是显示变了,可以理解为这里的替换是一种障眼法,只是给你看看效果。
在这里插入图片描述
⑤取消勾选请求包,网页就能恢复原来的样子
在这里插入图片描述

注意:该操作只对没有链接的图片有效

十、Fiddler快速模拟mock(这边我不是很懂,等接触了接口测试再来补充)

Mock是测试桩,能按照你想制定的规则模拟请求对应的响应,操作和上面的一样,只是把选择的图片文件换成json代码的txt文件,页面就会显示文件中的内容。一般在接口测试中用得比较多。
在这里插入图片描述
在这里插入图片描述

十一、Fiddler发送自定义请求(接口测试用到比较多)

将fiddler页签切换到Composer页面,一般用GET和POST比较多,如图所示,框中填写你的接口地址,然后点击execute
在这里插入图片描述
例如,访问dev.intersky.com.cn,点击execute后左侧给出了一个200的返回,该返回显示的是一个登陆页面,这是正确的。
在这里插入图片描述

这篇关于Fiddler抓包快速实战(小强出品)笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015700

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Python中的随机森林算法与实战

《Python中的随机森林算法与实战》本文详细介绍了随机森林算法,包括其原理、实现步骤、分类和回归案例,并讨论了其优点和缺点,通过面向对象编程实现了一个简单的随机森林模型,并应用于鸢尾花分类和波士顿房... 目录1、随机森林算法概述2、随机森林的原理3、实现步骤4、分类案例:使用随机森林预测鸢尾花品种4.1

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount