Fiddler的学习
以下内容转自:http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html
仅为查找方便而复制~~
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。
阅读目录
- Fiddler的基本介绍
- Fiddler的工作原理
- 同类的其它工具
- Fiddler如何捕获Firefox的会话
- Firefox 中使用Fiddler插件
- Fiddler如何捕获HTTPS会话
- Fiddler的基本界面
- Fiddler的统计视图
- QuickExec命令行的使用
- Fiddler中设置断点修改Request
- Fiddler中设置断点修改Response
- Fiddler中创建AutoResponder规则
- Fiddler中如何过滤会话
- Fiddler中会话比较功能
- Fiddler中提供的编码小工具
- Fiddler中查询会话
- Fiddler中保存会话
- Fiddler的script系统
- 如何在VS调试网站的时候使用Fiddler
- Response 是乱码的
Fiddler的基本介绍
Fiddler的官方网站: http://www.telerik.com/fiddler
Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料。
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展
你对HTTP 协议越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能帮助你了解HTTP协议.
Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具
Fiddler的工作原理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
同类的其它工具
同类的工具有: httpwatch, firebug, wireshark
Fiddler 如何捕获Firefox的会话
能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制其实就是本机上监听8888端口的HTTP代理。 Fiddler2启动的时候默认IE的代理设为了127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。
Firefox 上通过如下步骤设置代理
点击: Tools -> Options, 在Options 对话框上点击Advanced tab - > network tab -> setting.
Firefox 中安装Fiddler插件
修改Firefox 中的代理比较麻烦, 不用fiddler的时候还要去掉代理。 麻烦
推荐你在firefox中使用fiddler hook 插件, 这样你非常方便的使用Fiddler获取firefox中的request 和response
当你安装fiddler后, 就已经装好了Fiddler hook插件, 你需要到firefox中去启用这个插件
打开firefox tools->Add ons -> Extensions 启动 FiddlerHook
Fiddler如何捕获HTTPS会话
默认下,Fiddler不会捕获HTTPS会话,需要你设置下, 打开Fiddler Tool->Fiddler Options->HTTPS tab
选中checkbox, 弹出如下的对话框,点击"YES"
点击"Yes" 后,就设置好了
Fiddler的基本界面
看看Fiddler的基本界面
Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下图
Fiddler的HTTP统计视图
通过陈列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您当前请求的页面。使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
QuickExec命令行的使用
Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。
常见得命令有
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令
?.png 用来选择png后缀的图片
bpu 截获request
Fiddler中设置断点修改Request
[作者:小坦克] Fiddler最强大的功能莫过于设置断点了,设置好断点后,你可以修改httpRequest 的任何信息包括host, cookie或者表单中的数据。设置断点有两种方法
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->Before Requests(这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢? 在命令行中输入命令 bpu
看个实例,模拟博客园的登录, 在IE中打开博客园的登录页面,输入错误的用户名和密码,用Fiddler中断会话,修改成正确的用户名密码。这样就能成功登录
1. 用IE 打开博客园的登录界面 http://passport.cnblogs.com/login.aspx
2. 打开Fiddler, 在命令行中输入bpu http://passport.cnblogs.com/login.aspx
3. 输入错误的用户名和密码 点击登录
4. Fiddler 能中断这次会话,选择被中断的会话,点击Inspectors tab下的WebForms tab 修改用户名密码,然后点击Run to Completion 如下图所示。
5. 结果是正确地登录了博客园
Fiddler中设置断点修改Response
当然Fiddler中也能修改Response
第一种:打开Fiddler 点击Rules-> Automatic Breakpoint ->After Response (这种方法会中断所有的会话)
如何消除命令呢? 点击Rules-> Automatic Breakpoint ->Disabled
第二种: 在命令行中输入命令: bpafter www.baidu.com (这种方法只会中断www.baidu.com)
如何消除命令呢? 在命令行中输入命令 bpafter,
具体用法和上节差不多,就不多说了。
Fiddler中创建AutoResponder规则
Fiddler 的AutoResponder tab允许你从本地返回文件,而不用将http request 发送到服务器上。
看个实例. 1. 打开博客园首页,把博客园的logo图片保存到本地,并且对图片做些修改。
2. 打开Fiddler 找到logo图片的会话, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把这个会话拖到AutoResponer Tab下
3. 选择Enable automatic reaponses 和Unmatched requests passthrough
4. 在下面的Rule Editor 下面选择 Find a file... 选择本地保存的图片. 最后点击Save 保存下。
5. 再用IE博客园首页, 你会看到首页的图片用的是本地的。
Fiddler中如何过滤会话
每次使用Fiddler, 打开一个网站,都能在Fiddler中看到几十个会话,看得眼花缭乱。最好的办法是过滤掉一些会话,比如过滤掉图片的会话. Fiddler中有过滤的功能, 在右边的Filters tab中,里面有很多选项, 稍微研究下,就知道怎么用。
Fiddler中会话比较功能
选中2个会话,右键然后点击Compare,就可以用WinDiff来比较两个会话的不同了 (当然需要你安装WinDiff)
Fiddler中提供的编码小工具
点击Fiddler 工具栏上的TextWizard, 这个工具可以Encode和Decode string.
Fiddler中查询会话
用快捷键Ctrl+F 打开 Find Sessions的对话框,输入关键字查询你要的会话。 查询到的会话会用黄色显示
Fiddler中保存会话
有些时候我们需要把会话保存下来,以便发给别人或者以后去分析。 保存会话的步骤如下:
选择你想保存的会话,然后点击File->Save->Selected Sessions
Fiddler的script系统
Fiddler最复杂的莫过于script系统了 官方的帮助文档: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
首先先安装SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下图
安装成功后Fiddler 就会多了一个Fiddler Script tab, 如下图
在里面我们就可以编写脚本了, 看个实例 让所有cnblogs的会话都显示红色。
把这段脚本放在OnBeforeRequest(oSession: Session) 方法下,并且点击"Save script"
if (oSession.HostnameIs("www.cnblogs.com")) { oSession["ui-color"] = "red"; }
这样所有的cnblogs的会话都会显示红色
如何在VS调试网站的时候使用Fiddler
我们在用visual stuido 开发ASP.NET网站的时候也需要用Fiddler来分析HTTP, 默认的时候Fiddler是不能嗅探到localhost的网站。不过只要在localhost后面加个点号,Fiddler就能嗅探到。
例如:原本ASP.NET的地址是 http://localhost:2391/Default.aspx, 加个点号后,变成 http://localhost.:2391/Default.aspx 就可以了
第二个办法就是在hosts文件中加入 127.0.0.1 localsite
如何你访问http://localsite:端口号 。 这样Fiddler也能截取到了。
Response 是乱码的
有时候我们看到Response中的HTML是乱码的, 这是因为HTML被压缩了, 我们可以通过两种方法去解压缩。
1. 点击Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2. 选中工具栏中的"Decode"。 这样会自动解压缩。
Fiddler的学习相关推荐
- fiddler基础学习
B/S架构和请求过程 https://www.baidu.com/img/picture.png http:// 协议 www.baidu.com 域名(用于寻找主机的IP地址) fiddler原理 ...
- Fiddler抓包学习笔记
背景介绍 近期笔者在逛CSDN时看见一篇非常有趣的文章,文章讲述的是通过Jmeter+Fiddler来实现微信投票活动的非法拉票,所以笔者对Fiddler进行了解,了解之后才发现Fiddler作用不仅 ...
- fiddler接口基础
为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始. 结合抓包工具讲http协议更容易学一些. 抓firefox上htt ...
- 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具
本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...
- Fiddler抓包:详解Fiddler抓包工具软件使用教程
为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 抓firefox上https ...
- Fiddler抓包简易教程
由于本人能力有限,文中若有错误之处,欢迎指正. 转载请注明出处:http://www.jianshu.com/p/9e05a2522758 Fiddler是什么? Fiddler是一个http协议调试 ...
- Fiddler使用介绍
转载自 https://yq.aliyun.com/articles/61421 真的是很有用,十分感谢 摘要: 简介: Fiddler是一款网络分析工具,功能强大,下边介绍下他里边的工具栏以及他 ...
- fiddler 抓包详细教程
为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始. 结合抓包工具讲http协议更容易学一些. 抓firefox上htt ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 刚买须知:本书是针对零基础入门接口 ...
最新文章
- 一些实用的注册表封装类
- ​​​​​​​2016最新CocoaPods安装与使用
- ViewPager实现页面切换
- xpath 简单小记
- 苹果官宣春季发布会!不止有iPhone SE 3,还有紫色iPhone 13 Pro?
- mql 查询多结果_一篇文章带你全面掌握Excel中的各种数据查询知识与技巧
- 创建LEANGOO账号
- 全迹科技化工人员定位系统助推裕泰化工集团安全管理智能升级
- 如何跨网络远程操作另一台计算机,如何远程控制另一台电脑?
- Java第十一章总结 枚举与泛型
- 互联网商业模式O2O、C2C、B2B、B2C等介绍
- Sim Lock —— 手机Network锁
- 神奇的幻方(洛谷)c语言
- CC(Smart3D)航拍影像结合激光雷达创建实景三维模型(视频教程可下载)
- 爬虫--西安二手房房价
- 宏杉科技的第一,不是魔术变出来的
- date js 减去_如何从Javascript中减去10天的日期
- 值得收藏的35+ 免费Javascript /Flash相册
- 需求基线的划定与管理
- 漫画 | Linux之父:财务自由以后,我失眠了!
热门文章
- java B2B2C springmvc mybatis多租户电子商城系统(五):熔断监控Hystrix Dashboard和Turbine...
- ckeditor富文本编辑器的基本配置设置:
- Windows下的磁盘管理(二)
- java8 环境变量设置
- RHEL6开机启动流程详解
- linux计时函数的使用
- Jquery之dom操作
- express的cookie解析和签名源码解析
- zephir开发的扩展“wudimei框架”之数据库使用方法
- SpringBoot 2.0 系列001 -- 入门介绍以及相关概念