【问题标题】:how use fiddler to check traffic of a web service between two web sites?如何使用 fiddler 检查两个网站之间的 Web 服务的流量?
【发布时间】:2012-05-07 20:19:46
【问题描述】:

我们如何使用 fiddler 来检查两个网站之间的 web 服务(xml)的流量?
http://www.fiddler2.com/fiddler2/

我为我的网站创建了两个子域。
例如我的网站是这样的:

www.site.com

这些子域如下所示:

www.sub1.site.com

www.sub2.site.com

这些网站位于网络服务器 (vps) 上,我正在使用我的本地系统查看它们(我的本地系统上已安装 fiddler)。
www.sub1.site.com 正在调用 www.sub2.site.com 网络服务。
是否可以使用 http 等断点捕获此 Web 服务数据?
我检查了很多次提琴手,但找不到怎么做?
如果不是 Fiddler 中的 XML 选项卡是什么?

非常感谢您的回答和帮助

【问题讨论】:

  • 这些网站是否在本地运行?
  • 不,在网络服务器(vps)上。所以我想用我的本地系统作为他们的客户端来捕获它们!
  • 我不认为您可以从本地系统捕获远程服务器上两个站点之间的流量。 TCP 流量应该如何通过您的本地计算机运行?
  • 我认为应该有一种方法可以让 fiddler 捕获请求/响应(http/heasers/etc)。它们和 xml 的东西有什么区别?
  • 一个站点(一个 Web 服务器)发送一个请求(通过 Web 服务)并从另一个站点(另一个或相同的 Web 服务器)接收他的答案。我们这里有 xml 内容而不是 http.. .

标签: c# asp.net web-services http fiddler


【解决方案1】:

您不能为此使用 Fiddler2。 Fiddler2 是一个 Web 代理,它通过在您自己的机器上运行的代理来路由您的浏览器请求。所以它只有在发出 HTTP 请求的“客户端”是本地的时才有效。例如,您的浏览器可能会向 www.sub1.site.com 发起 HTTP 请求,但从 www.sub1.site.com 到 www.sub2.site.com 的调用不会通过 Fiddler2 进行路由。将 Fiddler2 想象成位于您的浏览器和浏览器试图访问的任何站点之间。

如果您有权在服务器 (sub1) 上安装 Fiddler2,对于一些更复杂的场景,您可能会考虑使用 http://www.fiddler2.com/fiddler/help/reverseproxy.asp。但是,如果您有权访问服务器,还有其他监控方法可能是更好的选择(例如日志文件)。

【讨论】:

  • 感谢您的回答,那么是否可以通过其他方式(工具)或不可能完成这项工作?
  • 我不知道其他工具选项(但我确信它们存在)。我假设您可以访问服务器。鉴于此,您的 Web 服务器可以配置为记录有关传入请求的详细信息。这是一种机制。另一种方法是在服务中构建一些日志记录,以记录它从服务器接收到的请求。由于您使用 C# 和 asp.net 标记了此问题,因此您可能会考虑在 global.asax.cs 的 Application_BeginRequest 方法中添加日志记录。另见stackoverflow.com/questions/2624621/…
  • stackoverflow.com/questions/2624621/… 显示了一个示例,说明如何在其中一个有多个投票的未接受答案中执行此操作。
  • 感谢 cmets。请在fiddler2.com/fiddler/help/video 上观看此视频 -> 视频 1。我正在寻找这样的网络服务工作。我想知道这是否可能!
  • 这里要明确一点,如果 Fiddler 在任何一个有问题的服务器上运行,它就可以轻松做到这一点。
猜你喜欢
  • 2015-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-15
  • 1970-01-01
  • 2017-07-06
  • 2018-07-22
相关资源
最近更新 更多