Beheer van Winsock-tracering
Winsock-tracering kan worden beheerd met behulp van een van de volgende methoden:
Opdrachtregelprogramma's
Er zijn twee opdrachtregelprogramma's opgenomen in Windows Vista en Windows Server 2008 die worden gebruikt voor het beheren van tracering en het converteren van het binaire traceringslogboekbestand naar leesbare tekst.
Het hulpprogramma logman.exe wordt gebruikt om Winsock-tracering te starten of te stoppen.
Het hulpprogramma tracerpt.exe wordt gebruikt om het binaire traceringslogboekbestand te converteren naar een leesbaar tekstbestand.
Evenementenviewer
De Logboekviewer op Windows Vista en latere versies kan ook worden gebruikt om Winsock-tracering in te schakelen. Het Evenementenlogboek is toegankelijk via de Systeembeheer-opties in het Startmenu.
Logman en tracerpt gebruiken
Winsock-netwerkgebeurtenistracering is standaard uitgeschakeld op Windows Vista en hoger.
Met de volgende opdracht wordt winsock-netwerkgebeurtenistracering gestart op een computer, wordt de naam van de gebeurtenistraceringssessie ingesteld op mywinsocksession en wordt uitvoer verzonden naar een binair logboekbestand met de naam winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Logboekbestanden worden gemaakt in de huidige map met bestandsnamen van het formulier winsocklogfile_000001.etl
Met de volgende opdracht stopt u de bovenstaande Winsock-tracering op een computer voor de sessie met de naam mywinsocksession:
logman stop -ets mywinsocksession
Er wordt een binair logboekbestand naar de locatie geschreven die is opgegeven door de parameter –o. Als u het binaire bestand wilt vertalen naar een leesbaar tekstbestand, wordt tracerpt.exe gebruikt:
tracerpt.exe <naam van het ETL-bestand> -o winsocktracelog.txt
Als een uitvoerbestand met XML in plaats van tekst zonder opmaak de voorkeur heeft, wordt de volgende opdracht gebruikt:
tracerpt.exe <naam van het ETL-bestand> -o winsocktracelog.xml -van xml-
Winsock-cataloguswijzigingstracering is standaard ingeschakeld op Windows Vista en hoger.
Notitie
Gelaagde serviceproviders zijn verouderd verklaard. Gebruik vanaf Windows 8 en Windows Server 2012 Windows Filtering Platform.
Met de volgende opdracht wordt Winsock Catalog Change tracing gestart voor gelaagde serviceproviders (LSP's) op een computer, wordt de naam van de gebeurtenistraceringssessie ingesteld op mywinsockcatalogsession en wordt uitvoer verzonden naar een binair logboekbestand met de naam winsockcataloglogfile.etl:
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Logboekbestanden worden gemaakt in de huidige map met bestandsnamen van het formulier winsockcataloglogfile_000001.etl
Met de volgende opdracht stopt u de bovenstaande Winsock-tracering op een computer voor de sessie met de naam mysession:
logman stop -ets mywinsockcatalogsession
Er wordt een binair logboekbestand naar de locatie geschreven die is opgegeven door de parameter –o. Als u het binaire bestand wilt vertalen naar een leesbaar tekstbestand, wordt tracerpt.exe gebruikt:
tracerpt.exe <naam van het ETL-bestand> -o winsockcatalogtracelog.txt
Als een uitvoerbestand met XML in plaats van tekst zonder opmaak de voorkeur heeft, wordt de volgende opdracht gebruikt:
tracerpt.exe <naam van het ETL-bestand> -o winsockcatalogtracelog.xml -van xml-
Logboeken gebruiken om Winsock-netwerkgebeurtenistracering te starten
Wanneer u Event Viewer opent, bevat het linker paneel de lijst met evenementen. Open logboeken voor toepassingen en services en navigeer naar Microsoft\Windows\Winsock Network Event als bron en selecteer Operational.
Selecteer in het deelvenster Actie Logboekeigenschappen en vink het selectievakje Logboekactivering inschakelen aan. Zodra logboekregistratie is ingeschakeld, kunt u ook de grootte van het logboekbestand wijzigen als dit nodig is.
Winsock-netwerkgebeurtenistracering is nu ingeschakeld en u hoeft alleen maar op de actie Vernieuwen te drukken om de lijst met gebeurtenissen bij te werken die zijn vastgelegd. Om de logboekregistratie te stoppen, schakelt u dezelfde radioknop uit.
Mogelijk moet u de logboekgrootte vergroten, afhankelijk van het aantal gebeurtenissen dat u wilt zien. Een nadeel van het gebruik van de Evenementenviewer voor Winsock-tracering is dat niet alle tekenreeksbronnen automatisch worden geladen, zodat de berichten die worden weergegeven in het Beschrijvingsveld (zodra u een gebeurtenis selecteert) soms moeilijk te lezen zijn (bijvoorbeeld, een argument dat als hex moet worden opgemaakt, wordt weergegeven als decimaal). U kunt echter het tabblad Details selecteren in de beschrijving van de gebeurtenis, waarin de onbewerkte XML-logboekvermelding wordt weergegeven die meestal gemakkelijker te begrijpen argumenten heeft.
De Gebeurtenisviewer gebruiken om Winsock Catalog Change Tracing te starten
Wanneer u Logboeken opent, bevat het linkerdeelvenster de lijst met gebeurtenissen. Open logboeken voor toepassingen en services en ga naar Microsoft\Windows\Winsock Catalog Change als bron en selecteer Operational.
In het deelvenster Actie, selecteer Logboek eigenschappen en vink het selectievakje Inschakelen logboekregistratie aan. Zodra logboekregistratie is ingeschakeld, kunt u ook de grootte van het logboekbestand wijzigen als dit nodig is.
Winsock-cataloogwijzigingstracering is nu ingeschakeld en het enige wat je hoeft te doen is de Vernieuwen-actie gebruiken om de lijst met gebeurtenissen bij te werken die zijn gelogd. Als u de logboekregistratie wilt stoppen, schakelt u dezelfde selectievakje uit.
Mogelijk moet u de logboekgrootte vergroten, afhankelijk van het aantal gebeurtenissen dat u wilt zien. Een nadeel van het gebruik van de Event Viewer voor Winsock-tracering is dat niet alle tekenreeksbronnen worden geladen. Hierdoor zijn de berichten die worden weergegeven in het veld Beschrijving (nadat u een gebeurtenis selecteert) soms moeilijk te lezen. Een argument dat moet worden opgemaakt als hex wordt bijvoorbeeld in decimalen weergegeven. U kunt echter het tabblad Details selecteren in de beschrijving van de gebeurtenis, waarin de onbewerkte XML-logboekvermelding wordt weergegeven die meestal gemakkelijker te begrijpen argumenten heeft.
Winsock-traceringslogboeken interpreteren
Alle Winsock-traceringsgebeurtenissen in een logboek bevatten twee soorten informatie:
- Systeem
- EventData
De systeeminformatie bevat het logboekniveau, het tijdstip waarop de logboekvermelding is gemaakt, de gebeurtenis-id die het gebeurtenistype vertegenwoordigt, de uitvoeringsproces-id, de id van de uitvoeringsthread en andere systeeminformatie. Een logboekniveau van 4 in Winsock-tracering vertegenwoordigt logboekregistratie van informatiegebeurtenissen. Een logboekniveau van 5 in Winsock-tracering betekent gedetailleerde logboekregistratie van gebeurtenissen.
De id van het uitvoeringsproces en de thread-id in de systeemgegevens geven het proces en de thread aan die werd uitgevoerd toen de gebeurtenis plaatsvond. In veel gevallen vertegenwoordigt dit een kernel- of werkthread en -proces, niet een thread in de gebruikersmodus of het proces van de toepassing. Dit veld is dus normaal gesproken niet erg nuttig.
Elk winsock-traceringsgebeurtenistype heeft een unieke gebeurtenis-id in de systeemsectie van de vastgelegde gegevens. Deze gebeurtenis-id's kunnen eenvoudig worden gebruikt om een logboekbestand te filteren op specifieke Winsock-traceringsgebeurtenissen.
De gebeurtenisgegevens bevatten informatie die specifiek is voor het gebeurtenistype.
De parameter Proces in de gebeurtenisgegevens is het adres van de kernel-EPROCESS-structuur voor het proces, niet de werkelijke PID. Als u een gebeurtenis wilt koppelen aan de gebruikersmodus PID, neemt u de proceswaarde uit de gebeurtenisgegevens van een logboekvermelding en zoekt u eerder in het logboek naar een socketcreatie-gebeurtenis met de proceswaarde. Zodra er een overeenkomst is gevonden, is de laatste parameter in de gebeurtenisgegevens voor het maken van sockets de proces-id in de gebruikersmodus die de socket heeft gemaakt.
Een adresparameter in de gebeurtenisgegevens wordt geretourneerd in sommige Winsock-traceringsgebeurtenissen. Een adresparameter vertegenwoordigt een IP-adres, maar het wordt weergegeven in het tekstbestand dat is gemaakt door het hulpprogramma tracerpt.exe of in de Gebeurtenisviewer als ruwe bytes of als een getal. IPv6-adressen worden weergegeven in hexadecimaal, zodat ze gemakkelijker te begrijpen zijn. IPv4-adressen worden weergegeven als een groot decimaal getal. Ontwikkelaars moeten de onbewerkte bytes van een IPv4-adres handmatig converteren naar de meer vertrouwde IPv4-notatie met stippeltekens om de waarde beter te kunnen interpreteren.
Een foutparameter in de eventdata wordt geretourneerd in sommige Winsock-traceringsgebeurtenissen. Een foutparameter is van de vorm van een NTSTATUS- of HRESULT-foutcode. Deze foutparameter wordt weergegeven in het tekstbestand dat is gemaakt door het hulpprogramma tracerpt.exe of in Logboeken als een decimaal getal. Ontwikkelaars moeten het decimaal getal handmatig converteren naar een hex-getal om de foutcode in sommige gevallen beter te interpreteren.