Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

مراقبة الملفات

يراقب الأمر sd monitor الدلائل بحثاً عن نشاط نظام الملفات ويفحص الملفات الجديدة أو المعدَّلة في الوقت الفعلي. هذه هي الطريقة الرئيسية لاكتشاف البرامج الضارة في اللحظة التي تصل فيها إلى القرص، قبل أن تتاح لها الفرصة للتنفيذ.

الاستخدام

bash
sd monitor [OPTIONS] [PATHS...]

إذا لم تُحدَّد مسارات، يراقب sd monitor دليل العمل الحالي.

الخيارات

العلمالمختصرالافتراضيالوصف
--recursive-rtrueمراقبة الدلائل بشكل متكرر
--block-bfalseحظر تنفيذ الملف حتى اكتمال الفحص (لينكس فقط)
--daemon-dfalseالتشغيل في الخلفية كعملية daemon
--pid-fileكتابة PID إلى الملف المحدد (يستلزم --daemon)
--exclude-eأنماط glob للاستثناء (قابل للتكرار)
--log-fileكتابة مخرجات السجل إلى ملف بدلاً من stderr
--auto-quarantine-qfalseعزل التهديدات المكتشفة تلقائياً
--eventsالكلقائمة مفصولة بفواصل من الأحداث للمراقبة
--jsonfalseمخرجات الأحداث بتنسيق JSON

آليات المنصة

يستخدم PRX-SD أكثر واجهات برمجة نظام الملفات فاعليةً المتاحة على كل منصة:

المنصةالواجهة البرمجيةالقدرات
لينكسfanotify (النواة 5.1+)مراقبة على مستوى النظام، التحكم في إذن التنفيذ، تمرير واصف الملف
لينكس (احتياطي)inotifyمراقبة لكل دليل، بدون دعم الحظر
macOSFSEventsمراقبة متكررة منخفضة الكمون، إعادة تشغيل الأحداث التاريخية
ويندوزReadDirectoryChangesWمراقبة غير متزامنة لكل دليل مع منافذ الاكتمال

TIP

على لينكس، يتطلب sd monitor قدرة CAP_SYS_ADMIN (أو الجذر) لاستخدام fanotify. إذا لم تكن متاحة، يعود تلقائياً إلى inotify مع تحذير.

الأحداث المُراقَبة

الأحداث التالية لنظام الملفات تُشغِّل فحصاً:

الحدثالوصفالمنصات
Createيُنشأ ملف جديدالكل
Modifyتُكتب محتويات الملفالكل
CloseWriteالملف مُغلَق بعد الكتابة (يتجنب الفحوصات الجزئية)لينكس
Deleteحذف ملفالكل
Renameإعادة تسمية ملف أو نقلهالكل
Openفتح ملف للقراءةلينكس (fanotify)
Executeعلى وشك تنفيذ ملفلينكس (fanotify)

فلترة الأحداث التي تُشغِّل الفحوصات باستخدام --events:

bash
# الفحص فقط عند الملفات الجديدة والتعديلات
sd monitor --events Create,CloseWrite /home

وضع الحظر

على لينكس مع fanotify، يُمكِّن --block وضع FAN_OPEN_EXEC_PERM. في هذا الوضع، تُوقِف النواة تنفيذ العملية حتى يُعيد PRX-SD حكمه:

bash
sudo sd monitor --block /usr/local/bin /tmp

WARNING

يُضيف وضع الحظر زمن انتظار لكل إطلاق برنامج في المسارات المُراقَبة. استخدمه فقط في الدلائل عالية المخاطر مثل /tmp أو مجلدات التنزيل، وليس على مسارات النظام الواسعة مثل /usr أو /lib.

عند اكتشاف تهديد في وضع الحظر:

  1. يُرفض فتح الملف/تنفيذه من قِبل النواة
  2. تُسجَّل الحدث مع حكم BLOCKED
  3. إذا كان --auto-quarantine مُضبَّطاً، يُنقل الملف إلى قبو العزل

وضع Daemon

استخدم --daemon لفصل الشاشة عن الطرفية:

bash
sd monitor --daemon --pid-file /var/run/sd-monitor.pid /home /tmp /var/www

إيقاف الـ daemon بإرسال SIGTERM:

bash
kill $(cat /var/run/sd-monitor.pid)

أو استخدم sd daemon stop إذا كان يعمل عبر مدير الـ daemon. انظر الـ Daemon لمزيد من التفاصيل.

أمثلة

bash
# مراقبة دلائل home وtmp
sd monitor /home /tmp

# مراقبة مع عزل تلقائي
sd monitor --auto-quarantine /home/downloads

# وضع الحظر على لينكس لدليل حساس
sudo sd monitor --block --auto-quarantine /tmp

# استثناء مخرجات البناء وnode_modules
sd monitor -e "*.o" -e "node_modules/**" /home/dev/projects

# التشغيل كـ daemon مع تسجيل JSON
sd monitor --daemon --json --log-file /var/log/sd-monitor.json /home

# المراقبة مع أحداث محددة فقط
sd monitor --events Create,Modify,Rename /var/www

مخرجات JSON

عند تمكين --json، كل حدث يُنتج سطر JSON واحداً:

json
{
  "timestamp": "2026-03-21T10:15:32.456Z",
  "event": "CloseWrite",
  "path": "/tmp/payload.exe",
  "verdict": "malicious",
  "threat": "Win.Trojan.Agent-123456",
  "action": "quarantined",
  "scan_ms": 12
}

الخطوات التالية

Released under the Apache-2.0 License.