繁体   English   中英

无法让Fiddler捕获到IIS的本地流量

[英]Can't Get Fiddler to Capture local traffic to IIS

我最近安装了最新的Fiddler(Fiddler4),我尝试的任何东西都是为了让它捕获本地流量。 我有一个MVC应用程序连接到在IIS上运行的MVC WebApi应用程序,这是我尝试过的:

  • Fiddler选项>连接>监视所有连接并使用PAC脚本
  • 更改了WebClient C#调用以使用以下URL但未成功:
  • 在IIS中更改我的“默认网站”以在使用我的本地帐户的新AppPool下运行,并以管理员身份运行Fiddler
  • <system.net> <defaultProxy> <proxy bypassonlocal="False" usesystemdefault="True" /> </defaultProxy> </system.net>到我的MVC应用程序的web.config中。

没有什么工作,我不知道该尝试什么。 任何意见是极大的赞赏。 谢谢,肖恩

事实证明,我需要将Fiddler设置为反向代理( http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy )。 我真的不明白为什么在我从Fiddler2升级到Fiddler4之前我没有必要这样做。 我以前只能使用http://ipv4.localhost/app-name ,一切正常。 但是,为了使它与Fiddler4一起工作,我设置了反向代理,然后将我的所有请求从http://ipv4.localhost/app-namehttp://machinename:8888/app-name 我现在可以收听应用间通信。 知道我为什么不用Fiddler2做这个,但我现在在升级到Fiddler4之后呢?

我知道你在你的OP中提到了这一点,但是这对我有用并且非常简单,所以我想我会分享以防其他人遇到同样的问题并且不想经历设置反向的麻烦代理,如果他们不需要。


我通过简单地更改我想检查的流量在我的身份下运行的IIS应用程序池来实现这一点,因为Fiddler似乎只捕获默认情况下登录用户的流量。 只需确保您的用户具有IIS所需的所有必要权限; 我是管理员,所以这对我来说不是问题。 当然,完成后不要忘记更改IIS应用程序池标识。

另一种选择当然是以IIS应用程序池运行的用户身份登录(如果它不是像Network Service这样的服务帐户),然后在以其他用户身份登录时运行Fiddler。

我知道捕获非Webbrowser流量的最简单可靠的解决方案是明确指定Fiddler的端口作为Web请求的代理。 根据请求,您的代码使代码看起来类似于:

 request.Proxy = new WebProxy("127.0.0.1", 8888)

注意:不要忘记使用“捕获”和“所有进程”运行Fiddler(在Fiddler的状态栏中可见)

尝试在主机文件中添加记录(c:\\ windows \\ system32 \\ drivers \\ etc \\ hosts),如:

127.0.0.1   mysite.local

然后,您需要在IIS中的网站中进行绑定才能匹配。

然后使用http://mysite.local/

尝试使用http://machinename./page

ie ..尝试将句点后缀为机器名称并浏览。

我遇到了同样的问题。 通过修改Web.config来修复

<system.net>
    <defaultProxy enabled="true">
        <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/>
    </defaultProxy>
</system.net>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM