我们有一个使用 Apache CXF 2.5.x 构建的系统,它在响应中使用带有 MTOM 附件的 SOAP 消息。
每隔一段时间,客户端就会遇到一个异常,抱怨 CXF 正在读取的套接字已关闭,同时读取带有这些附件之一的 HTTP 响应。
服务器显示没有任何有趣的事情发生。
我们想知道:我们如何判断套接字是否因为服务器端暴力关闭而不是客户端中的一些恶意代码调用close()
它而关闭?
您可以从WireShark开始。它将显示网络中的所有流量。从那里您可以看到哪一方为套接字发送了 FIN 或 RST。
捕获时使用过滤器,例如,如果在客户端运行,则按服务器的 IP 地址进行过滤。从命令行:
tethereal -iany -R"ip.addr == " -w mycapturefile.pcap