Zrozumienie Windows Event Tracing_ETW
Categories:
- 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

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
- Przykład zapytania xpath:
- tracelog
- Używając narzędzia
tracelogVisual Studio, można dynamicznie dodawać i usuwać ETW Provider oraz dynamicznie dodawać i usuwać ETW Session w czasie wykonywania
- Używając narzędzia
- mc
- etw-providers-docs