Fiddler讲解2

想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档

阅读目录:

一、查看网络流量:

二、检查网络流量:

三、查看Web会话摘要:

四、查看Web会话统计信息:

五、查看Web会话内容:

六、查看Web会话转移时间线:

七、搜索和过滤会话:

八、从你的用户哪里获取Fiddler跟踪:

九、找出IE9发出网络请求的原因:

十、选择父或子会话:

十一、配置列:

十二、查看cooking信息:

十三、比较流量:

十四、查看DateURL对象:

十五、问题:Web会话列表中没有会话。

十六、问题:未捕获发送到http:// localhost或http://127.0.0.1的流量

十七、问题:特定流量丢失

十八、问题我没有看到任何HTTPS流量 - 我只看到“CONNECT”隧道。

十九、问题调用WebServices时,我收到System.NET.WebException“底层连接已关闭”。

二十、问题Fiddler捕获不完整的HTTP响应

一、查看网络流量:

  1. 在Fiddler中,单击“ 文件”菜单。

  2. 确保启用捕获流量

    捕获流量

捕获的Web流量会话将显示在“ 会话列表”中

会话列表

二、检查网络流量:

查看WEB会话摘要:

要查看Fiddler ID号,结果代码,协议,主机名,内容类型,URL,正文大小,缓存值,原始进程,自定义注释以及Web会话的任何自定义列:

  1. 捕获网络流量

  2. Web会话列表中查找Web会话

    网络会话列表

查看Web会话统计信息:

要查看Web sesion的性能统计信息:

  1. 单击Web会话列表中的Web会话

  2. 单击Statistics选项卡。

    统计标签

查看Web会话内容:

要以各种格式查看Web会话的内容:

  1. 单击Web会话列表中的Web会话

  2. 单击“ 检查器”选项卡。

    检查员标签

可视化会话转移时间轴:

要查看一个或多个Web会话的传输时间轴的瀑布图,请执行以下操作:

  1. Web会话列表中选择一个或多个Web会话按住CTRL键并单击“ Web会话列表”中的会话以选择多个会话。

  2. 单击“ 时间轴”选项卡。

    时间线选项卡

三、查看Web会话摘要:

要查看Fiddler ID号,结果代码,协议,主机名,内容类型,URL,正文大小,缓存值,原始进程,自定义注释以及Web会话的任何自定义列:

  1. 捕获网络流量

  2. Web会话列表中查找Web会话

    网络会话列表

四、查看Web会话统计信息:

要查看Web sesion的性能统计信息:

  1. 单击Web会话列表中的Web会话

    网络会话列表

  2. 单击Statistics选项卡。

    统计标签

五、查看Web会话内容:

要以各种格式查看Web会话的内容:

  1. 单击Web会话列表中的Web会话

    网络会话列表

  2. 单击“ 检查器”选项卡。

    检查员标签

六、查看Web会话转移时间线:

要查看一个或多个Web会话的传输时间轴的瀑布图,请执行以下操作:

  1. Web会话列表中选择一个或多个Web会话按住CTRL键并单击以选择多个会话。

  2. 单击“ 时间轴”选项卡。

    时间线选项卡

七、搜索和过滤会话:

搜索捕获的请求和响应:

  • 单击编辑>查找会话...并在对话框中指定搜索选项。

    查找会话

  • 在QuickExec框中输入命令

八、从你的用户哪里获取Fiddler跟踪:

指导您的用户下载并使用FiddlerCap,这是Fiddler的简化版本,仅用于跟踪捕获。

九、找出IE9发出网络请求的原因:

将Accept标头和Download Initiator列添加到Web 

Sessions List

  1. 启用

    FEATURE_DOWNLOAD_INITIATOR_HTTP_HEADER 

    功能控制键。

  2. 在QuickExec框中输入以下命令:

    cols add @request.Accept
    cols add @request.X-Download-Initiator

    QuickExec命令

  3. 单击规则>自定义规则

  4. 滚动到静态函数Main()块,并在以下内容中添加以下行:

    FiddlerObject.UI.lvSessions.AddBoundColumn("Accept", 50, "@request.Accept");
    FiddlerObject.UI.lvSessions.AddBoundColumn("Reason", 50, "@request.X-Download-Initiator");

十、选择父或子会话:

  • 要选择父会话(对所选会话的Referer标头中指定的URL的最新请求):

  1. Web会话列表中选择一个会话

  2. P

  • 要选择所有子会话(以后对所选会话的Referer头中指定的URL的请求):

  1. Web会话列表中选择一个会话

  2. C键

十一、配置列:

重新排列列

  • 要重新排序列,请将列标题向左或向右拖动。

    重新排序列

  • 要调整列的大小,请拖动列标题的边缘。

    调整列大小

添加自定义列

使用这些方法:

  • 使用“ 自定义列”菜单。

    1. 右键单击列的顶部,然后选择“ 自定义列...”

    列标题上下文菜单

    1. 单击“ 收集”下拉菜单,然后选择将填充列的集合。

    自定义列窗口

    1. 输入将填充列的集合成员的名称以及列的标题。
  • 使用QuickExec添加临时列

    在QuickExec框中键入以下命令:

      cols add [Title] FlagName

    QuickExec命令

    使用QuickExec添加的列将在Fiddler下次启动时删除。有关QuickExec列命令的更多信息,请参阅QuickExec参考

  • 使用FiddlerScript自定义规则

  • 从IFiddlerExtension调用AddBoundColumn方法

    从[IFiddlerExtension] 调用AddBoundColumn方法,将getColumnStringDelegate作为第三个参数传递

十二、查看cooking信息:

  1. 安装Privacy Scanner Fiddler插件

    Fiddler将获得一个名为Privacy的新顶级菜单

    隐私菜单

  2. 确保选中“ 隐私>已启用”

    该加载项将向会话列表添加“ 隐私信息”列,并将标记设置cookie的HTTP / HTTPS响应。

评估随这些cookie一起出现的任何P3P语句将改变会话的背景颜色:

隐私信息栏

十三、比较流量:

比较两个网络会话

  1. Web会话列表中选择两个会话
  2. 右键单击其中一个会话。
  3. 单击上下文菜单中的比较

默认情况下,这将尝试启动WinDiffWinMerge来比较流量。

提示:

  • 如果您正在使用WinDiff,则可以通过在单击“ 比较”菜单项时按住ALT或SHIFT使其打破标点符号的每一行
  • 如果您不希望Fiddler在保存文件时尝试重新组织标题和URL以简化差异 可以将fiddler.differ.ultradiff 首选项设置False

更改默认文本比较工具

  1. 单击工具>提琴选项>工具
  2. 输入工具可执行文件的位置。

设置自定义命令行参数

QuickExec框中

  1. 提供工具的路径:

    PREFS SET fiddler.config.path.differ "C:Program Files (x86)Microsoft Visual Studio 11.0Common7IDEdevenv.exe"
  2. 配置命令行以匹配工具所需的内容:

    PREFS SET fiddler.differ.Params "/diff "{0}" "{1}""
  3. (可选)设置备用命令行,如果在调用比较时按住ALT或SHIFT,将调用该命令行:

    PREFS SET fiddler.differ.ParamsAlt "/diff /binary "{0}" "{1}""

一次比较多个会话

通过流量差异扩展,您可以一次比较多个会话

十四、查看DateURL对象:

要检查DataURI对象:

  1. 从Fiddler或任何其他来源DataURI复制到剪贴板。

    复制DataURI

  2. 单击编辑>将文件粘贴为会话 ]。

    将文件粘贴为会话

    Fiddler将解析DataURI并在Web Sessions列表中为它创建一个新的Session 

  3. 使用Fiddler检查器检查生成的对象。

    检查对象

十五、问题:Web会话列表中没有会话。

解决方案:查看您的提琴手配置

十六、问题:未捕获发送到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:使用计算机名称或主机名

最简单的解决方法是使用您的计算机名称作为主机名而不是Localhost127.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:更新规则文件

  1. 更新您的规则文件,如下所示:

    static function OnBeforeRequest(oSession:Fiddler.Session){if(oSession.HostnameIs(“MYAPP”)){oSession.host =“127.0.0.1:8081”; }}

  2. 请求http:// myapp,它将充当127.0.0.1:8081的别名。

十七、问题:特定流量丢失

我在Web会话列表中看到了一些流量,但是某些流量(例如,来自特定程序)似乎缺失了。

解决方案:检查流量过滤器

检查是否启用了任何流量过滤器。

  • 检查状态栏

    SBFilter

  • 检查工具栏中Process Filter

TBFilter

  • 选中过滤器选项卡

FiltersTab

  • 如果您已经编写或设置了任何Fiddler规则,请检查它们。

  • 点击帮助>排除过滤器...当您这样做时,否则将隐藏的流量将以删除线字体显示。“ 注释”列将显示哪个Fiddler过滤器负责尝试隐藏流量。

十八、问题我没有看到任何HTTPS流量 - 我只看到“CONNECT”隧道。

默认情况下禁用HTTPS流量解密。了解有关使用Fiddler2解密HTTPS流量的详细信息。

十九、问题调用WebServices时,我收到System.NET.WebException“底层连接已关闭”。

通过Fiddler调试.Net应用程序时,您可能会看到System.Net.WebException,并显示消息“底层连接已关闭:服务器已关闭预期保持活动状态的连接”。

这是您的应用程序中的错误(它应该处理此类异常)。

注意:由于增强的客户端连接重用支持,Fiddler 2.2.8.5及更高版本中不太可能出现此问题。

二十、问题Fiddler捕获不完整的HTTP响应

确保在IE的工具> Internet选项>高级选项卡或您选择的浏览器中的类似设置中选中“通过代理服务器使用HTTP1.1” 

原文地址:https://www.cnblogs.com/gufengchen/p/10980486.html