过滤提琴手以仅捕获特定域的请求
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中的请求和响应