Использование клиента отладки WSD для проверки трафика многоадресной рассылки

Если универсальный узел и клиент могут видеть друг друга в сети, но фактический узел и клиент не могут, скорее всего, проблема находится в сообщениях, отправляемых между конечными точками по сети. Дополнительные сведения об универсальном узле и клиенте см. в разделе "Использование универсального узла и клиента для UDP WS-Discovery". Так как полная сетевая трассировка может быть сложной задачей сбора, фильтрации и чтения, средство клиента отладки WSD можно использовать для печати многоадресной рассылки WS-Discovery сообщений.

Клиент отладки WSD в многоадресном режиме может проверять только половину сообщений, так как клиент не может печатать одноадресные сообщения. Если требуется одноадресный трафик, перейдите непосредственно к проверке трассировок сети для обнаружения WS-discovery UDP.

В этой процедуре показан метод, который будет отображать весь многоадресный трафик в сети. Сведения о том, как отобразить только многоадресный трафик на устройство и с устройства, см. в разделе " Фильтрация результатов отладки клиента WSD " ниже.

Использование клиента отладки WSD для проверки трафика многоадресной рассылки

  1. Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
  2. Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast
  3. Воспроизведите ошибку, запустив узел и клиент или нажав клавишу F5 в сетевом обозревателе.
  4. Убедитесь, что сообщения многоадресные.

Если необходимые сообщения отображаются в выходных данных клиента отладки WSD, то сбой приложения может находиться в содержимом многоадресной рассылки или в наличии или содержимом соответствующих одноадресных ответных сообщений. Продолжайте устранять неполадки, следуя инструкциям в разделе "Проверка трассировок сети для обнаружения WS-Discovery UDP".

Если необходимые сообщения отображаются в выходных данных клиента отладки WSD, скорее всего, был определен источник проблемы с приложением. Скорее всего, трафик многоадресной рассылки не передается в сеть. Этот сбой может произойти, если приложение неправильно перечисляет многоадресные адаптеры. Приложения должны явно отправлять трафик многоадресной рассылки по всем сетевым интерфейсам; в противном случае пакеты могут не создаваться для интерфейса замыкания на себя или для других интерфейсов. Чтобы убедиться, что пакеты не отображаются в сети, следуйте инструкциям в разделе "Проверка трассировок сети для обнаружения WS-Discovery UDP " и найдите доказательства отсутствия многоадресных сообщений.

Проверка многоадресной рассылки сообщений

Всегда проверяйте, что сообщения пробы являются многоадресной рассылкой. При необходимости убедитесь, что сообщения Hello и Resolve являются многоадресной рассылкой. Обратите внимание, что не все приложения используют сообщения resolve. Дополнительные сведения о шаблонах сообщений, используемых клиентами и узлами, см. в разделе "Обнаружение и метаданные" Exchange шаблонов сообщений и начало работы с устранением неполадок WSDAPI.

Для отправки сообщений необходимо активировать, как описано на шаге 3 выше. Клиент отладки WSD отображает необработанное сообщение SOAP в качестве выходных данных. Так как все сообщения, напечатанные клиентом отладки WSD в режиме многоадресной рассылки, получены через сокет многоадресной рассылки, адрес назначения сообщения не отображается.

В следующем примере выходных данных клиента отладки WSD показано сообщение пробы. Элемент <wsa:Action> определяет сообщение как сообщение пробы. <Проверьте поле wsa:Action>, чтобы убедиться, что полученное сообщение было сообщением пробы.

UDP message at 05/08/07 10:06:55 from soap.udp://[127.0.0.1:49334]
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="h
ttp://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="https://schemas.xmlso
ap.org/ws/2005/04/discovery" xmlns:wsdp="https://schemas.xmlsoap.org/ws/2006/02/d
evprof"><soap:Header><wsa:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:T
o><wsa:Action>https://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</wsa:Action>
<wsa:MessageID>urn:uuid:256ad815-1576-4e59-8efc-4c1e0f15fdd2</wsa:MessageID></so
ap:Header><soap:Body><wsd:Probe><wsd:Types>wsdp:Device</wsd:Types></wsd:Probe></
soap:Body></soap:Envelope>

В следующем примере выходных данных клиента отладки WSD отображается сообщение Hello. Элемент <wsa:Action> определяет сообщение как сообщение Hello.

UDP message at 05/08/07 10:10:49 from soap.udp://[[::1]:49343]
<?xml version="1.0" encoding="utf-8" ?>
<soap:Envelope xmlns:soap="https://www.w3.org/2003/05/soap-envelope" xmlns:wsa="h
ttp://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsd="https://schemas.xmlso
ap.org/ws/2005/04/discovery" xmlns:wsdp="https://schemas.xmlsoap.org/ws/2006/02/d
evprof"><soap:Header><wsa:To>urn:schemas-xmlsoap-org:ws:2005:04:discovery</wsa:T
o><wsa:Action>https://schemas.xmlsoap.org/ws/2005/04/discovery/Hello</wsa:Action>
<wsa:MessageID>urn:uuid:8999e29a-b056-4345-9e13-f42dbedab28a</wsa:MessageID><wsd
:AppSequence InstanceId="1" SequenceId="urn:uuid:abb0a2a1-6efc-4242-b8e7-c02484a
6eea2" MessageNumber="1"></wsd:AppSequence></soap:Header><soap:Body><wsd:Hello><
wsa:EndpointReference><wsa:Address>urn:uuid:02a76d74-82d0-43e6-ab09-16f54ab81ac6
</wsa:Address></wsa:EndpointReference><wsd:Types>wsdp:Device</wsd:Types><wsd:Met
adataVersion>1</wsd:MetadataVersion></wsd:Hello></soap:Body></soap:Envelope>

Фильтрация результатов отладочного клиента WSD

Фильтрация результатов клиента отладки WSD может помочь определить трафик инцидента, связанный с устройством. Фильтрация необходима только в шумных сетях.

Существует два способа фильтрации результатов. IP-адреса для фильтрации можно явно определить при запуске клиента отладки WSD. Кроме того, IP-адреса можно указать после запуска клиента. В этом разделе описаны оба метода.

Указание IP-адресов для фильтрации при запуске клиента отладки WSD

  1. Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
  2. Сбор IP-адресов устройства. Если устройство имеет несколько адресов (например, у него есть адреса IPv4 и IPv6), необходимо собрать все адреса.
  3. Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast /ipadddevice< IP>

<IP-адрес устройства — это IP-адрес> . В следующем списке показаны некоторые примеры форматов для этого IP-адреса.

  • 192.168.0.1
  • ::1
  • mydevice.contoso.com

Клиент отладки WSD автоматически разрешает имена узлов, указанные в командной строке.

Фильтрация результатов после запуска клиента отладки WSD

  1. Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
  2. Сбор IP-адресов устройства. Если устройство имеет несколько адресов (например, у него есть адреса IPv4 и IPv6), необходимо собрать все адреса.
  3. Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast
  4. В командной строке клиента отладки WSD выполните следующую команду: ipadddevice< IP>
  5. Повторите шаг 4, пока не будут добавлены все IP-адреса устройства.

В следующей процедуре предполагается, что клиент отладки WSD запущен и выполняется фильтрация по IP-адресу.

Проверка фильтрации правильных IP-адресов

  • В командной строке клиента отладки WSD выполните следующую команду: ip print

    Появится список IP-адресов, которые фильтруются.

В следующей процедуре предполагается, что клиент отладки WSD запущен и выполняется фильтрация по IP-адресу.

Отключение фильтрации

  • В командной строке клиента отладки WSD выполните следующую команду: ip clear

    Теперь весь многоадресный трафик будет отображаться в выходных данных отладки.

Диагностические процедуры WSDAPI

начало работы с устранением неполадок WSDAPI