Freigeben über


Kontrolle des Winsock-Tracings

Winsock-Nachverfolgung kann mithilfe einer der folgenden Methoden gesteuert werden:

  • Befehlszeilentools

    Zwei Befehlszeilentools sind in Windows Vista und Windows Server 2008 enthalten, die verwendet werden, um die Ablaufverfolgung zu steuern und die binäre Ablaufverfolgungsprotokolldatei in lesbaren Text zu konvertieren.

    Das Tool logman.exe wird verwendet, um das Winsock Tracing zu starten oder zu beenden.

    Das tracerpt.exe Tool wird verwendet, um die binäre Ablaufverfolgungsprotokolldatei in eine lesbare Textdatei zu konvertieren.

  • Ereignisanzeige

    Die Ereignisanzeige unter Windows Vista und höher kann auch zum Aktivieren der Winsock-Ablaufverfolgung verwendet werden. Auf die Ereignisanzeige kann über das Startmenü unter den Verwaltungstools zugegriffen werden.

Verwenden von Logman und Tracerpt

Winsock-Netzwerkereignisablaufverfolgung ist unter Windows Vista und höher standardmäßig deaktiviert.

Der folgende Befehl startet die Winsock-Netzwerkereignisablaufverfolgung auf einem Computer, legt den Namen der Ereignisablaufverfolgungssitzung auf mywinsocksession fest und sendet die Ausgabe an eine binäre Protokolldatei namens winsocklogfile.etl:

logman start -ets mywinsocksession -o winsocklogfile.etl -p Microsoft-Windows-Winsock-AFD

Protokolldateien werden im aktuellen Verzeichnis mit Dateinamen des Formulars winsocklogfile_000001.etl erstellt.

Der folgende Befehl stoppt das obige Winsock Tracing auf einem Computer für die Sitzung mit dem Namen mywinsocksession:

logman stop -ets mywinsocksession

Eine binäre Protokolldatei wird an den speicherort geschrieben, der durch den Parameter "-o" angegeben wird. Um die Binärdatei in eine lesbare Textdatei zu übersetzen, wird tracerpt.exe verwendet:

tracerpt.exe <Namen der ETL-Datei> –o winsocktracelog.txt

Wenn eine Ausgabedatei mit XML anstelle von Nur-Text bevorzugt wird, wird der folgende Befehl verwendet:

tracerpt.exe <Name der .etl-Datei> -o winsocktracelog.xml -of xml

Winsock-Katalogänderungsablaufverfolgung ist unter Windows Vista und höher standardmäßig aktiviert.

Anmerkung

Mehrschicht-Dienstanbieter sind veraltet. Ab Windows 8 und Windows Server 2012 verwenden Sie die Windows-Filterplattform.

Der folgende Befehl startet die Winsock-Katalogänderungsverfolgung für geschichtete Dienstanbieter (LSPs) auf einem Computer, legt den Namen der Ereignisprotokollsitzung auf mywinsockcatalogsession fest und sendet die Ausgabe an eine Binärprotokolldatei namens winsockcataloglogfile.etl.

logman start -ets mywinsockcatalogsession -o winsockcataloglogfile.etl -p Microsoft-Windows-Winsock-WS2HELP

Protokolldateien werden im aktuellen Verzeichnis mit Dateinamen des Formulars winsockcataloglogfile_000001.etl erstellt.

Der folgende Befehl stoppt das oben beschriebene Winsock Tracing auf einem Computer für die Sitzung namens mysession:

logman stop -ets mywinsockcatalogsession

Eine binäre Protokolldatei wird an den speicherort geschrieben, der durch den Parameter "-o" angegeben wird. Um die Binärdatei in eine lesbare Textdatei zu übersetzen, wird tracerpt.exe verwendet:

tracerpt.exe <Namen der ETL-Datei> –o winsockcatalogtracelog.txt

Wenn eine Ausgabedatei mit XML anstelle von Nur-Text bevorzugt wird, wird der folgende Befehl verwendet:

tracerpt.exe <Name der .etl-Datei> -o winsockcatalogtracelog.xml -of xml

Verwenden der Ereignisanzeige zum Starten der Winsock-Netzwerkereignisablaufverfolgung

Wenn Sie die Ereignisanzeige öffnen, enthält der linke Bereich die Liste der Ereignisse. Öffnen Sie Anwendungs- und Dienstprotokolle, und navigieren Sie zu Microsoft\Windows\Winsock Network Event als Quelle, und wählen Sie Operationalaus.

Im Aktionsbereich wählen Sie Protokolleigenschaften aus und markieren Sie das Kontrollkästchen Protokollierung aktivieren. Sobald die Protokollierung aktiviert ist, können Sie auch die Größe der Protokolldatei ändern, wenn dies erforderlich ist.

Winsock-Netzwerkereignisablaufverfolgung ist jetzt aktiviert, und sie müssen lediglich auf die Aktualisierungsaktion klicken, um die Liste der protokollierten Ereignisse zu aktualisieren. Um die Protokollierung zu beenden, entfernen Sie einfach die Markierung der gleichen Schaltfläche.

Möglicherweise müssen Sie die Protokollgröße je nachdem, wie viele Ereignisse Sie anzeigen möchten, erhöhen. Ein Nachteil bei der Verwendung der Ereignisanzeige für Winsock-Tracing besteht darin, dass nicht alle Zeichenfolgenressourcen geladen werden, sodass die im Feld "Beschreibung" angezeigten Nachrichten (sobald Sie ein Ereignis ausgewählt haben) manchmal schwer zu lesen sind (ein Argument, das als Hexadezimal formatiert werden soll, wird beispielsweise im Dezimalformat angezeigt). Sie können jedoch die Registerkarte Details in der Ereignisbeschreibung auswählen, die den unformatierten XML-Protokolleintrag anzeigt, der in der Regel einfacher zu verstehende Argumente hat.

Verwenden der Ereignisanzeige zum Starten der Winsock-Katalog-Änderungsverfolgung

Wenn Sie die Ereignisanzeige öffnen, enthält der linke Bereich die Liste der Ereignisse. Öffnen Sie Anwendungs- und Dienstprotokolle, und navigieren Sie zu Microsoft\Windows\Winsock Catalog Change als Quelle, und wählen Sie Operationalaus.

Wählen Sie im Aktionsbereich Protokolleigenschaften und markieren Sie das Kontrollkästchen Protokollierung aktivieren. Sobald die Protokollierung aktiviert ist, können Sie auch die Größe der Protokolldatei ändern, wenn dies erforderlich ist.

Die Winsock-Katalogänderungsablaufverfolgung ist jetzt aktiviert, und sie müssen lediglich auf die Aktualisierungsaktion klicken, um die Liste der protokollierten Ereignisse zu aktualisieren. Um die Protokollierung zu beenden, entfernen Sie einfach die Markierung der gleichen Schaltfläche.

Möglicherweise müssen Sie die Protokollgröße je nachdem, wie viele Ereignisse Sie anzeigen möchten, erhöhen. Ein Nachteil der Verwendung der Ereignisanzeige für die Winsock-Ablaufverfolgung besteht darin, dass nicht alle Zeichenfolgenressourcen geladen werden. Daher können die im Feld "Beschreibung" angezeigten Nachrichten, wenn Sie ein Ereignis ausgewählt haben, manchmal schwer lesbar sein. Ein Argument, das beispielsweise als Hexadezimal formatiert sein sollte, wird in Dezimal angezeigt. Sie können jedoch die Registerkarte Details in der Ereignisbeschreibung auswählen, die den unformatierten XML-Protokolleintrag anzeigt, der in der Regel einfacher zu verstehende Argumente hat.

Winsock Tracing-Protokolle interpretieren

Alle Winsock-Ablaufverfolgungsereignisse in einem Protokoll enthalten zwei Arten von Informationen:

  • System
  • Ereignisdaten

Die Systeminformationen enthalten die Protokollierungsebene, den Zeitpunkt, zu dem der Protokolleintrag erstellt wurde, die Ereignis-ID, die den Ereignistyp darstellt, die Ausführungsprozess-ID, die Ausführungsthread-ID und andere Systeminformationen. Eine Protokollebene von 4 in der Winsock-Ablaufverfolgung stellt die Informationsereignisprotokollierung dar. Eine Protokollstufe von 5 im Winsock Tracing steht für eine ausführliche Protokollierung von Ereignissen.

Die Ausführungsprozess-ID und Thread-ID in den Systeminformationen gibt den Prozess und thread an, der beim Auftreten des Ereignisses ausgeführt wurde. In vielen Fällen stellt dies einen Kernel- oder Workerthread und -prozess dar, nicht einen Benutzermodusthread und den Prozess der Anwendung. Daher ist dieses Feld normalerweise nicht sehr nützlich.

Jeder Winsock-Ablaufverfolgungsereignistyp verfügt über eine eindeutige Ereignis-ID im Systemabschnitt der protokollierten Daten. Diese Ereignis-IDs können einfach verwendet werden, um eine Protokolldatei nach bestimmten Winsock-Ablaufverfolgungsereignissen zu filtern.

Die Ereignisdaten enthalten Spezifische Informationen für den Ereignistyp.

Der Process-Parameter in den Ereignisdateninformationen ist die Kernel-EPROCESS-Strukturadresse für den Prozess, nicht die tatsächliche PID. Um ein Ereignis mit der PID des Benutzermodus übereinzugleichen, nehmen Sie den Prozesswert aus den Ereignisdateninformationen aus jedem Protokolleintrag, und suchen Sie weiter oben im Protokoll nach einem Socketerstellungsereignis mit dem Prozesswert. Sobald eine Übereinstimmung gefunden wurde, ist der letzte Parameter in den Socketerstellungsereignisdaten die Prozess-ID für den Benutzermodus, die den Socket erstellt hat.

In einigen Winsock Tracing-Ereignissen wird ein Adressparameter in den Ereignisdaten zurückgegeben. Ein Adressparameter stellt eine IP-Adresse dar, wird jedoch in der durch das Tool tracerpt.exe erstellten Textdatei oder in der Ereignisanzeige als unformatierte Bytes oder als Zahl angezeigt. IPv6-Adressen werden im Hexadezimalwert angezeigt, sodass sie leichter verstanden werden. IPv4-Adressen werden als große Dezimalzahl angezeigt. Entwickler müssen die unformatierten Bytes einer IPv4-Adresse manuell in die vertrautere IPv4-Dezimaladressennotation konvertieren, um den Wert besser interpretieren zu können.

In einigen Winsock Tracing Ereignissen wird ein Fehlerparameter in den Ereignisdaten zurückgegeben. Ein Error-Parameter ist die Form eines NTSTATUS- oder HRESULT-Fehlercodes. Dieser Fehlerparameter wird in der Textdatei angezeigt, die vom tool tracerpt.exe oder in der Ereignisanzeige als Dezimalzahl erstellt wurde. Entwickler müssen die Dezimalzahl manuell in eine Hexadezimalzahl konvertieren, um den Fehlercode in einigen Fällen besser zu interpretieren.

Winsock Tracing

Winsock Katalogänderung Tracing Details

Winsock Netzwerk Ereignis Tracing Details

Winsock Tracing Levels