فهم Windows Event Tracing_ETW
Categories:
- فهم Windows Event Tracing_ETW
فهم ETW
تمت إزالة بعض المعلومات غير الضرورية، للاطلاع على الوثائق الكاملة راجع: https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal
فهم الأساسيات
https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing

الجلسة
توجد أربعة أنواع من الجلسات
| نوع الجلسة | الاستخدام | القيود | الخصائص |
|---|---|---|---|
| جلسة Event Tracing Session(ETW قياسي) | 1. EVENT_TRACE_PROPERTIES2. StartTrace، إنشاء جلسة3. EnableTrace 1. EnableTrace لـ classic provider 2. EnableTraceEx لـ manifest-based provider4. ControlTrace إيقاف الجلسة | - لا يدعم مزود مبني على قائمة نصية (manifest-based provider) سوى إرسال الأحداث إلى 8 جلسات كحد أقصى- لا يمكن لمزود كلاسيكي (classic provider) أن يخدم سوى جلسة واحدة.- سلوك الاستحواذ على المزود من قبل الجلسة هو “آخر من يأتي يسبق”. | ETW قياسي. |
| جلسة SystemTraceProvider Session | 1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace إيقاف الجلسة | - SystemTraceProvider هو مزود أحداث نواة (kernel)، يوفر مجموعة من أحداث النواة مسبقة التعريف.- جلسة NT Kernel Logger session هي جلسة مسبقة التكوين من النظام، تسجل سلسلة من أحداث النواة مسبقة التعريف.- Win7/WinServer2008R2 فقط جلسة NT Kernel Logger يمكنها استخدام SystemTraceProvider - Win8/WinServer2012 يمكن لـ SystemTraceProvider تقديم الأحداث إلى 8 جلسات سجلات (logger session)، منها اثنان ثابتان هما NT Kernel Logger و Circular Kernel Context Logger.- Win10 20348 وما بعده، يمكن التحكم في كل مزود System بشكل منفصل. | الحصول على أحداث النواة مسبقة التعريف من النظام. |
| جلسة AutoLogger session | 1. تعديل السجل 2. EnableTraceEx3. ControlTrace إيقاف الجلسة | - جلسة Global Logger Session هي جلسة مستقلة خاصة تسجل أحداثًا خلال بدء تشغيل النظام.- تحتاج AutoLogger العادية إلى تمكين المزود بنفسها، بينما لا يحتاج GlobleLogger إلى ذلك.- لا تدعم AutoLogger أحداث NT Kernel Logger، فقط GlobalLogger يدعم ذلك.- تؤثر على وقت الإقلاع، لذا يجب استخدامها بحكمة | تسجيل أحداث فترة إقلاع نظام التشغيل |
| جلسة Private Logger Session | - | - ETW للوضع المستخدم- للاستخدام داخل العملية فقط- لا يُحتسب ضمن حد 64 جلسة متزامنة. | خاص بالعملية |
الأدوات
- logman
- wevtutil
- مثال استعلام xpath:
wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
- مثال استعلام xpath:
- tracelog
- استخدام أداة
tracelogفي viusal studio، يمكن إضافة وإزالة ETW Provider ديناميكيًا في وقت التشغيل، وكذلك إضافة وإزالة ETW Session ديناميكيًا
- استخدام أداة
- mc
- etw-providers-docs