Kontroll över Winsock-spårning
Winsock-spårning kan styras med någon av följande metoder:
Kommandoradsverktyg
Två kommandoradsverktyg ingår i Windows Vista och Windows Server 2008 som används för att styra spårning och konvertera loggfilen för binär spårning till läsbar text.
Verktyget logman.exe används för att starta eller stoppa Winsock-spårning.
Verktyget tracerpt.exe används för att konvertera loggfilen för binär spårning till en läsbar textfil.
Händelsevisaren
Händelsevisaren i Windows Vista och senare kan också användas för att aktivera Winsock-spårning. Händelsevisaren är tillgänglig under Administrationsverktyg på Start-menyn.
Använda logman och tracerpt
Spårning av Winsock-nätverkshändelser är inaktiverad som standard i Windows Vista och senare.
Följande kommando startar Spårning av Winsock-nätverkshändelser på en dator, anger namnet på händelsespårningssessionen till mywinsocksession och skickar utdata till en binär loggfil med namnet winsocklogfile.etl:
logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD
Loggfiler skapas i den aktuella katalogen med filnamn för formuläret winsocklogfile_000001.etl
Följande kommando stoppar winsockspårningen ovan på en dator för sessionen med namnet mywinsocksession:
logman stop -ets mywinsocksession
En binär loggfil skrivs till den plats som anges av parametern -o. Om du vill översätta den binära filen till en läsbar textfil används tracerpt.exe:
tracerpt.exe <namnet på .etl-filen> –o winsocktracelog.txt
Om du föredrar en utdatafil som innehåller xml i stället för oformaterad text används följande kommando:
tracerpt.exe <namnet på .etl-filen> –o winsocktracelog.xml –of XML
Winsock-katalogändringsspårning är aktiverat som standard i Windows Vista och senare.
Notera
Layered Service Providers är föråldrade. Från och med Windows 8 och Windows Server 2012 använder du Windows Filtering Platform.
Följande kommando startar Ändringsspårning i Winsock-katalog för lagrade tjänstleverantörer (LSP:er) på en dator, anger namnet på händelsespårningssessionen som mywinsockcatalogsession och skickar utdata till en binär loggfil med namnet winsockcataloglogfile.etl.
logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP
Loggfiler skapas i den aktuella katalogen med filnamn för formuläret winsockcataloglogfile_000001.etl
Följande kommando stoppar winsockspårningen ovan på en dator för sessionen med namnet mysession:
logman stop -ets mywinsockcatalogsession
En binär loggfil skrivs till den plats som anges av parametern -o. Om du vill översätta den binära filen till en läsbar textfil används tracerpt.exe:
tracerpt.exe <namnet på .etl-filen> –o winsockcatalogtracelog.txt
Om du föredrar en utdatafil som innehåller xml i stället för oformaterad text används följande kommando:
tracerpt.exe <namnet på .etl-filen> –o winsockcatalogtracelog.xml –of xml
Använda händelseloggen för att starta WinSock-händelsespårning av nätverk
När du öppnar Loggboken innehåller det vänstra fönstret listan över händelser. Öppna program- och tjänstloggar och gå till Microsoft\Windows\Winsock Network Event som källa och välj Operational.
I åtgärdsfönstret väljer du Loggegenskaper och markerar kryssrutan Aktivera loggning. När loggningen är aktiverad kan du också ändra loggfilens storlek om det behövs.
Spårning av Winsock-nätverkshändelser är nu aktiverat och allt du behöver göra är att trycka på åtgärden Uppdatera för att uppdatera listan över händelser som har loggats. Om du vill avsluta loggningen avmarkerar du bara samma alternativknapp.
Du kan behöva öka loggstorleken beroende på hur många händelser du vill se. En nackdel med att använda Loggboken för Winsock-spårning är att den inte läser in alla strängresurser, så meddelandena som visas i fältet Beskrivning (när du väljer en händelse) är ibland svåra att läsa (ett argument som ska formateras som hex visas i decimaltecken, till exempel). Du kan dock välja fliken Information i händelsebeskrivningen som visar den råa XML-loggposten som vanligtvis har lättare att förstå argument.
Använda Händelseloggen för att starta spårning av ändringar i Winsock-katalogen
När du öppnar Loggboken innehåller det vänstra fönstret listan över händelser. Öppna program- och tjänstloggar och gå till Microsoft\Windows\Winsock Catalog Ändra som källa och välj Operational.
I åtgärdsfönstret väljer du Loggegenskaper och markerar kryssrutan Aktivera loggning. När loggningen är aktiverad kan du också ändra loggfilens storlek om det behövs.
Winsock-katalogändringsspårning är nu aktiverat och allt du behöver göra är att trycka på åtgärden Uppdatera för att uppdatera listan över händelser som har loggats. Om du vill stoppa loggningen avmarkerar du bara samma radioknapp.
Du kan behöva öka loggstorleken beroende på hur många händelser du vill se. En nackdel med att använda Loggboken för Winsock-spårning är att den inte läser in alla strängresurser, så meddelandena som visas i fältet Beskrivning (när du väljer en händelse) är ibland svåra att läsa (ett argument som ska formateras som hex visas i decimaltecken, till exempel). Du kan dock välja fliken Information i händelsebeskrivningen som visar den råa XML-loggposten som vanligtvis har lättare att förstå argument.
Tolka Winsock-spårningsloggar
Alla Winsock-spårningshändelser i en logg innehåller två typer av information:
- System
- EventData
Systeminformationen innehåller loggningsnivån, tidpunkten då loggposten skapades, händelse-ID:t som representerar händelsetypen, körningsprocessens ID, körningstråds-ID och annan systeminformation. En loggnivå på 4 i Winsock-spårning representerar informationshändelseloggning. En loggnivå på 5 i Winsock-spårning representerar utförlig händelseloggning.
Körningsprocessens ID och tråd-ID i systeminformationen anger den process och tråd som kördes när händelsen inträffade. I många fall representerar detta en kernel- eller arbetstråd och process, inte en tråd i användarläge och eller processen för programmet. Så det här fältet är normalt inte särskilt användbart.
Varje Winsock-spårningshändelsetyp har ett unikt händelse-ID i systemavsnittet för loggade data. Dessa händelse-ID:er kan enkelt användas för att filtrera en loggfil för specifika Winsock-spårningshändelser.
Eventdata innehåller information som är specifik för händelsetypen.
Parametern Process i informationen om eventdata är EPROCESS-strukturens kerneladress för processen, inte den faktiska PID:n. För att matcha en händelse med process-ID i användarläge, ta processvärdet från eventdata-informationen från en loggpost och leta tidigare i loggen efter en händelse för skapande av socket med samma processvärde. När en matchning hittas är den sista parametern i händelsedata för socketskapande det process-ID i användarläge som skapade socketen.
En adressparameter för eventdata-informationen returneras i vissa Winsock-spårningshändelser. En adressparameter representerar en IP-adress, men den visas i textfilen som skapats av verktyget tracerpt.exe eller i Loggboken som rå byte eller ett tal. IPv6-adresser visas i hexadecimalt, så de är lättare att förstå. IPv4-adresser visas som ett stort decimaltal. Utvecklare måste manuellt konvertera de råa bytes för en IPv4-adress till den mer välbekanta IPv4:s punktseparerade decimalnotation för att bättre kunna tolka värdet.
En felparameter i eventdata returneras i vissa Winsock-spårningshändelser. En felparameter är i form av en NTSTATUS- eller HRESULT-felkod. Den här felparametern visas i textfilen som skapats av verktyget tracerpt.exe eller i Loggboken som ett decimaltal. Utvecklare måste manuellt konvertera decimaltalet till ett hextal för att bättre tolka felkoden i vissa fall.