【发布时间】:2011-09-12 15:19:00
【问题描述】:
环境:NetBeans 7.0.1、GlassFish 3.1
我想嗅探 WCF (.NET Framework 4) 客户端和 Metro (2.1.1) Web 服务之间的通信,然后检查消息以确保一切都是我想要的。 Web 服务使用传输安全 (SSL)。我已经知道Fiddler,但我没有成功使用它;只有 HTTPS 浏览器流量可见。有没有办法设置 Fiddler 来捕获我的服务之间的流量?有没有其他办法?
更新
我尝试在不同的机器上启动客户端和服务器,然后使用 Fiddler,但没有成功。我尝试使用 Wireshark 捕获流量,但在 localhost 上都没有成功运行。如果我在不同的机器上尝试它们,我只能看到服务之间的 TCP 数据交换。
在 localhost + Wireshark 上,接口旁边的数据包计数器保持不变,但我多次调用该服务。
更新2
尝试在选项中手动设置 NetBeans 代理,并以编程方式设置,但没有成功:
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");
尝试使用这些 JVM 选项启动 GlassFish,但没有:( :
<jvm-options>-Dhttp.proxyHost=localhost</jvm-options>
<jvm-options>-Dhttp.proxyPort=8888</jvm-options>
<jvm-options>-Dhttps.proxyHost=localhost</jvm-options>
<jvm-options>-Dhttps.proxyPort=8888</jvm-options>
【问题讨论】:
-
是的 Fiddler 也适用于服务。你是如何配置系统使用 Fiddler 作为代理或者你是如何配置 WCF 客户端来使用它的?
-
@Ladislav Mrnka 我刚刚通过信任 Fiddlers 根证书进行了尝试。我没有设置其他任何东西。我需要在服务端使用 Fiddlers 证书吗?
-
在IE中配置Fiddler为代理,客户端自动使用。
-
@Ladislav Mrnka 在 IE 中默认配置为代理,在 Fiddler 中看不到 web 服务相关的消息 :(
-
客户端和服务是否在同一台计算机上?
标签: java web-services ssl fiddler packet-sniffers