Fiddler拦截http请求修改数据

1、拦截http请求

使用Fiddler进行HTTP断点调试是fiddler一强大和实用的工具之一。通过设置断点,Fiddler可以做到:

①修改HTTP请求头信息。例如修改请求头的UA,Cookie,Referer信息,通过“伪造”相应信息达到相应的目的(调试,模拟用户真实请求等)。

②构造请求数据,突破表单的限制,随意提交数据。避免页面js和表单限制影响相关调试。

③拦截响应数据,修改响应实体。

设置断点共有两种方式:

①fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。有两个断点位置:

1)before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。

2)after response。也就是服务器相应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。

3)如何消除命令呢?点击Rules->Automatic Breakpoint->Disabled

②命令行设置断点

1)bpu在请求开始时中断

2)bpafter在响应到达时中断

3)bps中断HTTP响应状态为指定字符的全部session响应

4)bpv/bpm中断指定请求方式的全部session响应

示例一:

命令行输入:bpm www.baidu.cm(拦截www.baidu.com请求)

解除拦截:输入命令:bpu

示例二:

命令行输入:bpuafter www.baidu.cm(拦截www.baidu.cm返回值)

解除拦截:输入命令:bpuafter

2、修改数据

拦截Http请求后修改方式有两种,一种是临时修改,即结果只对当次请求有效,另一种是永久修改,可以通过urlreplace命令实现。

①临时修改请求

即在fiddler中执行Inspectors->WebForms,修改请求变量参数后执行Run to Completion,服务器返回新的请求结果

②永久性修改请求

1)命令行设置修改规则,修改请求:urlreplace 旧请求值 新请求值

fiddler命令行输入:urlreplace pageid=103 pageid=105

其中pageid是请求参数,输入命令后回车即可,新的请求设置成功,除非释放请求,否则请求值不变,释放请求命令urlreplace

2)脚本中修改规则,打开脚本方式:fiddler执行Rules->Customize Rules

示例一:拦截考拉客户端请求,修改请求数据

前置条件:手机端设置好代理(最好不用测试wifi,测试wifi修改了DNS,篡改内容复杂)

步骤一:拦截直播发现页请求,fiddler命令行执行:

bpu http://api.kaolafm.com/api/v4/pagecontent/list?pageid=103

步骤二:手机端启动考拉,点击直播tab,打不开直播列表页

fiddler查看请求没有任何返回值

步骤三:WebFroms修改参数值临时修改请求,返回发现页数据:

fiddler执行:Inspectors->WebForms,将pageid值从103修改为105,执行Run to Completion,接口返回主播列表页数据

步骤四:命令行设置修改数据规则,永久改变数据

fiddler命令行执行:urlreplace pageid=103 pageid=105

步骤五:客户端点击直播tab,打开主播发现页

步骤六:解除拦截,执行:urlreplace,再执行:bpu

步骤七:客户点击直播tab,正常打开直播发现页

接口请求过程如下:

示例二:拦截状态码为302的请求

步骤一:pc浏览器打开:www.kaollafm.com

步骤二:fiddler命令行执行:bps 302

步骤三:再次在PC浏览器打开:www.kaolafm.com

步骤四:解除拦截,命令行执行:bps

接口请求过程如下:

资料来源:https://wenku.baidu.com/view/ff185ff7cfc789eb172dc8f3.html

原文地址:https://www.cnblogs.com/kristin/p/8445055.html

时间: 2024-09-28 02:53:45

Fiddler拦截http请求修改数据的相关文章

通过fiddler拦截请求去修改提交参数

1.  篡改支付金额 流程: A. 利用fiddler获取相关url信息 B. 在命令行输入"bpu 需要拦截的url"回车 C. 在app或者web进行相关请求操作,请求会被fiddler拦截,不再继续 D. 修改请求参数,点击run to completion继续向服务器提交请求 E.  查看app或web端的交易记录 原文地址:https://www.cnblogs.com/duwk/p/9441414.html

给HttpClient配置代理以使用Fiddler拦截发送的请求

import java.io.File; import org.apache.commons.io.IOUtils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.springframework.con

【原创】大叔问题定位分享(34)Spring的RestTemplate请求json数据后内容被修改

先看代码 org.springframework.web.client.RestTemplate public RestTemplate() { this.messageConverters = new ArrayList(); this.errorHandler = new DefaultResponseErrorHandler(); this.headersExtractor = new RestTemplate.HeadersExtractor(); this.messageConvert

关于cas-client单点登录客户端拦截请求和忽略/排除不需要拦截的请求URL的问题(不需要修改任何代码,只需要一个配置)

前言:今天在网上无意间看到cas单点登录排除请求的问题,发现很多人在讨论如何通过改写AuthenticationFilter类来实现忽略/排除请求URL的功能:突发奇想搜了一下,还真蛮多人都是这么干的,原谅我是个耿直的boy,当时我笑的饭都喷出来了,只需要一个配置的问题,被你们搞的这么麻烦:虽然很想回复他们"你们这帮人用别人的东西都不看源码的吗?",转念一想,这也要怪作者不给力,文档里压根没有提到这个配置,在这里用少量篇幅讲解如何配置排除不需要拦截的请求URL,后面用大量篇幅介绍我是如

前端开发:mock.js的简单应用(生成随机数据,拦截 Ajax 请求)

摘要 在前端开发过程中,后端接口还没有完全开发完成时,前端开发人员就需要学会自己模拟后端接口数据,更快更好的完成开发任务.模拟后端接口数据的js库有很多,今天就简单就简单的分享下mock.js在前端开发的应用(嘿嘿,毕竟这个mock应用的开发人员较多). 内容 1.Mock的安装 根据官方文档安装mock,运行安装命令安装即可. npm install mockjs 2.Mock的简单介绍 2.1.mock数据模板定义 根据官方文档示例介绍,输出一个随机数的‘*’字符串来展示mock的数据模板,

Fiddler-006-修改HTTP请求响应数据

在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查看相应的页面显示处理.例如:电商购物App中商品都有好几种状态(在售.缺货.暂不销售.下 架等).同时,一般这几种状态均为同一个按钮对应的多种情况,那么测试商品详情时,需要测试按钮在商品不同状态下的显示效果,就需要构建不同状态的商品, 若是多人测试不同的状态下的操作,那么就不能使用同一件商品同时进行测试,因为测试时,需要修改商品的状态,那么多人测试时会有影响.此时,测试页面显示 的朋友,则可以通过修改获取商品详情的HTTP请

iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求

这篇文章会提供一种在 Cocoa 层拦截所有 HTTP 请求的方法,其实标题已经说明了拦截 HTTP 请求需要的了解的就是 NSURLProtocol. 由于文章的内容较长,会分成两部分,这篇文章介绍 NSURLProtocol 拦截 HTTP 请求的原理,另一篇文章如何进行 HTTP Mock 介绍这个原理在 OHHTTPStubs 中的应用,它是如何 Mock(伪造)某个 HTTP 请求对应的响应的. NSURLProtocol NSURLProtocol 是苹果为我们提供的 URL Loa

IOS拦截重定向请求(302)的几种方式

前言 在多数情况下,我们做的网络请求是返回200状态码的,但也有返回302的时候,比如使用基于Oauth2认证协议的API时,在认证阶段,需要提供一个回调地址,当用户授权后,服务器会返回一个302 Response,Response Header中会一个Location字段,包含了我们的回调地址,同时会有一个Code参数.我们在程序中该如何处理这个请求,并拿到这个Code参数呢.下面由我来为大家讲解下几种方式的做法,各取所需. 假设您知道并使用过Oauth2认证协议 (一)UIWebView控件

Fiddler中设置断点修改Request

Fiddler中设置断点修改Request Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据.设置断点有两种方法 第一种:打开Fiddler 点击Rules-> Automatic Breakpoint  ->Before Requests(这种方法会中断所有的会话) 如何消除命令呢?  点击Rules-> Automatic Breakpoint  ->Disabled 第二种: