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

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务