
Utilità che converte un file .etl contenente una cattura di pacchetti di rete di Windows in formato .pcapng.
Questo strumento ti consente di visualizzare le catture di pacchetti ndiscap e pktmon con Wireshark. A causa di problemi di prestazioni con l'altro metodo popolare di cattura dei pacchetti (WinPcap, incluso nelle versioni precedenti di Wireshark), questi strumenti integrati dovrebbero essere preferiti.
Windows dispone di diversi componenti integrati in grado di catturare pacchetti:
pktmon start --capture
<repro>
pktmon stop
netsh trace start capture=yes report=disabled
<repro>
netsh trace stop
I file generati da questi strumenti sono file etl, che possono essere aperti da strumenti incentrati su ETW come Microsoft Message Analyzer, ma non possono essere aperti da Wireshark, che è lo strumento preferito da molti ingegneri. Etl2pcapng.exe può convertire il file etl in un file pcapng per l'apertura con Wireshark, o per l'analisi con linguaggi che dispongono di librerie pcapng come Python e Rust.
Nota: pktmon ha un'utilità di conversione etl2pcap integrata ("pktmon etl2pcap <filename>") anch'essa in grado di produrre file pcapng di base. etl2pcapng fornisce una capacità di conversione simile all'utilità integrata con le seguenti aggiunte:
Binari precompilati sono disponibili nella sezione Releases: https://github.com/microsoft/etl2pcapng/releases
Esegui lo strumento con:
etl2pcapng.exe in.etl out.pcapng
Dopo aver convertito il file, lo strumento stampa una tabella che mostra le mappature tra gli indici delle interfacce Windows e gli ID delle interfacce pcapng.
Il file pcapng di output avrà un commento su ogni pacchetto che indica il PID del processo corrente al momento della registrazione del pacchetto. AVVERTENZA: spesso questo non corrisponde al PID effettivo del processo che ha causato l'invio del pacchetto o al quale è stato consegnato, poiché il provider di cattura dei pacchetti viene spesso eseguito in un DPC (che viene eseguito in un processo arbitrario). L'utente dovrebbe tenerlo a mente quando utilizza le informazioni sul PID.
In un prompt dei comandi nella directory src esegui quanto segue. È richiesto Cmake 3.15 come minimo.
mkdir build
cd build
cmake ..
cmake --build . --config Release
Il binario si troverà in build/Release/etl2pcapng.exe
1.12.0 - Aggiunto supporto per file etl generati da pktmon e scrittura di altri eventi del provider come blocchi di esportazione del journal systemd.
1.11.0 - Consente di omettere il nome del file di output (ad es. "etl2pcapng.exe foo.etl". Il nome del file di output diventa "foo.pcapng").
1.10.0 - 10 volte più veloce.
1.9.0 - Aggiunto supporto per la decodifica degli eventi di Microsoft-Windows-Ras-NdisWanPacketCapture (VPN/RemoteAccess) + aggiunto ThreadID (TID) ai commenti dei pacchetti
1.8.0 - Aggiunto valore RSS Hash ai commenti dei pacchetti per i pacchetti VMSwitch.
1.7.0 - Inclusione delle informazioni sui pacchetti VMSwitch nei commenti dei pacchetti.
1.6.0 - Abilitato ControlFlowGuard.
1.5.0 - Scrittura di iftype e ifindex nei blocchi di descrizione dell'interfaccia e collegamento statico del runtime C in modo che vcredist non debba essere installato.
1.4.1 - Corretto un bug che portava alla scrittura di pacchetti corrotti.
1.4.0 - Inferenza automatica della lunghezza originale del frammento se i frammenti catturati sono stati troncati.
1.3.0 - Aggiunto un commento a ciascun pacchetto contenente l'ID del processo (PID).
1.2.0 - Scrittura delle informazioni sulla direzione di ciascun pacchetto (epb_flags).
1.1.0 - Aggiunto supporto per pacchetti multi-evento trovati in tracce da Win8 e versioni precedenti.
Questo progetto accoglie contributi e suggerimenti. La maggior parte dei contributi richiede di accettare un Contratto di Licenza per i Contributori (CLA) che dichiara di avere il diritto e di concederci effettivamente i diritti di utilizzare il tuo contributo. Per i dettagli, visita https://cla.opensource.microsoft.com.
Quando invii una pull request, un bot CLA determinerà automaticamente se è necessario fornire un CLA e decorerà la PR in modo appropriato (ad esempio, controllo dello stato, commento). Segui semplicemente le istruzioni fornite dal bot. Dovrai farlo solo una volta per tutti i repository che utilizzano il nostro CLA.
Questo progetto ha adottato il Codice di Condotta Open Source di Microsoft. Per ulteriori informazioni, consulta le FAQ sul Codice di Condotta o contatta [email protected] per eventuali domande o commenti.