fiddler常用功能
原理
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(cookie,html,js,css等)。
fiddler下载、安装
下载
地址:www.telerik.com/fiddler
安装
启动
启动后的界面,包含:工具栏、请求列表、命令行、请求详情、响应详情
fiddler基础配置
默认监听端口为8888
勾选Allow remote computers to connect,表示允许远程连接(别的机器把HTTP/HTTPS请求发送到Fiddler上来)
fiddler默认只抓取http协议的请求,要抓取https协议的请求,需要做如下配置:
选中"Decrpt HTTPS traffic",fiddler就可以抓取https请求
首次勾选,会弹出两个对话框,是否信任fiddler证书和安全提示
否信任fiddler证书,点击【Yes】
安全提示,点击【是】
配置完成后,重启fiddler
fidller抓包默认用IE,IE不用做配置
打开fiddler,再打开IE的设置,可以看到,安装完fiddler后,默认也将IE的代理设置好了
关闭fiddler,代理自动被关闭
常用功能
清除左侧请求列表
过滤
方式一:
方式二:
隐藏或者显示配置的hosts
多个hosts之间用分号分割
显示内网、外网,这个用得少
web端抓包(http&https)
web端抓取http
设置过滤,只显示url中包含localhost的请求
启动本地tomcat服务,浏览器访问:http://localhost:8580/
双击下面这个请求
右侧上方显示请求详情,下方显示响应详情
web端抓取https
设置过滤
浏览器访问:https://www.baidu.com/
部分图标含义
清除图片
双击上面第一个请求
app端抓包(http&https)
以ios举例
完成fiddler的基础配置(见本篇第二节)
app端抓取http
手机和电脑在同一局域网
查看电脑ip
手机设置代理
设置过滤
手机访问电脑上的tomcat,电脑ip:8580,即:192.168.0.102:8580
app端抓取https
打开浏览器,输入电脑ip:8888,即:192.168.0.102:8888
点击上面的FiddlerRoot certificate超链接,下载证书
手机上安装证书
设置--通用--关于本机--证书信任设置,开启fiddler证书的信任
手机访问百度
模拟弱网低速
模拟低速网络情况下页面、APP的显示与交互情况,比如响应时间过长时是否有弹出网络不好的提示、页面crash以及显示错乱、session是否一致等
搜索:m_SimulateModem
默认,发送每KB延时300ms,接收每KB延时150ms
可以都设置为30000毫秒
变成黄色
ctrl+s保存后,变为绿色
开启限速
一直转圈
下面图标表示正在从服务器下载响应
测试结束后取消限速
请求数据篡改
Fiddler中设置断点修改Request
设置断点可以修改httpRequest的任何信息(包括host、cookie、表单中的数据)。
设置断点有两种方法:
第一种:打开Fiddler,点击Rules -> Automatic Breakpoint -> Before Requests(这种方法会中断所有的会话),取消方式:点击Rules -> Automatic Breakpoint -> Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com),取消方式:在命令行中输入命令 bpu
举例:
浏览器访问jenkins:http://ip:8580/jenkins/login
打开Fiddler,点击Rules -> Automatic Breakpoint -> Before Requests
输入账号密码(密码是错误的密码),点击登录
fiddler能中断这次会话,双击被中断的会话
点击Inspectors tab下的WebForms
修改密码为test1234,然后点击Run to Completion
然后就能登录成功
Fiddler中设置断点修改Response
第一种:打开Fiddler,点击Rules -> Automatic Breakpoint -> After Response (这种方法会中断所有的会话),取消:点击Rules-> Automatic Breakpoint -> Disabled
第二种: 在命令行中输入命令: bpuafter www.baidu.com (这种方法只会中断www.baidu.com),取消:在命令行中输入命令 bpuafter。
先设置fiddler,打开fiddler,点击Rules -> Automatic Breakpoint -> After Response
浏览器访问:http://ip:8580/jenkins/login
修改响应内容,添加如下内容
页面返回
但是这样容易造成请求超时,可以用AutoResponder。
AutoResponder替换源资源
目的:请求百度首页,返回https://www.cnblogs.com/UncleYong/
将左侧的请求拖动到右侧
此时,浏览器访问百度首页,会重定向到:
不使用该规则,取消勾选
或者移除
mock
fiddler_mock.txt
{"code":"0", "message":"success", "content":{"user":"uncleyong","url":"https://www.cnblogs.com/UncleYong/"}}
访问百度首页
另外,还可以用正则匹配
前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“NOT:”表示发现就不匹配
前缀为“REGEX:”表示使用正则表达式匹配
fiddler模拟http请求
无参
get有参
post
略
另外,可以将左侧请求行中需要的请求拖拽至请求构造栏中,修改相应参数,执行调试接口
声明:部分图片来源于网络,如有侵权,请联系删除
fiddler常用功能的更多相关文章
- Fiddler常用功能总结
使用Fildder几年来,深深的体会到了其便利性,给工作带来了极大的便利,所以把其它常用功能总结如下 一:介绍 1.免费,支持抓取http.https协议,可独立运动 2.原理:(客户通过移动端或是P ...
- fiddler常用功能一
fiddler备忘,好久不用,有些步骤忘记了 1.本机pc,目前ie和chrome都可以直接抓取,但是搜狗浏览器暂时抓不到 2.手机端抓包 (1)设置下代理:fiddler客户端查看下端口,然后在手机 ...
- Fiddler 常用功能总结
1.fiddler相关配置 2.如何抓包 移动端 ①保持手机和电脑处于同一网络中 ②设置手机的代理为电脑当前所处网络的IP,端口号为:8888,eg:10.12.1.64:8888. ③ 启动ap ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- fiddler抓包常用功能详解
一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...
- Fiddler 常用文档
时间飞逝,已经俩月有余没写东西了(本来写的就不多,(^▽^)),最近俩月的苦闷,此处省略 1W 字.... 闲言碎语不多讲,使用 Fiddler 有一小段时间了,今天在这里总结下,一来做个笔记,二来可 ...
- fiddler常用操作之断点
fiddler常用操作断点 标签(空格分隔): fiddler断点 一.断点: 1.为什么要打断点呢? 比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于1 ...
- fiddler常用操作
fiddler常用操作 标签(空格分隔): fiddler fidrdler抓取https请求: fiddler是一个很好的抓包工具,但是默认的是抓取HTTP的,对于pc的https的会提示网页不安全 ...
- WebStorm 常用功能的使用技巧分享
WebStorm 是 JetBrain 公司开发的一款 JavaScript IDE,使用非常方便,可以使编写代码过程更加流畅. 本文在这里分享一些常用功能的使用技巧,希望能帮助大家更好的使用这款强大 ...
随机推荐
- Webpack 一些核心概念了解
Webpack的几个核心概念 Entry:入口,Webpack执行构建的第一步将从Entry开始,可抽象成输入. Module:模块,在Webpack里一切皆模块,一个模块对应一个文件.Webpack ...
- 【微信小程序】小程序中的函数节流
大ga吼! 很久没写博客咯,今天学到了一点新知识, 记录分享一下~ 摘要: 小程序中的函数节流 场景: 从商城列表进入商品详情中时,或者生成,提交订单, 付款的时候, 若用户快速点击(一秒8键,母胎s ...
- redis持久化方式与优缺点
Redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式:二是Appen ...
- LeetcCode 27:移除元素 Remove Element(python、java)
公众号:爱写bug 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) ...
- 在onclick事件中传递对象参数
1.传json对象 var obj = {id: 1, name: 'jimc', age: 20}; var jsonObj = '<a onclick="show(' + JSON ...
- 问题追查:QA压测工具http长连接总是被服务端close情况
1. 背景 最近QA对线上单模块进行压测(非全链路压测),http客户端 与 thrift服务端的tcp链接总在一段时间被close. 查看服务端日志显示 i/o timeout. 最后的结果是: q ...
- windows 下验证文件MD5
CertUtil -hashfile C:\Users\admin\Downloads\aaa.txt MD5 CertUtil -hashfile C:\Users\admin\Downloads\ ...
- 通过消息总线Spring Cloud Bus实现配置文件刷新(使用Kafka或RocketMQ)
如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用webhook的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了.使用 ...
- thinkphp 分页类 url 编码处理
在做thinkphp分页的时候 thinkphp 中的分页 有一个小问题 就是 在有form 表单 搜索中文的时候,点击下一页的话 中文会被转换成编码. 如图: 最直接的方法就是 直接修改 thin ...
- Java自学-I/O Stream流
Java的流 Stream 什么是流(Stream),流就是一系列的数据 步骤 1 : 什么是流 当不同的介质之间有数据交互的时候,JAVA就使用流来实现. 数据源可以是文件,还可以是数据库,网络甚至 ...