
Dienstprogramm, das eine .etl-Datei mit einem Windows-Netzwerkpaketmitschnitt in das .pcapng-Format konvertiert.
Dieses Tool ermöglicht es Ihnen, ndiscap- und pktmon-Paketerfassungen mit Wireshark anzuzeigen. Aufgrund von Leistungsproblemen mit der anderen beliebten Paketerfassungsmethode (WinPcap, die in älteren Versionen von Wireshark enthalten war), sollten diese integrierten Tools bevorzugt werden.
Windows verfügt über mehrere integrierte Komponenten, die Paketerfassung durchführen können:
pktmon start --capture
<repro>
pktmon stop
netsh trace start capture=yes report=disabled
<repro>
netsh trace stop
Die von diesen Tools generierten Dateien sind ETL-Dateien, die von ETW-zentrierten Tools wie Microsoft Message Analyzer geöffnet werden können, aber nicht von Wireshark, das für viele Ingenieure das bevorzugte Tool ist. Etl2pcapng.exe kann die ETL-Datei in eine pcapng-Datei konvertieren, um sie mit Wireshark zu öffnen oder mit Sprachen zu analysieren, die über pcapng-Bibliotheken verfügen, wie Python und Rust.
Hinweis: pktmon verfügt über ein integriertes etl2pcap-Konvertierungstool ("pktmon etl2pcap <filename>"), das ebenfalls grundlegende pcapng-Dateien erstellen kann. etl2pcapng bietet eine ähnliche Konvertierungsfähigkeit wie das integrierte Tool mit den folgenden Ergänzungen:
Vorgefertigte Binärdateien sind im Bereich Releases verfügbar: https://github.com/microsoft/etl2pcapng/releases
Führen Sie das Tool aus mit:
etl2pcapng.exe in.etl out.pcapng
Nach der Konvertierung der Datei gibt das Tool eine Tabelle aus, die die Zuordnungen zwischen Windows-Schnittstellenindizes und pcapng-Schnittstellen-IDs anzeigt.
Die Ausgabe-pcapng-Datei wird auf jedem Paket einen Kommentar enthalten, der die PID des aktuellen Prozesses zum Zeitpunkt der Protokollierung des Pakets angibt. WARNUNG: Dies ist häufig nicht dieselbe wie die tatsächliche PID des Prozesses, der das Senden des Pakets verursacht hat oder an den das Paket zugestellt wurde, da der Paketerfassungsanbieter oft in einem DPC (der in einem beliebigen Prozess ausgeführt wird) läuft. Der Benutzer sollte dies bei der Verwendung der PID-Informationen beachten.
Führen Sie in einer Eingabeaufforderung im src-Verzeichnis Folgendes aus. Cmake 3.15 oder höher ist erforderlich.
mkdir build
cd build
cmake ..
cmake --build . --config Release
Die Binärdatei befindet sich unter build/Release/etl2pcapng.exe
1.12.0 - Unterstützung für von pktmon generierte ETL-Dateien und Schreiben von anderen Anbieterereignissen als systemd-Journal-Exportblöcke hinzugefügt.
1.11.0 - Ermöglicht das Auslassen des Ausgabedateinamens (z.B. "etl2pcapng.exe foo.etl". Der Ausgabedateiname wird "foo.pcapng").
1.10.0 - 10x schneller.
1.9.0 - Hinzufügen der Unterstützung für die Dekodierung von Microsoft-Windows-Ras-NdisWanPacketCapture-Ereignissen (VPN/RemoteAccess) + Hinzufügen von ThreadID (TID) zu Paketkommentaren
1.8.0 - Hinzufügen des RSS-Hash-Werts zu Paketkommentaren für VMSwitch-Pakete.
1.7.0 - Einfügen von VMSwitch-Paketinformationen in Paketkommentare.
1.6.0 - Aktivierung von ControlFlowGuard.
1.5.0 - Schreiben von iftype und ifindex in Schnittstellenbeschreibungsblöcke und statisches Verlinken der C-Laufzeit, sodass vcredist nicht installiert werden muss.
1.4.1 - Fehlerbehebung, die zum Schreiben beschädigter Pakete führte.
1.4.0 - Automatische Ableitung der ursprünglichen Fragmentlänge, wenn erfasste Fragmente abgeschnitten wurden.
1.3.0 - Hinzufügen eines Kommentars zu jedem Paket, der die Prozess-ID (PID) enthält.
1.2.0 - Schreiben von Richtungsinformationen jedes Pakets (epb_flags).
1.1.0 - Unterstützung für Multi-Event-Pakete in Traces von Windows 8 und älter hinzugefügt.
Dieses Projekt begrüßt Beiträge und Vorschläge. Die meisten Beiträge erfordern, dass Sie einer Contributor License Agreement (CLA) zustimmen, in der Sie erklären, dass Sie das Recht haben, uns die Rechte zur Nutzung Ihres Beitrags zu gewähren, und dies auch tun. Details finden Sie unter https://cla.opensource.microsoft.com.
Wenn Sie einen Pull-Request einreichen, wird ein CLA-Bot automatisch feststellen, ob Sie eine CLA bereitstellen müssen, und den PR entsprechend kennzeichnen (z. B. Statusprüfung, Kommentar). Befolgen Sie einfach die Anweisungen des Bots. Sie müssen dies nur einmal für alle Repos tun, die unsere CLA verwenden.
Dieses Projekt hat den Microsoft Open Source Code of Conduct übernommen. Weitere Informationen finden Sie in den Code of Conduct FAQ oder wenden Sie sich bei weiteren Fragen oder Kommentaren an [email protected].