过滤提琴手以仅捕获特定域的请求

Posted

技术标签:

【中文标题】过滤提琴手以仅捕获特定域的请求【英文标题】:Filtering fiddler to only capture requests for a certain domain 【发布时间】:2010-10-19 07:02:42 【问题描述】:

我不确定如何修改 CustomRules.js 文件以仅显示对某个域的请求。

有谁知道如何做到这一点?

【问题讨论】:

【参考方案1】:

这很容易做到。 在过滤器选项卡上,单击“仅在过滤器包含时显示,然后键入您的域。

【讨论】:

现在应该将其视为答案。连同 Eric 对***.com/a/746776/157552 的评论 这只是简单的方法。 @Marc Gravell 是技术方法。以编程方式使用提琴手时,我将无法打开文件管理器对话框。编辑文件并添加这是我一直在寻找的方式。 我无法让这种方法与 fiddler 打印的会话一起作为反向代理的一部分使用 一旦添加了主机并且该框变为黄色并带有消息Changes not yet saved. 然后您必须单击该实际消息文本以保存详细信息(这一点都不明显!)。 【参考方案2】:

编辑

事实证明这很容易;编辑OnBeforeRequest 以添加:

if (!oSession.HostnameIs("www.google.com")) oSession["ui-hide"] = "yup"; 

过滤到谷歌,例如。


(原答案) 老实说,我不知道这是否是 Fiddler 内置的东西(我从未尝试过),但Wireshark 肯定会很容易做到这一点 - 当然,你会得到不同的数据(特别是对于 SSL) - 所以YMMV。

【讨论】:

有时您需要按路径或查询进行过滤,以捕获某些请求而不是整个活动。我在文档上找到了。 if (oSession.PathAndQuery=="/version1.css") oSession.PathAndQuery="/version2.css"; . 先使用 HostnameIS 然后再使用 PathAndQuery 您可以只过滤 1 个资源。我对提琴手印象深刻。不是网络玩具。【参考方案3】:

我的回答有点类似于@Marc Gravels,但是我更喜欢通过包含一些特定字符串的 url 来过滤它。

    您将需要fiddler script - it's an add-on to fiddler。

    安装后转到提琴手脚本标签并将以下内容粘贴到OnBeforeRequest 函数中。 (截图如下)

     if (oSession.url.Contains("ruby:8080") || oSession.url.Contains("localhost:53929"))   oSession["ui-hide"] = "yup";    
    

通过这种方式,您可以按 url 的任何部分进行过滤,无论是端口主机名还是其他。

希望这可以为您节省一些时间。

【讨论】:

对于过滤掉浏览器链接 url 特别有用。仅按主机过滤不会做到这一点。【参考方案4】:

您可以使用 fiddler 中的过滤器选项卡过滤请求。请看下面的截图。如果您使用的是 google chrome,请务必在 fiddler(来自 google chrome)中使用正确的进程 ID。

【讨论】:

【参考方案5】:

Fiddler 网站有a cookbook of a whole bunch of things that you can do with CustomRules.js,包括如何做到这一点:)

【讨论】:

是的,还请记住,您可以在当前版本的 Fiddler 中使用“过滤器”选项卡来实现相同目的。 此链接已弃用。

以上是关于过滤提琴手以仅捕获特定域的请求的主要内容,如果未能解决你的问题,请参考以下文章

从提琴手导出到邮递员

csharp 过滤属性以捕获和记录ASP.NET中的请求和响应

带提琴手的代理设置

过滤数据集以仅获取特定类的图像

如何在 webhttpbinding 配置中设置代理以使用提琴手

配置提琴手使用代理