配置 Fiddler 以使用公司网络的代理?

Posted

技术标签:

【中文标题】配置 Fiddler 以使用公司网络的代理?【英文标题】:Configuring Fiddler to use company network's proxy? 【发布时间】:2011-02-28 16:31:24 【问题描述】:

我正在尝试让 Fiddler 使用我公司的代理。每个外部请求都返回 407。

到目前为止,我已经尝试添加 oSession.oRequest["Proxy-Authorization"] = "YOURCREDENTIALS";到我在 base64 中使用我的 USERNAME:PASSWORD 的自定义规则。仍然没有运气。

有什么想法吗?谢谢。

【问题讨论】:

您确定您的代理使用纯文本密码吗?根据您的公司,它很可能是您需要的代理的基于 NTLM 的身份验证。 抱歉,我也试过了。我在请求标头中添加了 Proxy-Authorization: NTLM [encoded string]。 我正在使用 Fiddler2,我所做的是转到“规则”菜单并勾选“自动验证” 【参考方案1】:

注意:有一个higher voting 可用的答案。因为SO sorting 它低于接受的答案。

我也遇到了同样的问题,是这样解决的:

    使用标准配置启动 Fiddler。 启动 IE 并向外部网站发出 HTTP 请求。 弹出代理授权对话框,我在其中输入了我的凭据。 在 Fiddler 中搜索“代理授权”的请求标头。 将看起来像“Basic sOMeBASE64eNCODEdSTRING=”的标头值复制到剪贴板。

    在 OnBeforeRequest 中使用以下行更改了 CustomRules.js:

    oSession.oRequest["Proxy-Authorization"] = "基本的 sOMeBASE64eNCODEdSTRING=";

所以我的方法与您的方法非常相似,只是我事先通过使用 Fiddler 调试授权标头检查了服务器所需的代理授权类型。这样我发现我必须在 Base64 编码凭据之前添加“基本”,我什至不必使用该工具将凭据编码为 Base64。刚刚从代理授权标头中复制了值。

【讨论】:

感谢您的回答,它曾经为我工作,但现在我的公司正在实施“协商”(NTLM 算法)而不是“基本”代理身份验证。关键是不断变化,即使在几秒钟内。知道如何使用它吗?谢谢! @RobertAHenru 在规则菜单中,勾选“自动验证”。要始终打开它,请转到自定义规则并更改此代码: public static RulesOption("&Automatically Authenticate") var m_AutoAuth: boolean = true; ...默认情况下它是假的。 嗨谢谢@CADbloke,不知何故我的提琴手没有那些m_autoAuth。所以我要做的是添加 m_AutoAuth 的相关代码,如下所示...pastebin.com/cdBSnszJ 工作正常,但我有一个问题:这会将 HTTP_PROXY_AUTHORIZATION 标头添加到我的请求中。当代理转发流量时,它仍然在标头上。不应该去掉吗?我可以以某种方式阻止它发送标题吗?任何解决方法? (在 .NET 中使用 Fiddler Core)【参考方案2】:

我的答案很简单。如果您的公司代理是 NTLM,请下载、设置和配置 cntlm。通过设置代理设置将您的提琴手路由到 cntlm 端口。

完成!这就是我在公司中配置提琴手的方式

【讨论】:

【参考方案3】:

Fiddler 应该自动获取本机代理配置。

【讨论】:

【参考方案4】:

对我有用的东西要简单得多:

Rules > Automatically Authenticate

【讨论】:

这对我不起作用,我想知道,因为菜单选项再次被取消选中。怎么样? @mono68 不幸的是,Fiddler 不记得该设置,所以是的,我每次启动 Fidder 时都必须勾选它 此解决方案可行。但不适用于角色。例如。 [Authorize(Roles = @"domainname\somegroup")] 它不起作用。但是可以使用 [Authorize(Users = @"DomainName\userName")] 并使用明确的 Authorize 属性。 也许这条评论会引起轰动。【参考方案5】:

http://blog.bareweb.eu/2010/10/http-debugging-fiddler-tip-1/

“规则”菜单中有一个要求代理身份验证的条目。使用它,您应该会走得更远!

【讨论】:

【参考方案6】:

你用的是什么版本的 Fiddler?

Fiddler 将自动链接到您组织的代理,并且所有当前版本的 Fiddler 都支持在客户端和身份验证代理之间传递身份验证信息。

您如何生成有问题的 HTTP 请求?确切的 HTTP 响应标头是什么?

【讨论】:

以上是关于配置 Fiddler 以使用公司网络的代理?的主要内容,如果未能解决你的问题,请参考以下文章

接口测试基础——fiddler抓包常见问题

如何用fiddler进行代理设置

求助,Fiddler代理后网络问题.必须有果

Fiddler 原理及iPhone的配置

fiddler扩展模拟弱网络环境设置

Fiddler抓包之IOS