Fiddler工具学习使用总结
1.初识fiddler:
作用:截获http/HTTPS请求,查看截获的请求内容,伪造客户端请求和服务器响应,测试网站性能,解密https的web会话,提供插件。
工作环境:支持素有操作系统和所有浏览器,对win有更好的支持。
2.
当打开fiddler后 浏览器中,工具>internet选项>连接>局域网设置高级>代理设置中 代理服务器地址被fiddler修改。
3.fiddler两种代理模式:
流模式(streaming) 缓冲模式(buffering)
流模式:fiddler会实时把服务器返回给客户端的数据返回给我们。流模式更接近于浏览器真实的行为。缓冲模式:fiddler会等待http请求所有的数据都准备好之后才会返回给应用程序。
4.使用场景:
1:开发环境host配置——通常情况下,配置host需改系统文件很不方便;在多个开发环境下切换很低效。fiddler提供了相对高效地host配置方法。
2:前后端接口调试——通常情况下,调试前后端接口需真实的环境、一大堆假数据、写js代码。Fiddler只需一个UI界面进行配置即可。
3:线上bugfix——Fiddler可将发布文件代理到本地,快速定位线上bug。
4:性能分析和优化。
5.工具条常用功能
1.给Fiddler捕捉到的会话增加一个备注
2.Replay:回放按钮, 通常来讲,捕捉,再回放。按快捷键R,就对一个请求做回放了.
3.X:清空监控面板,remove all 完全清空.
4.Go:调试Debug,在请求了断点的时候,让断点继续往下走,需要结合状态栏里的功能来使用
5.stream:模式切换按钮 ,流模式和缓冲模式,默认是缓冲模式
6.Decode:帮助我们把http里面的请求解压出来.
7.any process:过滤请求
6.状态栏
底部黑色条:控制台,可以在此输入一些命令行。输入help,获得指令
左一capturing:控制Fiddler是否工作
Web Browsers:过滤会话来源
左三,截断
左四,数字:记录当前展示的会话数量
7.监控面板
如何显示ServerIP:
在CustomRules文件中运用Ctrl+F查询 static function Main()
添加一行代码 FiddlerObject.UI.lvSession.AddBoundColumn("Server IP",120,"X-HostIP");,然后就能在最后一行看到ServerIP了。
Statistics:一个会话的统计信息 可以为优化提供依据
Inspectors: 对请求进行解包 可以查看相应的请求、响应信息
AutoResponder: 文件代理 可以把请求的资源用本地文件代理掉 方便调试线上文件。
Composer:前后端接口连调 可以用来伪造请求
Log:记录日志
Timeline:网站性能分析
8.fiddler文件,文件代理,host配置
Host配置:tools--hosts--选中enable...激活,再进行域名配置
请求ip会改变:
host
用Fiddler来配置Host:Tools -> HOST -> 打勾->添加规则->生效;去掉勾,保存,失效,或者直接关闭Fiddler也行。作用是把一个网站域名下所有的文件都映射到一台指定的服务器或者一个IP下。
文件替换
拖拽到AutoResponder,EXACT精准匹配(也可以用正则表达式进行模糊匹配),进行save后,可以直接将匹配的文件进行加载。 只映射一个文件,也可以替换响应,延迟等
9.fiddler请求模拟,前后端联调
请求的伪造:可以伪造Cookie
前后端连调:Composer -> 选择请求方式 GET -> copy 地址 参数-> excuete
400回复代表客户端请求错误
POST参数一般要放到RequestBody中
前端页面没有完成的情况下,后端可以用fiddler模拟http请求,联调接口
10.fiddler网络限速
网络限速
功能需要基于 fiddler 的插件
点击fiddlerScript 在代码里找到onBeforeRequest
FiddlerScript -> static function OnBeforeRequest ->
oSession["request-trickle-delay"]="3000";//请求阶段延迟
osession["response-trickle-delay"] = "3000";//请求立刻发出,回应延迟三秒
手机端网络限速方法:(待补全)
Save Script(保存脚本),发送请求
11.fiddler插件
插件很多,具体下载地址:https://www.telerik.com/fiddler/add-ons
JavaScript Formatter 代码格式化插件
Fiddler Add-ons 插件:javaScript formatter -> js文件右击 -> 选择 make javascript pretty -> textview / syntaxview 代码全部高亮显示
traffic differ (对比两个不同的对话): 直接拖进两个不同的请求,会显示完整的对比数据 -> 可以用来对比优化前后网站之间的不同
12.fiddler第三方插件
第三方插件:willow -> 快速管理host列表 完全可视化 http代理插件
可视化限速
因为没有开源,可以到http://pan.baidu.com/s/1mgocpBi进行下载体验
问题:.fiddler中文版下载插件无法使用。
解决方法:查看-显示控制台
然后输入
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
未解决。
Fiddler工具学习使用总结的更多相关文章
- WebApi及Fiddler工具
WebApi及Fiddler工具 1.概述 曾经有人问:asp.net mvc和asp.net webapi区别在哪?这个其实不好回答的.可能因为mvc模式盛行的原因,webapi显得孤芳自赏了,让人 ...
- Fiddler工具详细介绍
百度看到Fiddler工具的详细介绍,转载收藏,侵权删,原文地址:http://blog.csdn.net/qq_21445563/article/details/51017605 前部分讲解Fidd ...
- web手工项目04-测试报告的核心内容-HTTP请求和响应-fiddler工具进行抓包
回顾 登录功能测试(需求分析(输入分析,处理分析,输出分析),数据构造,编写用例) 测试点设计思路--扩展(相关业务,特殊角度-分支,异常,逆向) 流程图元素与画法(开始/结束,路径,数据,判定,步骤 ...
- 『言善信』Fiddler工具 — 6、Fiddler界面布局详解【命令行和状态栏】
目录 1.命令行 2.状态栏 1.命令行 命令行在Fiddler的左下方的黑色窗口,也叫QuickExec,可以调用 Fiddler的内置命令. 这一系列内置的函数用于筛选和操作会话列表中的sessi ...
- Git版本控制工具学习
Git代码管理工具学习 分布式管理工具:git 相比较svn它更加的方便,基本上我们的操作都是在本地进行的. Git文件的三种状态:已提交,已修改,以暂存. 已提交:表示文件已经被保存到本地数据库. ...
- sql server 内置ETL工具学习(一) BCP篇
sql server 内置ETL工具学习 常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS. BCP BCP全称BULK COPY PROGRAM 有以下特点: 命令 ...
- Fiddler - 工具配置及在ios抓取不了https的解决方法
一.首先,官网下载最新版fiddler工具: https://www.telerik.com/fiddler 二.打开fiddler,点击Tools - Options 我电脑上的各项配置如下图(也可 ...
- linux 工具学习网站
推荐一个很不错的linux工具学习网站; 对于一个开发人员来说,我觉得掌握这些工具对于基于linux的应用开发来说事半功倍. http://linuxtools-rst.readthedocs.io/ ...
- Fiddler的学习之路
Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 . 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试 ...
随机推荐
- PHP函数禁用绕过
在渗透测试过程中可能经常会遇到上传webshell后,由于php.ini配置禁用了一些如exec(),shell_exec(),system()等执行系统命令的函数,导致无法执行系统命令,就此问题给出 ...
- 黑马程序员_毕向东_Java基础视频教程——位运算符(随笔)
位运算符 左移和右移 左移 左移越移越大. 往左移几位就相当于这个数乘于2的几次方 3 << 2 --> 3 * 2^2 = 3 * 4 = 12 3 << 3 --&g ...
- react 动态渲染echarts折线图,鼠标放大缩小
//折线图组件import React,{Component} from 'react'; import ReactEcharts from 'echarts-for-react'; class Ec ...
- python实现摇骰子猜大小函数升级没把加注及三大运行商短信验证过滤
摇骰子游戏升级 此次更改增加下注功能,启动资金1000元,每次赔率都是一倍,钱输光退出. 源码: #!/user/bin/env python #-*-coding:utf-8 -*- #Author ...
- live2d web端加载moc3模型
大佬博客链接:https://blog.csdn.net/weixin_44128558/article/details/104792345 照着大佬的博客做一下,可以先学会怎么生成bundle.js ...
- 9.5 Go 依赖管理
9.5 Go 依赖管理 godep是解决包依赖的管理工具,目前最主流的一种,原理是扫描记录版本控制的信息. A. 所有的第三方包都放在$GOPATH的src目录下. B. 如果不同程序依赖的版本不一样 ...
- 【Java】手把手理解CAS实现原理
先来看看概念,[CAS] 全称“CompareAndSwap”,中文翻译即“比较并替换”. 定义:CAS操作包含三个操作数 —— 内存位置(V),期望值(A),和新值(B). 如果内存位置的值与期望值 ...
- JAVA ArrayList集合基础
java集合的使用方法 一,集合ArrayList的定义方式 ArrayLsit<数据类型> 变量名=new ArrayList<数据类型>(); 二,集合的操作和概念 ...
- PHP 连接数据库基础操作
<?phpheader('Content-type:text/html;charset=utf-8');//1建立 或者 关闭mysql服务器 @符号用于屏蔽错误信息$link=@mysql ...
- Mybaties 的缓存
1.mybaties 默认会话是一级缓存,没有开启二级缓存.开启方式在mapper文件中设置<cache /> 2.<cache eviction="LRU" f ...