فهم تتبع أحداث Windows_ETW

  • فهم تتبع أحداث 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
  • tracelog
    • باستخدام أداة tracelog في Visual Studio، يمكنك إضافة وإزالة موفري ETW وجلسات ETW ديناميكياً وقت التشغيل
  • mc
  • etw-providers-docs