Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/fireeye/pywintrace
DefensivwerkzeugeDigitale ForensikBedrohungsanalyseIncident ResponseLog-Analyse
GitHubfireeye/pywintrace

pywintrace

Python-ctypes-Wrapper für Event Tracing for Windows (ETW), der Sitzungssteuerung, Ereigniserfassung und benutzerdefinierte Callbacks für Sicherheitsüberwachung und forensische Analyse ermöglicht.

Repository anzeigen
30361vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ETW (Event Tracing for Windows)

ETW ist eine Tracing-Funktion, die es einem Benutzer ermöglicht, Ereignisse in einer Datei oder einem Puffer zu protokollieren. Eine Übersicht über ETW finden Sie hier. Die grundlegende Architektur umfasst einen Provider, einen Controller und einen Consumer. Der Controller definiert und steuert eine Erfassungssitzung. Dazu gehört, welche Provider in der Sitzung enthalten sind, sowie das Starten und Stoppen der Sitzung. Der Provider, der über eine GUID (Globally Unique Identifier) angegeben wird, protokolliert Ereignisse in einer Reihe von Puffern. Der Consumer empfängt Nachrichten entweder aus einem Puffer oder einer Datei und verarbeitet sie in chronologischer Reihenfolge.

Dieses Modul ist ein vollständig auf Python basierender ctypes-Wrapper um die Win32-APIs, die für die Steuerung von ETW-Sitzungen und die Verarbeitung von Nachrichtendaten erforderlich sind. Das Modul ist sehr flexibel und kann Filter vor oder nach der Erfassung festlegen.

Verwendung

Um dieses Modul zu verwenden, importieren Sie etw und erstellen Sie eine Instanz der ETW-Klasse, indem Sie eine Liste von ProviderInfo-Instanzen für den/die Provider übergeben, von denen Sie Daten erfassen möchten. Um die von ETW zurückgegebenen Daten zu verarbeiten, müssen Sie einen Callback angeben.

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')

Nachfolgend finden Sie ein Beispiel, das das Modul verwendet, um eine Erfassung mit einem benutzerdefinierten Callback durchzuführen.

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()

Das Erstellen von Unterklassen ist eine weitere praktische Möglichkeit, ETW-Erfassungsklassen zu definieren.

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()

Weitere Beispiele finden Sie unter examples.

Tool herunterladen