Fiddler讲解2
想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档
阅读目录:
十六、问题:未捕获发送到http:// localhost或http://127.0.0.1的流量
十八、问题我没有看到任何HTTPS流量 - 我只看到“CONNECT”隧道。
十九、问题调用WebServices时,我收到System.NET.WebException“底层连接已关闭”。
在Fiddler中,单击“ 文件”菜单。
确保启用捕获流量。
捕获的Web流量会话将显示在“ 会话列表”中。
查看WEB会话摘要:
要查看Fiddler ID号,结果代码,协议,主机名,内容类型,URL,正文大小,缓存值,原始进程,自定义注释以及Web会话的任何自定义列:
在Web会话列表中查找Web会话。
查看Web会话统计信息:
要查看Web sesion的性能统计信息:
单击Web会话列表中的Web会话。
单击Statistics选项卡。
查看Web会话内容:
要以各种格式查看Web会话的内容:
单击Web会话列表中的Web会话。
单击“ 检查器”选项卡。
可视化会话转移时间轴:
要查看一个或多个Web会话的传输时间轴的瀑布图,请执行以下操作:
在Web会话列表中选择一个或多个Web会话。按住CTRL键并单击“ Web会话列表”中的会话以选择多个会话。
单击“ 时间轴”选项卡。
要查看Fiddler ID号,结果代码,协议,主机名,内容类型,URL,正文大小,缓存值,原始进程,自定义注释以及Web会话的任何自定义列:
在Web会话列表中查找Web会话。
要查看Web sesion的性能统计信息:
单击Web会话列表中的Web会话。
单击Statistics选项卡。
要以各种格式查看Web会话的内容:
单击Web会话列表中的Web会话。
单击“ 检查器”选项卡。
要查看一个或多个Web会话的传输时间轴的瀑布图,请执行以下操作:
在Web会话列表中选择一个或多个Web会话。按住CTRL键并单击以选择多个会话。
单击“ 时间轴”选项卡。
搜索捕获的请求和响应:
单击编辑>查找会话...并在对话框中指定搜索选项。
在QuickExec框中输入命令。
指导您的用户下载并使用FiddlerCap,这是Fiddler的简化版本,仅用于跟踪捕获。
将Accept标头和Download Initiator列添加到Web
Sessions List
启用
FEATURE_DOWNLOAD_INITIATOR_HTTP_HEADER
功能控制键。
在QuickExec框中输入以下命令:
cols add @request.Accept
cols add @request.X-Download-Initiator单击规则>自定义规则。
滚动到静态函数Main()块,并在以下内容中添加以下行:
FiddlerObject.UI.lvSessions.AddBoundColumn("Accept", 50, "@request.Accept");
FiddlerObject.UI.lvSessions.AddBoundColumn("Reason", 50, "@request.X-Download-Initiator");
要选择父会话(对所选会话的Referer标头中指定的URL的最新请求):
在Web会话列表中选择一个会话。
按P。
要选择所有子会话(以后对所选会话的Referer头中指定的URL的请求):
在Web会话列表中选择一个会话。
按C键。
重新排列列
要重新排序列,请将列标题向左或向右拖动。
要调整列的大小,请拖动列标题的边缘。
添加自定义列
使用这些方法:
使用“ 自定义列”菜单。
- 右键单击列的顶部,然后选择“ 自定义列...”。
- 单击“ 收集”下拉菜单,然后选择将填充列的集合。
- 输入将填充列的集合成员的名称以及列的标题。
使用QuickExec添加临时列
在QuickExec框中键入以下命令:
cols add [Title] FlagName
使用QuickExec添加的列将在Fiddler下次启动时删除。有关QuickExec列命令的更多信息,请参阅QuickExec参考。
从IFiddlerExtension调用AddBoundColumn方法
从[IFiddlerExtension] 调用AddBoundColumn方法,将getColumnStringDelegate作为第三个参数传递。
-
Fiddler将获得一个名为Privacy的新顶级菜单。
确保选中“ 隐私>已启用”。
该加载项将向会话列表添加“ 隐私信息”列,并将标记设置cookie的HTTP / HTTPS响应。
评估随这些cookie一起出现的任何P3P语句将改变会话的背景颜色:
- 绿色会议发送了令人满意的P3P政策。
- 黄色会话设置没有P3P策略的cookie。
- Orange会话发送P3P策略,该策略不允许在第三方上下文中使用cookie。
- 红色会话发送无效的P3P策略。
比较两个网络会话
- 在Web会话列表中选择两个会话。
- 右键单击其中一个会话。
- 单击上下文菜单中的比较。
默认情况下,这将尝试启动WinDiff或WinMerge来比较流量。
提示:
- 如果您正在使用WinDiff,则可以通过在单击“ 比较”菜单项时按住ALT或SHIFT使其打破标点符号的每一行。
- 如果您不希望Fiddler在保存文件时尝试重新组织标题和URL以简化差异 ,则可以将fiddler.differ.ultradiff 首选项设置为False。
更改默认文本比较工具
- 单击工具>提琴选项>工具。
- 输入工具可执行文件的位置。
设置自定义命令行参数
提供工具的路径:
PREFS SET fiddler.config.path.differ "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe"
配置命令行以匹配工具所需的内容:
PREFS SET fiddler.differ.Params "/diff \"{0}\" \"{1}\""
(可选)设置备用命令行,如果在调用比较时按住ALT或SHIFT,将调用该命令行:
PREFS SET fiddler.differ.ParamsAlt "/diff /binary \"{0}\" \"{1}\""
一次比较多个会话
通过流量差异扩展,您可以一次比较多个会话
要检查DataURI对象:
从Fiddler或任何其他来源将DataURI复制到剪贴板。
单击编辑>将文件粘贴为会话 ]。
Fiddler将解析DataURI并在Web Sessions列表中为它创建一个新的Session 。
使用Fiddler检查器检查生成的对象。
解决方案:查看您的提琴手配置
查看“ 配置客户端”部分。
如果适用,请查看配置浏览器或配置.NET应用程序页面。
如果适用,请查看“ 监控到localhost的流量”页面。
确保一个或多个过滤器不会阻止流量。
如果适用,请查看“ 监视器拨号”或“VPN连接”页面。
十六、问题:未捕获发送到http:// localhost或http://127.0.0.1的流量
Internet Explorer和.NET Framework是硬编码的,不通过任何代理发送对Localhost的请求,作为代理,Fiddler不会收到此类流量。
Release Candidate版本中的Internet Explorer 9更改了此行为。IE9 RC允许Fiddler代理发送到localhost或127.0.0.1的流量,无需您执行其他步骤。
您永远不应该遇到Firefox的“Localhost流量未捕获”问题。当Fiddler处于“捕获”模式时,Firefox的FiddlerHook附加组件会从“旁路代理”列表中删除“localhost”。
解决方案1:使用计算机名称或主机名
最简单的解决方法是使用您的计算机名称作为主机名而不是Localhost或127.0.0.1。例如,而不是点击:
http://localhost:8081/mytestpage.aspx
而是访问:
http://machinename:8081/mytestpage.aspx.
解决方案2:使用http://ipv4.fiddler
使用http://ipv4.fiddler命中IPv4适配器上的localhost。这适用于Visual Studio测试Web服务器(代号:Cassini),因为测试服务器只侦听IPv4环回适配器。使用http://ipv6.fiddler命中IPv6适配器上的localhost,或使用http://localhost.fiddler使用Host头中的“localhost”命中localhost。最后一个选项应该最适合IIS Express。
解决方案3:更新规则文件
更新您的规则文件,如下所示:
static function OnBeforeRequest(oSession:Fiddler.Session){if(oSession.HostnameIs(“MYAPP”)){oSession.host =“127.0.0.1:8081”; }}
请求http:// myapp,它将充当127.0.0.1:8081的别名。
我在Web会话列表中看到了一些流量,但是某些流量(例如,来自特定程序)似乎缺失了。
解决方案:检查流量过滤器
检查是否启用了任何流量过滤器。
检查状态栏
检查工具栏中的Process Filter。
- 选中过滤器选项卡。
如果您已经编写或设置了任何Fiddler规则,请检查它们。
点击帮助>排除过滤器...。当您这样做时,否则将隐藏的流量将以删除线字体显示。“ 注释”列将显示哪个Fiddler过滤器负责尝试隐藏流量。
十八、问题我没有看到任何HTTPS流量 - 我只看到“CONNECT”隧道。
解
默认情况下禁用HTTPS流量解密。了解有关使用Fiddler2解密HTTPS流量的详细信息。
十九、问题调用WebServices时,我收到System.NET.WebException“底层连接已关闭”。
解
通过Fiddler调试.Net应用程序时,您可能会看到System.Net.WebException,并显示消息“底层连接已关闭:服务器已关闭预期保持活动状态的连接”。
这是您的应用程序中的错误(它应该处理此类异常)。
注意:由于增强的客户端连接重用支持,Fiddler 2.2.8.5及更高版本中不太可能出现此问题。
解
确保在IE的工具> Internet选项>高级选项卡或您选择的浏览器中的类似设置中选中“通过代理服务器使用HTTP1.1” 。
Fiddler讲解2的更多相关文章
- Fiddler讲解3
想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档 阅读目录: 一.Fiddler自定义请求: 二.Fiddler修改请求: 三.减少期望的延迟:100个继续标题: 四.重命名无效的P ...
- fiddler过滤机制讲解
1.User Fiters启用 2.Action Action:Run Filterset now是否运行,Load Filterset加载,Save Filterset保存: 3.Hosts过滤 Z ...
- 【转】零基础学习Fiddler抓包改包
看到一篇讲关于Fiddler抓包工具的讲解,个人感觉写得很仔细,但是作者说禁止转载,那就放个链接Mark一下 http://tmq.qq.com/2016/12/fiddler_packet_capt ...
- fiddler 插件开发
本文主要讲解使用.net C#语言开发Fiddler插件. 1.在Fiddler 会话列表中添加自定义列 使用FiddlerApplication.UI.lvSessions.AddBoundColu ...
- fiddler 插件开发二
本篇主要讲解Fildder插件开发中的涉及到的主要接口与类. 1.IFiddlerExtension 接口 如果要开发的自定义插件有UI界面,则需要实现IFiddlerExtension 接口.你程序 ...
- 技术方案:在外部网址调试本地js(基于fiddler)
1 解决的问题 1) 场景1:生产环境报错 对前台开发来说,业务逻辑都在js中,所以报错90%以上都是js问题. 如果生产环境出现报错,但是测试环境正常.这时修改了代码没有环境验证效果, ...
- 利用Fiddler修改请求信息通过Web API执行操作(Action)实例
本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复261或者20170724可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测 ...
- Jmeter脚本录制方法(二)——手工编写脚本(jmeter与fiddler结合使用)
jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ...
随机推荐
- React Hooks介绍和环境搭建(一)
React Hooks 简介 2018年底FaceBook的React小组推出Hooks以来,所有的React的开发者都对它大为赞赏.React Hooks就是用函数的形式代替原来的继承类的形式,并且 ...
- 与 ES5 相比,React 的 ES6 语法有何不同?
以下语法是 ES5 与 ES6 中的区别: 1.require 与 import // ES5 var React = require('react'); // ES6 import React fr ...
- Windows 操作系统 快捷键
窗口放大缩小: + ↑↓ 最小化窗口: ALT + Esc 关闭窗口: Alt + F4 搜索功能: + 直接输入搜索内容 打开文件管理器: + E 在文件管理器中切换: Tab
- Sword zlog日志库使用
配置文件*.conf 配置文件具体内容如下: [global] #改变量可以不写,默认是true,如果使用设置为true时,Zlog就会严格检查所用格式和规则,否则,忽略所用格式和规则. strict ...
- Dart 中常用的数组操作方法总结
这里总结了一些在 Dart 中常用的数组操作方法,以便查阅. 首先,我们准备两组数据,以方便后面使用: List<Map> students = [ { 'name': 'tom', 'a ...
- javaselenium遇到的问题和解决方法(还没试,遇到问题可以先看这里)
Firefox路径问题 firefox火狐浏览器去完成自动化测试时,代码报了如下错误: Cannot find firefox binary in PATH. mark sure firefox is ...
- 123457123456#0#-----com.tym.NaojingJiZhuanWan--前拼后广--脑筋急转弯
com.tym.NaojingJiZhuanWan--前拼后广--脑筋急转弯
- oracle存储过程(带参数的存储过程)
带参数的存储过程 举例:为指定的员工涨100元的工资,打印涨前和涨后的工资 如果带参,需要指定是输入参数还是输出参数 create or replace procedure raisesalary(e ...
- ng2中 如何使用自定义属性data-id 以及赋值和取值操作
项目环境:ng4.x 写法说明: [attr.data-nurseKey] <div [attr.data-nurseKey]="k.nurseKey"></di ...
- 用MATLAB的Classficiation Learner工具箱对12个数据集进行各种分类与验证
准备材料 以所有的特征集作为variable进行像Bayes吖.SVM吖.决策树吖......分类.同时对数据进行预处理,选出相关度高的特征子集作为新的一组data进行分类(预处理的代码不必放出来). ...