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请求,分析请求数据.设置断点.调试 ...
随机推荐
- select嵌套问题
关于sql语句: SELECT COUNT(ID) FROM dbo.N_Order_BusinessBatch WHERE Mobile='15210235082' And CreateTime=( ...
- java套打
1:套打可能是以后软件开发可能会涉及到的功能,主要麻烦地方就是需要精确定位,光是打印发票还好,要是打印那种协议类型的特别麻烦,不仅长而且需要的数据多 ,定位麻烦. 2:而且大多数情况是需要去除页眉页脚 ...
- java ->IO流_commons类
commons-IO 导入classpath 加入classpath的第三方jar包内的class文件才能在项目中使用 1.创建lib文件夹 2.将commons-io.jar拷贝到lib文件夹 3. ...
- 程序员的踩坑经验总结(一):如何把Bug的偶现变必现
程序员的踩过的坑也是可以分类的,很常见又很难解决的一类是偶然的现象,表现起来比较怪异. 而把一个问题Bug的偶现变成必现,是开发人员的一种能力.我认为也应该是测试人员的一种能力,但是各个公司要求不一样 ...
- Postman学习宝典(一)
前言:网上看到的比较好的Postman教程,既然已经有了,我就不重复造轮子了,直接copy过来. 资源来源于:米阳MeYoung Postman 入门1- 安装.变量.代理 简介 Postman 是一 ...
- mysqldump 参数--single-transaction
其实很简单,single-transaction可以让mysqldump 的时候不锁表.但是他有3个前提 innodb的引擎 不能在执行的同时,有其他alter table ,drop table,r ...
- JSR303后端校验详细笔记
目录 JSR303 使用步骤 关于不为空 分组校验 自定义校验 完整代码 JSR303 使用步骤 1.依赖 <!--数据校验--> <dependency> <group ...
- HTML5面试题
1. sessionStorage和localStorage的区别 答案: sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会 ...
- Spring 中基于 AOP 的 @AspectJ
Spring 中基于 AOP 的 @AspectJ @AspectJ 作为通过 Java 5 注释注释的普通的 Java 类,它指的是声明 aspects 的一种风格. 通过在你的基于架构的 XML ...
- Git创建子分支,合并分支并提交到Gitee码云
Git合并分支后,需要将子分支提交到git仓库,这个时候就需要单独提交子分支,其步骤如下: 先创建子分支,并包含最新当前分支下的修改数据 git checkout -b sonBranch 将新分支内 ...