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

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Python利用ElementTree实现快速解析XML文件

《Python利用ElementTree实现快速解析XML文件》ElementTree是Python标准库的一部分,而且是Python标准库中用于解析和操作XML数据的模块,下面小编就来和大家详细讲讲... 目录一、XML文件解析到底有多重要二、ElementTree快速入门1. 加载XML的两种方式2.

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读