环境:NetBeans 7.0.1、GlassFish 3.1
我想嗅探 WCF (.NET Framework 4) 客户端和 Metro (2.1.1) Web 服务之间的通信,然后检查消息以确保一切都符合我的要求。 Web 服务使用传输安全 (SSL)。我已经知道 Fiddler , 但我没有成功使用它;只有 HTTPS 浏览器流量可见。有没有办法设置 Fiddler 来捕获我的服务之间的流量?还有其他办法吗?
更新
我尝试在不同的机器上启动客户端和服务器,然后使用 Fiddler,但没有成功。我尝试使用 Wireshark 来捕获流量,但在本地主机上都没有成功运行。如果我在不同的机器上尝试它们,我只能看到服务之间的 TCP 数据交换。
在 localhost + Wireshark 上,接口(interface)旁边的数据包计数器保持不变,但我多次调用该服务。
更新 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 的替代方案,如果您控制 WCF 客户端,则可以启用 WCF Message Logging , 它会将所有未加密的 SOAP 消息保存到跟踪日志中。可以在 app.config 文件中启用日志记录,因此您甚至不必重建应用程序来启用或禁用日志记录。
关于java - 如何嗅探 SSL 保护的 Metro Web 服务和 WCF 客户端之间的通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7390150/