Uso del cliente de depuración de WSD para comprobar el tráfico de multidifusión
Si el host y el cliente genéricos pueden verse en la red pero el host y el cliente reales no, es probable que el problema esté en los mensajes enviados entre los extremos a través de la red. Para más información sobre el host y el cliente genéricos, véase Uso de un host y un cliente genéricos para WS-Discovery UDP. Debido a que las trazas de red completas pueden ser difíciles de recopilar, filtrar y leer, la herramienta WSD Debug Client se puede utilizar para imprimir los lados de multidifusión de los mensajes WS-Discovery.
El cliente de depuración WSD en modo multidifusión solo puede inspeccionar la mitad de los mensajes, ya que el cliente no puede imprimir mensajes unidifusión. Si le interesa el tráfico unidifusión, pase directamente a Inspección de trazas de red para UDP WS-Discovery.
Este procedimiento muestra un método que mostrará todo el tráfico multicast de la red. Para mostrar solo el tráfico de multidifusión hacia y desde el dispositivo, consulte la sección Filtrado de los resultados del cliente de depuración WSD sección de abajo.
Para utilizar el cliente de depuración WSD para verificar el tráfico multidifusión
- Configure el host y el cliente para que funcionen a través de la red (es decir, asegúrese de que el host y el cliente funcionarán en máquinas diferentes).
- Abra un símbolo del sistema y ejecute el siguiente comando: WSDDebug_client.exe /mode multicast
- Reproduzca el fallo iniciando el host y el cliente o pulsando F5 en el Network Explorer.
- Compruebe que los mensajes se envían en multidifusión.
Si los mensajes requeridos se muestran en la salida del Cliente de Depuración WSD, entonces el fallo de la aplicación puede estar en el contenido del mensaje multicast, o en la existencia o contenido de los correspondientes mensajes de respuesta unicast. Continúe con la resolución de problemas siguiendo las instrucciones de Inspección de trazas de red para UDP WS-Discovery.
Si se muestran los mensajes requeridos en la salida del cliente de depuración WSD, es probable que se haya identificado el origen del problema de la aplicación. Es probable que el tráfico multicast no se esté transmitiendo en la red. Este fallo puede producirse cuando la aplicación no enumera correctamente los adaptadores de multidifusión. Las aplicaciones deben enviar explícitamente tráfico multicast a través de todas las interfaces de red; de lo contrario, es posible que no se generen paquetes para la interfaz loopback o para otras interfaces. Para comprobar que los paquetes no aparecen en la red, siga las instrucciones de Inspección de trazas de red para UDP WS-Discovery y buscar pruebas de mensajes multicast perdidos.
Comprobar que los mensajes se envían en multidifusión.
Siempre verifique que sondeo los mensajes están siendo de difundido múltiple. Opcionalmente, verifique que de saludo y Resolve los mensajes están siendo de difundido múltiple. Tenga en cuenta que no todas las aplicaciones utilizan mensajes Resolve. Para obtener más información sobre los patrones de mensajes utilizados por clientes y hosts, consulte Patrones de mensajes de descubrimiento e intercambio de metadatos y Introducción a la resolución de problemas de WSDAPI.
Los mensajes deben activarse para poder ser enviados, tal y como se describe en el paso 3 anterior. El cliente de depuración WSD muestra el mensaje SOAP sin procesar como salida. Dado que todos los mensajes impresos por WSD Debug Client en modo multidifusión se reciben a través de un socket multidifusión, no se muestra la dirección de destino del mensaje.
El siguiente ejemplo de WSD Debug Client muestra un mensaje sondeo. El <wsa:Action> elemento identifica el mensaje como un mensaje sondeo. Inspeccione el <wsa:Action> campo para verificar que el mensaje recibido era un mensaje sondeo.
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>
El siguiente ejemplo de WSD Debug Client muestra un mensaje de saludo. El <wsa:Action> elemento identifica el mensaje como un mensaje de saludo.
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>
Filtrado de los resultados del cliente de depuración WSD
Filtrar los resultados del cliente de depuración WSD puede ayudar a identificar el tráfico de incidentes relacionados con el dispositivo. El filtrado solo es necesario en las redes ruidosas.
Hay dos formas de filtrar los resultados. Las direcciones IP a filtrar pueden identificarse explícitamente al iniciar el cliente de depuración WSD. Alternativamente, las direcciones IP pueden especificarse después de que el cliente se haya iniciado. En esta sección se describen ambos métodos.
Para especificar las direcciones IP a filtrar al iniciar el cliente de depuración WSD.
- Configure el host y el cliente para que funcionen a través de la red (es decir, asegúrese de que el host y el cliente funcionarán en máquinas diferentes).
- Recopila la(s) dirección(es) IP del dispositivo. Si el dispositivo tiene varias direcciones (por ejemplo, tiene direcciones IPv4 e IPv6), deben recopilarse todas las direcciones.
- Abra un símbolo del sistema y ejecute el siguiente comando: WSDDebug_client.exe /mode multicast /ip add <dispositivo IP>
<dispositivo IP> es una dirección IP. La siguiente lista muestra algunos formatos de ejemplo para esta dirección IP.
- 192.168.0.1
- ::1
- mydevice.contoso.com
El cliente de depuración WSD resuelve automáticamente los nombres de host suministrados en el símbolo del sistema.
Para filtrar los resultados después de empezar el cliente de depuración WSD
- Configure el host y el cliente para que funcionen a través de la red (es decir, asegúrese de que el host y el cliente funcionarán en máquinas diferentes).
- Recopila la(s) dirección(es) IP del dispositivo. Si el dispositivo tiene varias direcciones (por ejemplo, tiene direcciones IPv4 e IPv6), deben recopilarse todas las direcciones.
- Abra un símbolo del sistema y ejecute el siguiente comando: WSDDebug_client.exe /mode multicast
- En el símbolo del sistema del cliente de depuración WSD, ejecute el siguiente comando: WSDDebug_client.exe /mode multicast /ip add <dispositivo IP>
- Repita el paso 4 hasta que se hayan añadido todas las direcciones IP de los dispositivos.
El siguiente procedimiento asume que el WSD Debug Client se ha iniciado y que se está produciendo el filtrado por dirección IP.
Para comprobar que se filtran las direcciones IP correctas
En el símbolo del sistema del cliente de depuración WSD, ejecute el siguiente comando: impresión ip
Aparece la lista de direcciones IP filtradas.
El siguiente procedimiento asume que el WSD Debug Client se ha iniciado y que se está produciendo el filtrado por dirección IP.
Para desconectar el filtrado
En el símbolo del sistema del cliente de depuración WSD, ejecute el siguiente comando: claro ip
Todo el tráfico multicast se mostrará ahora en la salida de depuración.
Temas relacionados