Dela via


Använda WSD-felsökningsklienten för att verifiera multicast-trafik

Om den allmänna värden och klienten kan se varandra i nätverket men den faktiska värden och klienten inte kan det, är det troligt att problemet finns i de meddelanden som skickas mellan slutpunkterna över nätverket. Mer information om de generiska värdena och klienten finns i Using a Generic Host and Client for UDP WS-Discovery. Eftersom fullständiga nätverksspår kan vara svåra att samla in, filtrera och läsa kan verktyget WSD-felsökningsklient användas för att skriva ut multicast-sidor för WS-Discovery-meddelanden.

WSD-felsökningsklienten i multicast-läge kan bara inspektera hälften av meddelandena eftersom klienten inte kan skriva ut unicast-meddelanden. Om unicast-trafiken är av intresse kan du hoppa direkt till Inspektera nätverksspårningar för UDP WS-Discovery.

Den här proceduren visar en metod som visar all multicast-trafik i nätverket. Om du bara vill visa multicast-trafik till och från enheten läser du avsnittet filtrering av WSD-felsökningsklientresultat nedan.

Så här använder du WSD-felsökningsklienten för att verifiera multicast-trafik

  1. Konfigurera värden och klienten så att de körs över nätverket (det vill: se till att värden och klienten fungerar på olika datorer).
  2. Öppna en kommandotolk och kör följande kommando: WSDDebug_client.exe /mode multicast
  3. Återskapa felet genom att starta värden och klienten eller genom att trycka på F5 i Nätverksutforskaren.
  4. Kontrollera att meddelandena är multicasta.

Om de meddelanden som krävs visas i WSD-felsökningsklientens utdata kan programfelet finnas i multicast-meddelandeinnehållet, eller i förekomsten eller innehållet i motsvarande unicast-svarsmeddelanden. Fortsätt felsökningen genom att följa anvisningarna under Inspektion av nätverksspårningar för UDP WS-Discovery.

Om de meddelanden som krävs visas i WSD-felsökningsklientens utdata är det troligt att källan till programproblemet har identifierats. Det är troligt att multicast-trafiken inte överförs i nätverket. Det här felet kan inträffa när programmet inte räknar upp multicast-kort korrekt. Program måste uttryckligen skicka multicast-trafik över alla nätverksgränssnitt. Annars kanske paket inte genereras för loopback-gränssnittet eller för andra gränssnitt. Kontrollera att paketen inte visas i nätverket genom att följa anvisningarna i Inspektera nätverksspårningar för UDP WS-Discovery- och leta efter bevis på saknade multicast-meddelanden.

Verifiera att meddelandena sänds i multicast.

Kontrollera alltid att prob-meddelanden är multicast. Du kan dessutom kontrollera att meddelandena Hello och Resolve är multicast. Observera att inte alla program använder Lösa meddelanden. Mer information om meddelandemönster som används av klienter och värdar finns i Identifierings- och Metadata Exchange-meddelandemönster och Komma igång med WSDAPI-felsökning.

Meddelanden måste utlösas för att kunna skickas enligt beskrivningen i steg 3 ovan. WSD-felsökningsklienten visar det råa SOAP-meddelandet som utdata. Eftersom alla meddelanden som skrivs ut av WSD-felsökningsklienten i multicast-läge tas emot via en multicast-socket visas inte måladressen för meddelandet.

Följande exempel på utdata från WSD Debug-klienten visar ett Probe-meddelande. Elementet <wsa:Action> identifierar meddelandet som ett probe-meddelande. Kontrollera fältet <wsa:Action> för att kontrollera att det mottagna meddelandet var ett avsökningsmeddelande.

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>

Följande exempel på WSD-felsökningsklientutdata visar ett Hello-meddelande. Elementet <wsa:Action> identifierar meddelandet som ett Hello-meddelande.

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>

Filtrera WSD-felsökningsklientresultat

Genom att filtrera WSD-felsökningsklientresultaten kan du identifiera incidenttrafik som involverar enheten. Filtrering är bara nödvändigt i brusiga nätverk.

Det finns två sätt att filtrera resultat. IP-adresserna som ska filtreras kan identifieras explicit när WSD-felsökningsklienten startas. Du kan också ange IP-adresserna när klienten har startats. I det här avsnittet beskrivs båda metoderna.

Ange IP-adresser som ska filtreras när WSD-felsökningsklienten startas

  1. Konfigurera värden och klienten så att de körs över nätverket (det vill: se till att värden och klienten fungerar på olika datorer).
  2. Samla in enhetens IP-adress(er). Om enheten har flera adresser (till exempel både IPv4- och IPv6-adresser) måste alla adresser samlas in.
  3. Öppna en kommandotolk och kör följande kommando: WSDDebug_client.exe /mode multicast /ip add<device IP>

<enhetens IP-> är en IP-adress. I följande lista visas några exempelformat för den här IP-adressen.

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

WSD-felsökningsklienten löser automatiskt de värdnamn som anges i kommandotolken.

Filtrera resultat när WSD-felsökningsklienten har startats

  1. Konfigurera värden och klienten så att de körs över nätverket (det vill: se till att värden och klienten fungerar på olika datorer).
  2. Samla in enhetens IP-adress(er). Om enheten har flera adresser (till exempel både IPv4- och IPv6-adresser) måste alla adresser samlas in.
  3. Öppna en kommandotolk och kör följande kommando: WSDDebug_client.exe /mode multicast
  4. Kör följande kommando i kommandotolken för WSD-felsökningsklienten: ip add<enhetens IP>
  5. Upprepa steg 4 tills alla enhetens IP-adresser har lagts till.

Följande procedur förutsätter att WSD-felsökningsklienten har startats och att filtrering efter IP-adress sker.

Kontrollera att rätt IP-adresser filtreras

  • Kör följande kommando i kommandotolken för WSD-felsökningsklienten: ip print

    Listan över IP-adresser som filtreras visas.

Följande procedur förutsätter att WSD-felsökningsklienten har startats och att filtrering efter IP-adress sker.

Inaktivera filtrering

  • Kör följande kommando i kommandotolken för WSD-felsökningsklienten: ip clear

    Nu kommer all multicast-trafik att visas i felsökningsutdata.

WSDAPI-diagnostikprocedurer

Komma igång med WSDAPI-felsökning