Zrozumienie Windows Event Tracing_ETW

  • Zrozumienie Windows Event Tracing_ETW

Zrozumienie ETW

Wyfiltrowano niepotrzebne informacje, pełną dokumentację można znaleźć pod adresem: https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal

Zrozumienie podstaw

https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing

Architektura

Sesja

Istnieją cztery rodzaje sesji

Rodzaj sesji Użycie Ograniczenia Cechy
Event Tracing Session(Standard ETW) 1. EVENT_TRACE_PROPERTIES2. StartTrace, tworzenie sesji3. EnableTrace 1. EnableTrace dla klasycznego dostawcy 2. EnableTraceEx dla dostawcy opartego na manifestach4. ControlTrace zatrzymanie sesji - Jeden dostawca oparty na manifestach obsługuje zdarzenia tylko do maksymalnie 8 sesji- Klasyczny dostawca obsługuje tylko jedną sesję.- Zachowanie przejęcia dostawcy przez sesję polega na przejęciu ostatniego przybyłego. Standardowe ETW.
SystemTraceProvider Session 1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace zatrzymanie sesji - SystemTraceProvider to dostawca zdarzeń jądra, który zapewnia zestaw predefiniowanych zdarzeń jądra.- Sesja NT Kernel Logger to wstępnie skonfigurowana sesja systemu, która rejestruje serię predefiniowanych zdarzeń jądra systemu.- Win7/WinServer2008R2 tylko sesja NT Kernel Logger może używać SystemTraceProvider - Win8/WinServer2012 SystemTraceProvider może dostarczać zdarzenia do 8 sesji rejestratora, z czego dwa są stałe dla NT Kernel Logger i Circular Kernel Context Logger.- Po Win10 20348, poszczególne dostawcy systemowe mogą być kontrolowane oddzielnie. Uzyskanie predefiniowanych zdarzeń jądra systemu.
AutoLogger session 1. Modyfikacja rejestru 2. EnableTraceEx3. ControlTrace zatrzymanie sesji - Sesja Global Logger to specjalna, niezależna sesja, która rejestruje zdarzenia podczas uruchamiania systemu.- Zwykły AutoLogger musi samodzielnie włączać dostawcę, GlobalLogger tego nie wymaga.- AutoLogger nie obsługuje zdarzeń NT Kernel Logger, tylko GlobalLogger obsługuje.- Wpływa na czas uruchamiania, należy używać z umiarem Rejestrowanie zdarzeń podczas uruchamiania systemu operacyjnego
Private Logger Session - - ETW w trybie użytkownika- Używane tylko w procesie- Nie wlicza się do limitu równoległości 64 sesji. Prywatne dla procesu

Narzędzia

  • logman
  • wevtutil
    • Przykład zapytania xpath: wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
  • tracelog
    • Używając narzędzia tracelog Visual Studio, można dynamicznie dodawać i usuwać ETW Provider oraz dynamicznie dodawać i usuwać ETW Session w czasie wykonywania
  • mc
  • etw-providers-docs