
Utilitaire qui convertit un fichier .etl contenant une capture de paquets réseau Windows au format .pcapng.
Cet outil vous permet de visualiser les captures de paquets ndiscap et pktmon avec Wireshark. En raison de problèmes de performance avec l'autre méthode populaire de capture de paquets (WinPcap, qui était inclus dans les anciennes versions de Wireshark), ces outils intégrés sont à préférer.
Windows dispose de plusieurs composants intégrés capables de capturer des paquets :
pktmon start --capture
<repro>
pktmon stop
netsh trace start capture=yes report=disabled
<repro>
netsh trace stop
Les fichiers générés par ces outils sont des fichiers etl, qui peuvent être ouverts par des outils centrés sur ETW comme Microsoft Message Analyzer, mais ne peuvent pas être ouverts par Wireshark, qui est l'outil préféré de nombreux ingénieurs. Etl2pcapng.exe peut convertir le fichier etl en un fichier pcapng pour l'ouverture avec Wireshark, ou pour l'analyse avec des langages disposant de bibliothèques pcapng telles que Python et Rust.
Remarque : pktmon dispose d'un utilitaire de conversion etl2pcap intégré (« pktmon etl2pcap <filename> ») qui est également capable de produire des fichiers pcapng de base. etl2pcapng offre une capacité de conversion similaire à l'utilitaire intégré avec les ajouts suivants :
Les binaires précompilés sont disponibles dans la section Releases : https://github.com/microsoft/etl2pcapng/releases
Exécutez l'outil avec :
etl2pcapng.exe in.etl out.pcapng
Après la conversion du fichier, l'outil affiche un tableau montrant les correspondances entre les indices d'interface Windows et les identifiants d'interface pcapng.
Le fichier pcapng de sortie comportera un commentaire sur chaque paquet indiquant le PID du processus en cours lorsque le paquet a été journalisé. ATTENTION : ce n'est souvent pas le même que le PID réel du processus qui a provoqué l'envoi du paquet ou auquel le paquet a été délivré, car le fournisseur de capture de paquets s'exécute souvent dans un DPC (qui s'exécute dans un processus arbitraire). L'utilisateur doit garder cela à l'esprit lors de l'utilisation des informations PID.
Dans une invite de commandes dans le répertoire src, exécutez ce qui suit. Cmake 3.15 au minimum est requis.
mkdir build
cd build
cmake ..
cmake --build . --config Release
Le binaire se trouvera dans build/Release/etl2pcapng.exe
1.12.0 - Ajout de la prise en charge des fichiers etl générés par pktmon et de l'écriture d'autres événements du fournisseur sous forme de blocs d'exportation du journal systemd.
1.11.0 - Permet d'omettre le nom du fichier de sortie (par exemple « etl2pcapng.exe foo.etl ». Le nom du fichier de sortie devient « foo.pcapng »).
1.10.0 - 10 fois plus rapide.
1.9.0 - Ajout de la prise en charge du décodage des événements Microsoft-Windows-Ras-NdisWanPacketCapture (VPN/RemoteAccess) + ajout du ThreadID (TID) aux commentaires de paquets
1.8.0 - Ajout de la valeur RSS Hash aux commentaires de paquets pour les paquets VMSwitch.
1.7.0 - Inclusion des informations de paquet VMSwitch dans les commentaires de paquets.
1.6.0 - Activation de ControlFlowGuard.
1.5.0 - Écriture de iftype et ifindex dans les blocs de description d'interface et liaison statique du runtime C afin que vcredist n'ait pas besoin d'être installé.
1.4.1 - Correction d'un bug conduisant à l'écriture de paquets corrompus.
1.4.0 - Inférence automatique de la longueur originale du fragment si les fragments capturés ont été tronqués.
1.3.0 - Ajout d'un commentaire à chaque paquet contenant l'identifiant du processus (PID).
1.2.0 - Écriture des informations de direction de chaque paquet (epb_flags).
1.1.0 - Ajout de la prise en charge des paquets multi-événements trouvés dans les traces de Windows 8 et versions antérieures.
Ce projet accueille les contributions et les suggestions. La plupart des contributions nécessitent que vous acceptiez un Contrat de Licence du Contributeur (CLA) déclarant que vous avez le droit de nous accorder les droits d'utiliser votre contribution, et que vous le faites effectivement. Pour plus de détails, visitez https://cla.opensource.microsoft.com.
Lorsque vous soumettez une pull request, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorera la PR de manière appropriée (par exemple, vérification de statut, commentaire). Suivez simplement les instructions fournies par le bot. Vous n'aurez à le faire qu'une seule fois pour tous les dépôts utilisant notre CLA.
Ce projet a adopté le Code de conduite open source Microsoft. Pour plus d'informations, consultez la FAQ sur le Code de conduite ou contactez [email protected] pour toute question ou commentaire supplémentaire.