java - 如何嗅探 SSL 保护的 Metro Web 服务和 WCF 客户端之间的通信?

标签 java web-services ssl fiddler packet-sniffers

环境: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/

相关文章:

web-services - Web 服务的 Dynamics NAV 许可要求是什么?

java - 用 java 托管 RESTful Web 服务

java - 通过 jsp (SMTP EXIM) 发送电子邮件时出错

java - 如何解决这个问题? java作业

java - 获取 java.lang.VerifyError 的原因

java - 从牌中分离花色

ruby-on-rails - 使用 Nginx 和 Puma 在 Ruby on Rails 应用程序上启用 SSL

java - 在 Java 中从 WebService 调用并行进程

.net - Inno Setup 在运行 setup.exe 时修改 app.config 文件

ssl - 使用 SSL/Keystore 连接到 Java 中的 Websphere MQ