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

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java 正则表达式的使用实战案例

《Java正则表达式的使用实战案例》本文详细介绍了Java正则表达式的使用方法,涵盖语法细节、核心类方法、高级特性及实战案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、正则表达式语法详解1. 基础字符匹配2. 字符类([]定义)3. 量词(控制匹配次数)4. 边

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变