Usar o cliente de depuração do WSD para verificar o tráfego multicast

Se o host genérico e o cliente puderem se ver na rede, mas o host e o cliente reais não puderem, é provável que o problema esteja nas mensagens enviadas entre os pontos de extremidade pela rede. Para obter mais informações sobre o host genérico e o cliente, consulte Using a Generic Host and Client for UDP WS-Discovery. Como os rastreamentos de rede completos podem ser difíceis de coletar, filtrar e ler, a ferramenta Cliente de Depuração do WSD pode ser usada para imprimir os lados multicast de mensagens WS-Discovery.

O Cliente de Depuração do WSD no modo multicast só pode inspecionar metade das mensagens, pois o cliente não pode imprimir mensagens unicast. Se o tráfego unicast for de interesse, pule diretamente para Inspecionar Rastreamentos de Rede para UDP WS-Discovery.

Este procedimento mostra um método que exibirá todo o tráfego multicast na rede. Para exibir apenas o tráfego multicast de e para o dispositivo, consulte a seção Filtrando resultados do cliente de depuração WSD abaixo.

Para usar o cliente de depuração do WSD para verificar o tráfego multicast

  1. Configure o host e o cliente para serem executados pela rede (ou seja, verifique se o host e o cliente funcionarão em computadores diferentes).
  2. Abra um prompt de comando e execute o seguinte comando: WSDDebug_client.exe /mode multicast
  3. Reproduza a falha iniciando o host e o cliente ou pressionando F5 no Explorer rede.
  4. Verifique se as mensagens estão sendo multicast.

Se as mensagens necessárias forem exibidas na saída do Cliente de Depuração do WSD, a falha do aplicativo poderá estar no conteúdo da mensagem multicast ou na existência ou no conteúdo das mensagens de resposta unicast correspondentes. Continue a solução de problemas seguindo as instruções em Inspecionar rastreamentos de rede para UDP WS-Discovery.

Se as mensagens necessárias forem exibidas na saída do Cliente de Depuração do WSD, é provável que a origem do problema do aplicativo tenha sido identificada. É provável que o tráfego multicast não esteja sendo transmitido na rede. Essa falha pode ocorrer quando o aplicativo não enumera adaptadores multicast corretamente. Os aplicativos devem enviar explicitamente o tráfego multicast em todos os adaptadores de rede; caso contrário, os pacotes podem não ser gerados para a interface de loopback ou para outras interfaces. Para verificar se os pacotes não estão aparecendo na rede, siga as instruções em Inspecionando rastreamentos de rede para UDP WS-Discovery e procure evidências de mensagens multicast ausentes.

Verificando se as mensagens estão sendo multicast

Sempre verifique se as mensagens de investigação estão sendo multicast. Opcionalmente, verifique se as mensagens Olá e Resolver estão sendo multicast. Observe que nem todos os aplicativos usam Resolver mensagens. Para obter mais informações sobre os padrões de mensagem usados por clientes e hosts, consulte Padrões de mensagem do Exchange de descoberta e metadados e Introdução com solução de problemas do WSDAPI.

As mensagens devem ser disparadas para serem enviadas conforme descrito na etapa 3 acima. O Cliente de Depuração do WSD exibe a mensagem SOAP bruta como saída. Como todas as mensagens impressas pelo Cliente de Depuração do WSD no modo multicast são recebidas por meio de um soquete multicast, o endereço de destino da mensagem não é exibido.

A saída do cliente de depuração WSD de exemplo a seguir mostra uma mensagem de investigação. O <elemento wsa:Action> identifica a mensagem como uma mensagem de investigação. Inspecione o <campo wsa:Action> para verificar se a mensagem recebida foi uma mensagem de investigação.

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>

A saída do cliente de depuração WSD de exemplo a seguir mostra uma mensagem Olá. O <elemento wsa:Action> identifica a mensagem como uma mensagem 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>

Filtrando resultados do cliente de depuração WSD

Filtrar os resultados do Cliente de Depuração do WSD pode ajudar a identificar o tráfego de incidentes envolvendo o dispositivo. A filtragem só é necessária em redes barulhentas.

Há duas maneiras de filtrar os resultados. Os endereços IP a serem filtrados podem ser identificados explicitamente ao iniciar o Cliente de Depuração do WSD. Como alternativa, os endereços IP podem ser especificados depois que o cliente é iniciado. Esta seção descreve os dois métodos.

Para especificar endereços IP a serem filtrados ao iniciar o Cliente de Depuração do WSD

  1. Configure o host e o cliente para serem executados pela rede (ou seja, verifique se o host e o cliente funcionarão em computadores diferentes).
  2. Colete os endereços IP do dispositivo. Se o dispositivo tiver vários endereços (por exemplo, ele tiver endereços IPv4 e IPv6), todos os endereços deverão ser coletados.
  3. Abra um prompt de comando e execute o seguinte comando: WSDDebug_client.exe /mode multicast /ip add<device IP>

<O IP> do dispositivo é um endereço IP. A lista a seguir mostra alguns formatos de exemplo para esse endereço IP.

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

O Cliente de Depuração do WSD resolve automaticamente os nomes de host fornecidos no prompt de comando.

Para filtrar os resultados após iniciar o cliente de depuração do WSD

  1. Configure o host e o cliente para serem executados pela rede (ou seja, verifique se o host e o cliente funcionarão em computadores diferentes).
  2. Colete os endereços IP do dispositivo. Se o dispositivo tiver vários endereços (por exemplo, ele tiver endereços IPv4 e IPv6), todos os endereços deverão ser coletados.
  3. Abra um prompt de comando e execute o seguinte comando: WSDDebug_client.exe /mode multicast
  4. No prompt de comando do Cliente de Depuração do WSD, execute o seguinte comando: ip add<device IP>
  5. Repita a etapa 4 até que todos os endereços IP do dispositivo tenham sido adicionados.

O procedimento a seguir pressupõe que o Cliente de Depuração do WSD foi iniciado e a filtragem por endereço IP está ocorrendo.

Para verificar se os endereços IP corretos estão sendo filtrados

  • No prompt de comando do Cliente de Depuração do WSD, execute o seguinte comando: ip print

    A lista de endereços IP que estão sendo filtrados é exibida.

O procedimento a seguir pressupõe que o Cliente de Depuração do WSD foi iniciado e a filtragem por endereço IP está ocorrendo.

Para desabilitar a filtragem

  • No prompt de comando do Cliente de Depuração do WSD, execute o seguinte comando: ip clear

    Todo o tráfego multicast agora será mostrado na saída de depuração.

Procedimentos de diagnóstico WSDAPI

Introdução com solução de problemas do WSDAPI