فهم تتبع أحداث Windows_ETW
Categories:
- فهم تتبع أحداث Windows_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

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