fiddler---Fiddler修改数据信息
在测试的过程中,可能我们会遇到需要修改一些数据查看请求返回内容是如何的,刚好Fiddler也可以满足我们的要求,Fiddler不仅可以抓包还可以修改包的内容
Fiddler修改数据原理
Fiddler设置断点,拦截HTTP请求数据,修改HTTP请求数据,然后再请求给服务器端
Fiddler可以修改什么数据
Fiddler打完断点后可以修改HTTP请求的任何信息,包括Host,Cookie等
Fiddler如何打断点
打开全局断点
1、打开菜单栏Rules---Automatic BreakPoints Before Requests勾选(或者快捷键F11)
2、点击Fiddler下方阻止图标位置2次
设置完成后访问网页会请求不成功,session会话列表会出现下图情况
最下图也会出现阻止请求图标
取消全局断点
1、打开菜单栏Rules---Automatic BreakPoints Before Requests勾选(或者快捷键F11)
2、点击2次Fiddler下方阻止图标
打开单个断点
已知URL地址时,这个时候只需对这个URL进行断点调试,其他的请求不拦截
在命令行中输入命令:bpu URL地址 如:bpu www.baidu.com
访问百度和其他网站对比发现其他网站可以请求成功,百度网站无法请求成功
取消单个断点
直接在命令航中输入bpu
修改HTTP请求
还是拿豆瓣网练习,进行对豆瓣网打断点,输入错误的账号密码进行请求数据,在Fiddler中修改账号密码重新发送查看页面内容
1、在命令行中输入豆瓣网址
2、输入错误的账号名密码进行请求,下图为Fiddler抓取的内容
- 表示断点拒绝请求的地址(豆瓣网)
- 表示抓取的豆瓣网输入的错误的用户名+密码
- 表示 表示运行请求
3、直接在Fiddler修改正确的用户名+密码后
点击黄色按钮 (Run to Completion)
请求通过后查看响应内容发现是登录成功的
这个时候去看浏览器会发现浏览器已经成功的跳转到登录成功的页面
点击黄色按钮(Break on Response)
点击黄色按钮(Break on Response)会显示响应内容,但是还会继续拦截该网站的请求,浏览器也不会进行跳转
修改HTTP响应
修改博客园的标题
1、进行对博客园进行断点拦截
2、进行请求数据,在Fiddler中继续请求得到响应内容(点击黄色 Break on Response)
3、修改响应数据内容,再次请求数据(点击绿色Run to Completion)
4、查看浏览器标题内容已经被修改完成
我们会发现如果使用bpu的话我们需要点击一次黄色按钮(Run to Completion)比较麻烦,还有一种更加简单的方法
方法2:修改标题内容和个人介绍信息
1、使用 bpafter 进行对博客园进行断点拦截
2、访问博客园内容查看Fiddler响应
发现直接跳转到了上个方法点击黄色请求后的
3、修改标题内容和介绍信息
4、查看浏览器内容
查看浏览器发现博客园的标题和介绍已经修改成功
修改数据可以帮助我们测试发现更多的bug哦
命令行更多操作
命令行中输入help查看更多的操作
官方文档:https://docs.telerik.com/fiddler/knowledgebase/quickexec
简单的举一个例子介绍了如何修还请求信息和响应信息,方法多多种,喜欢哪种用哪种。
原文地址:https://www.cnblogs.com/qican/p/11328740.html
- java提示找不到或无法加载主类
- 学Java有什么好方法?刻苦学技术让我最终成为自信的码农
- expect+scp传输文件发现文件丢失
- IBM WebSphere MQ 7.5基本用法
- QPS的计算
- Django----中间件详解
- linux 添加用户到sudo中
- 机器学习之白话adaboost元算法
- 查看占用内存多的进程
- jboss EAP 6.2 + Message Drive Bean(MDB) 整合IBM Webshpere MQ 7.5
- 通过jenkins API去build一个job
- Django---分页器、中间件
- 启动jenkins服务错误
- 如果未来的AI拥有意识,你舍得不理它吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- rxjs里的Observable对象subscribe方法的执行原理
- Java正则表达式
- kubernetes 二进制安装部署手册
- 接口
- Redis的各种数据类型实践--String字符串
- 必应API接口node.js版 - 极客玩家大白
- FFmpeg--简介
- 推荐系统中的常用算法——DeepWalk算法
- TypeError: cannot unpack non-iterable NoneType object
- 原型模式
- Spring 整合 Mybatis
- 数据库PostrageSQL-关闭服务器
- 快速配置Azure DevOps代理服务器
- 数据库PostrageSQL-管理内核资源
- airtest操作夜神模拟器adb冲突解决办法