检查 UDP WS-Discovery的网络跟踪

任何可以显示原始数据包的网络数据包分析器都可用于检查 UDP WS-Discovery数据包。 建议使用 Microsoft 网络监视器 3 (Netmon) 。 有关 Netmon 的详细信息,请参阅 下载 Netmon 和示例 DPWS 筛选器

检查 UDP WS-Discovery 的网络跟踪

  1. 将主机和客户端配置为跨网络运行 (即,确保主机和客户端将在) 的不同计算机上运行。

  2. 在客户端或主机上 (Netmon) 安装数据包分析器。

  3. 配置数据包分析器以捕获连接主机和客户端的网络适配器上的流量。

  4. 通过启动主机和客户端或在网络资源管理器中按 F5 来重现故障。

  5. 筛选结果以隔离WS-Discovery流量。 若要查看示例 Netmon 筛选器,请参阅 下载 Netmon 和示例 DPWS 筛选器

    注意

    此步骤是可选的。

     

  6. 验证在客户端和主机之间发送的消息是否满足基本流量要求。

验证消息是否满足流量要求

WSDAPI 客户端和主机必须发送符合以下条件的消息。 有关消息模式的一般信息,请参阅 发现和元数据交换消息模式

  • 探测 消息必须由 UDP 多播发送到端口 3702。
  • 探测消息的 Types 元素必须存在,并且不得为空。 它必须包含主机将响应的类型。
  • 必须将 ProbeMatches 消息单播发送到从中发送 探测 的 UDP 端口。
  • ProbeMatches 消息的 RelatesTo 元素必须存在,并且不能为空。 其值必须与相应探测消息中的 MessageId 元素的值匹配。
  • 如果 ProbeMatches 消息中包含 XAddrs 元素,则必须验证提供的传输地址。 有关详细信息,请参阅 XAddr 验证规则
  • 必须在相应探测消息的 4 秒内发送 ProbeMatches 消息。 Windows 防火墙可能会删除在探测消息后 4 秒以上发送的 ProbeMatches 消息。
  • 如果 ProbeMatches 消息中不包含 XAddrs 元素,并且客户端或主机将 (发送 HTTP 消息(如获取元数据交换请求或服务消息) ),则客户端或主机必须通过 UDP 多播将 Resolve 消息发送到端口 3702。
  • 如果发送 了 Resolve 消息,则必须将 ResolveMatches 消息单播发送到发送解析消息的 UDP 端口。
  • ResolveMatches 消息必须在相应 Resolve 消息的 4 秒内发送。 Windows 防火墙可能会在收到 Resolve 消息后超过 4 秒删除发送的 ResolveMatchesmessage。

如果程序发送的消息不符合这些消息要求,则已成功确定问题原因,无需进一步的故障排除步骤。 重写程序,以便生成一致消息并重新测试程序。

如果仍无法确定问题的根源,请联系 Microsoft 支持部门获取帮助。 在联系支持人员之前,请收集相应的日志文件,以帮助确定问题的根本原因。 有关详细信息,请参阅 启用 WSDAPI 跟踪

WSDAPI 诊断过程

使用 WSDAPI 故障排除入门

下载 Netmon 和示例 DPWS 筛选器