Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pywintrace — Wrapper Python ctypes per Event Tracing for Windows (ETW) che abilita il controllo delle sessioni, la cattura degli eventi e callback personalizzati per il monitoraggio della sicurezza e l'analisi forense. | Kitploit
Strumenti/GitHubGitHub/fireeye/pywintrace
Strumenti DifensiviDigital ForensicsThreat IntelligenceRisposta agli IncidentiAnalisi dei Log
GitHubfireeye/pywintrace

pywintrace

Wrapper Python ctypes per Event Tracing for Windows (ETW) che abilita il controllo delle sessioni, la cattura degli eventi e callback personalizzati per il monitoraggio della sicurezza e l'analisi forense.

Vedi Repository
303613 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

ETW (Event Tracing for Windows)

ETW è una funzionalità di tracciamento che consente a un utente di registrare eventi in un file o in un buffer. Una panoramica di ETW è disponibile qui. L'architettura di base include un Provider, un Controller e un Consumer. Il controller definisce e controlla una sessione di acquisizione. Ciò include quali provider sono presenti nella sessione, oltre all'avvio e all'arresto della stessa. Il provider, specificato tramite un GUID (Globally Unique Identifier), registra gli eventi in una serie di buffer. Il Consumer riceve i messaggi da un buffer o da un file e li elabora in ordine cronologico.

Questo modulo è un wrapper ctypes interamente basato su Python attorno alle API Win32 necessarie per controllare le sessioni ETW ed elaborare i dati dei messaggi. Il modulo è molto flessibile e può impostare filtri pre o post acquisizione.

Utilizzo

Per utilizzare questo modulo, importa etw e crea un'istanza della classe ETW passando un elenco di istanze ProviderInfo per il/i provider da cui desideri acquisire dati. Per elaborare i dati restituiti da ETW, dovrai specificare un callback.

root@kitploit:~

import etw


def some_func():
    # define capture provider info
    providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]

    # create instance of ETW and start capture
    with etw.ETW(providers=providers, event_callback=etw.on_event_callback):
        # run capture
        etw.run('etw')

Di seguito è riportato un esempio di utilizzo del modulo per eseguire un'acquisizione con un callback personalizzato.

root@kitploit:~

import time
import etw


def some_func():
    # define capture provider info
    providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]
    # create instance of ETW class
    job = etw.ETW(providers=providers, event_callback=lambda x: print(x))
    # start capture
    job.start()

    # wait some time
    time.sleep(5)

    # stop capture
    job.stop()

La sottoclasse è un altro modo pratico per definire classi di acquisizione ETW.

root@kitploit:~

import time
import etw


class MyETW(etw.ETW):

    def __init__(self, event_callback):
        # define capture provider info
        providers = [etw.ProviderInfo('Some Provider', etw.GUID("{11111111-1111-1111-1111-111111111111}"))]
        super().__init__(providers=providers, event_callback=event_callback)

    def start(self):
        # do pre-capture setup
        self.do_capture_setup()
        super().start()

    def stop(self):
        super().stop()
        # do post-capture teardown
        self.do_capture_teardown()

    def do_capture_setup(self):
        # do whatever setup for capture here
        pass

    def do_capture_teardown(self):
        # do whatever for capture teardown here
        pass


def my_capture():
    # instantiate class
    capture = MyETW(lambda x: print(x))
    # start capture
    capture.start()
    # wait some time to capture data
    time.sleep(5)
    # stop capture
    capture.stop()

Per ulteriori esempi, consulta examples.

Scarica lo strumento