Steuerung der Winsock-Ablaufverfolgung

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

  • Befehlszeilentools

    Zwei Befehlszeilentools sind in Windows Vista und Windows Server 2008 enthalten, die zum Steuern der Ablaufverfolgung verwendet werden und die binäre Ablaufverfolgungsprotokolldatei in lesbaren Text konvertieren.

    Das toollogman.exe wird verwendet, um die Winsock-Ablaufverfolgung zu starten oder zu beenden.

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

  • Ereignisanzeige

    Die Ereignisanzeige auf Windows Vista und höher kann auch verwendet werden, um die Winsock-Ablaufverfolgung zu aktivieren. Auf die Ereignisanzeige kann über die Startmenü unter den Verwaltungstools zugegriffen werden.

Verwenden von Logman und Tracert

Die Winsock-Netzwerkereignisablaufverfolgung ist standardmäßig für Windows Vista und höher 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 die oben genannte Winsock-Ablaufverfolgung auf einem Computer für die Sitzung mit dem Namen mywinsocksession:

logman stop -ets mywinsocksession

Eine binärprotokolldatei 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 Name 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

Die Änderungsverfolgung des Winsock-Katalogs ist standardmäßig für Windows Vista und höher aktiviert.

Hinweis

Layered Service Providers sind veraltet. Verwenden Sie ab Windows 8 und Windows Server 2012 Windows Filterplattform.

 

Der folgende Befehl startet die Winsock Catalog Change Tracing for Layered Service Providers (LSPs) auf einem Computer, legt den Namen der Ereignisablaufverfolgungssitzung auf mywinsockcatalogsession fest und sendet die Ausgabe an eine binäre Protokolldatei 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 die oben genannte Winsock-Ablaufverfolgung auf einem Computer für die Sitzung mit dem Namen "mysession":

logman stop -ets mywinsockcatalogsession

Eine binärprotokolldatei 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 Name 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 von Ereignisanzeige zum Starten der Winsock-Netzwerkereignisablaufverfolgung

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

Aktivieren Sie im Aktionsbereich die Option "Protokolleigenschaften " und aktivieren 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-Netzwerkereignisablaufverfolgung ist jetzt aktiviert, und alle Aktionen, die Sie ausführen müssen, werden auf die Aktualisierungsaktion getroffen, um die Liste der Ereignisse zu aktualisieren, die protokolliert wurden. Um die Protokollierung zu beenden, deaktivieren Sie einfach dasselbe Optionsfeld.

Möglicherweise müssen Sie die Protokollgröße je nachdem, wie viele Ereignisse angezeigt werden sollen, erhöhen. Ein Nachteil bei der Verwendung der Ereignisanzeige für die Winsock-Ablaufverfolgung besteht darin, dass nicht alle Zeichenfolgenressourcen geladen werden, sodass die im Feld "Beschreibung" angezeigten Nachrichten (sobald Sie ein Ereignis auswählen) manchmal schwer zu lesen ist (ein Argument, das formatiert werden soll, da hex beispielsweise in Dezimalzahl angezeigt wird). 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 aufweist.

Verwenden von Ereignisanzeige zum Starten der Winsock-Katalogänderungsablaufverfolgung

Wenn Sie Ereignisanzeige öffnen, enthält der linke Bereich die Liste der Ereignisse. Öffnen Sie Anwendungs- und Dienstprotokolle, und navigieren Sie zu Microsoft\Windows\Winsock-Katalog ändern als Quelle, und wählen Sie "Betriebsbereit" aus.

Aktivieren Sie im Aktionsbereich die Option "Protokolleigenschaften " und aktivieren 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 Änderungsverfolgung des Winsock-Katalogs ist jetzt aktiviert, und alles, was Sie tun müssen, wird die Aktualisierungsaktion getroffen, um die Liste der Ereignisse zu aktualisieren, die protokolliert wurden. Um die Protokollierung zu beenden, deaktivieren Sie einfach dasselbe Optionsfeld.

Möglicherweise müssen Sie die Protokollgröße je nachdem, wie viele Ereignisse angezeigt werden sollen, erhöhen. Ein Nachteil bei der Verwendung der Ereignisanzeige für die Winsock-Ablaufverfolgung besteht darin, dass nicht alle Zeichenfolgenressourcen geladen werden, sodass die im Feld "Beschreibung" angezeigten Nachrichten (sobald Sie ein Ereignis auswählen) manchmal schwer zu lesen ist (ein Argument, das formatiert werden soll, da hex beispielsweise in Dezimalzahl angezeigt wird). 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 aufweist.

Interpretieren von Winsock-Ablaufverfolgungsprotokollen

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

  • System
  • EventData

Die Systeminformationen enthalten die Protokollierungsebene, die Zeit, zu der der Protokolleintrag erstellt wurde, die Ereignis-ID, die den Ereignistyp, die Ausführungsprozess-ID, die Ausführungsthread-ID und andere Systeminformationen darstellt. Eine Protokollebene von 4 in der Winsock-Ablaufverfolgung stellt die Protokollierung von Informationsereignissen dar. Eine Protokollebene von 5 in Winsock-Ablaufverfolgung stellt eine ausführliche Ereignisprotokollierung dar.

Die Ausführungsprozess-ID und die Thread-ID in den Systeminformationen gibt den Prozess und den Thread an, der ausgeführt wurde, wenn das Ereignis aufgetreten ist. In vielen Fällen stellt dies einen Kernel- oder Workerthread und -prozess dar, nicht einen Benutzermodusthread und oder 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 problemlos verwendet werden, um eine Protokolldatei für bestimmte Winsock-Ablaufverfolgungsereignisse zu filtern.

Die Ereignisdaten enthalten Informationen, die für den Ereignistyp spezifisch sind.

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

Ein Address-Parameter in den Ereignisdateninformationen wird in einigen Winsock-Ablaufverfolgungsereignissen zurückgegeben. Ein Address-Parameter stellt eine IP-Adresse dar, wird jedoch in der Textdatei angezeigt, die vom tooltracerpt.exe oder in Ereignisanzeige als unformatierte Bytes oder eine Zahl erstellt wird. IPv6-Adressen werden in Hexadezimalstellen angezeigt, sodass sie einfacher 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.

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

Winsock-Ablaufverfolgung

Details zur Änderungsablaufverfolgung des Winsock-Katalogs

Winsock Network Event Tracing Details

Winsock-Ablaufverfolgungsebenen