Использование клиента отладки WSD для проверки трафика многоадресной рассылки
Если универсальный узел и клиент могут видеть друг друга в сети, но фактический узел и клиент не могут, скорее всего, проблема находится в сообщениях, отправляемых между конечными точками по сети. Дополнительные сведения об универсальном узле и клиенте см. в разделе "Использование универсального узла и клиента для обнаружения WS-Discovery UDP". Так как для печати многоадресных сообщений WS-Discovery можно использовать средство полной отладки сети, которое может быть сложно собирать, фильтровать и читать.
Клиент отладки WSD в режиме многоадресной рассылки может проверять только половину сообщений, так как клиент не может распечатать одноадресные сообщения. Если трафик одноадресной рассылки имеет интерес, перейдите непосредственно к проверке трассировки сети для обнаружения WS-Discovery UDP.
В этой процедуре показан метод, который будет отображать весь многоадресный трафик в сети. Чтобы отобразить только многоадресный трафик на устройство и с устройства, см . раздел "Фильтрация результатов отладки клиента WSD".
Использование клиента отладки WSD для проверки трафика многоадресной рассылки
- Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
- Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast
- Воспроизведение сбоя путем запуска узла и клиента или нажатием клавиши F5 в сетевом обозревателе.
- Убедитесь, что сообщения являются многоадресной рассылкой.
Если необходимые сообщения отображаются в выходных данных клиента отладки WSD, то сбой приложения может находиться в содержимом многоадресной рассылки или в наличии или содержимом соответствующих сообщений ответа одноадресной рассылки. Продолжайте устранять неполадки, следуя инструкциям в разделе "Проверка сетевых трассировок для обнаружения WS-Discovery UDP".
Если необходимые сообщения отображаются в выходных данных клиента отладки WSD, скорее всего, обнаружен источник проблемы приложения. Скорее всего, многоадресный трафик не передается в сеть. Этот сбой может произойти, если приложение не перечисляет адаптеры многоадресной рассылки правильно. Приложения должны явно отправлять многоадресный трафик по всем сетевым интерфейсам; В противном случае пакеты могут не создаваться для интерфейса обратного цикла или для других интерфейсов. Чтобы убедиться, что пакеты не отображаются в сети, следуйте инструкциям в разделе "Проверка сетевых трассировок для обнаружения WS-Discovery UDP" и поиск доказательств отсутствия многоадресных сообщений.
Проверка многоадресной рассылки сообщений
Всегда убедитесь, что сообщения пробы являются многоадресной рассылкой. При необходимости убедитесь, что сообщения Hello и Resolve являются многоадресной рассылкой. Обратите внимание, что не все приложения используют сообщения "Разрешить". Дополнительные сведения о шаблонах сообщений, используемых клиентами и узлами, см. в разделе "Обнаружение и метаданные Exchange Message Patterns and Getting Started with WSDAPI Troubleshooting".
Для отправки сообщений необходимо активировать, как описано на шаге 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
- Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
- Соберите IP-адреса устройства. Если устройство имеет несколько адресов (например, у него есть IPv4 и IPv6-адреса), все адреса должны быть собраны.
- Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast /ip add <device IP>
<IP-адрес устройства — это IP-адрес> . В следующем списке показаны некоторые примеры форматов для этого IP-адреса.
- 192.168.0.1
- ::1
- mydevice.contoso.com
Клиент отладки WSD автоматически разрешает имена узлов, предоставленные в командной строке.
Фильтрация результатов после запуска клиента отладки WSD
- Настройте узел и клиент для выполнения в сети (то есть убедитесь, что узел и клиент будут работать на разных компьютерах).
- Соберите IP-адреса устройства. Если устройство имеет несколько адресов (например, у него есть IPv4 и IPv6-адреса), все адреса должны быть собраны.
- Откройте командную строку и выполните следующую команду: WSDDebug_client.exe /mode multicast
- В командной строке клиента отладки WSD выполните следующую команду: IP-адрес добавления <IP-адреса устройства>
- Повторите шаг 4, пока не будут добавлены все IP-адреса устройства.
В следующей процедуре предполагается, что клиент отладки WSD запущен и фильтруется по IP-адресу.
Чтобы убедиться, что отфильтровываются правильные IP-адреса
В командной строке клиента отладки WSD выполните следующую команду: ip-печать
Появится список отфильтрованных IP-адресов.
В следующей процедуре предполагается, что клиент отладки WSD запущен и фильтруется по IP-адресу.
Отключение фильтрации
В командной строке клиента отладки WSD выполните следующую команду: ip clear
Теперь весь многоадресный трафик будет отображаться в выходных данных отладки.
См. также