فهم Windows Event Tracing_ETW

  • فهم 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
  • tracelog
    • استخدام أداة tracelog في viusal studio، يمكن إضافة وإزالة ETW Provider ديناميكيًا في وقت التشغيل، وكذلك إضافة وإزالة ETW Session ديناميكيًا
  • mc
  • etw-providers-docs