Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

ფაილ-მონიტორინგი

sd monitor ბრძანება დირექტორიებს ფაილ-სისტემის აქტივობაზე ადევნებს და ახლებ ან შეცვლილ ფაილებს რეალურ დროში სკანირებს. ეს მავნე პროგრამის disk-ზე დაჯდომისთანავე, შესრულებამდე, დაჭერის მთავარი გზაა.

გამოყენება

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

გზების მითითების გარეშე sd monitor მიმდინარე სამუშაო დირექტორიას ადევნებს.

პარამეტრები

ნიშანიმოკლენაგულისხმევიაღწერა
--recursive-rtrueდირექტორიების რეკურსიული ადევნება
--block-bfalseფაილის შესრულების ბლოკვა სკანის დასრულებამდე (მხოლოდ Linux)
--daemon-dfalseფონური დემონ-პროცესად გაშვება
--pid-filePID-ის მითითებულ ფაილში ჩაწერა (გულისხმობს --daemon-ს)
--exclude-eგამოსართავი glob შაბლონები (განმეორებადი)
--log-fileჟურნალის stderr-ის ნაცვლად ფაილში ჩაწერა
--auto-quarantine-qfalseგამოვლენილი საფრთხეების ავტომატური კარანტინიზება
--eventsყველაასადევნებელი მოვლენების მძიმე-გამყოფი სია
--jsonfalseმოვლენების JSON ხაზებად გამოტანა

პლატფორმის მექანიზმები

PRX-SD ყოველ პლატფორმაზე ხელმისაწვდომ ყველაზე ეფექტიანი ფაილ-სისტემის API-ს იყენებს:

პლატფორმაAPIშესაძლებლობები
Linuxfanotify (ბირთვი 5.1+)სისტემ-მასშტაბიანი მონიტორინგი, შესრულების პერმისიის კონტროლი, file descriptor passthrough
Linux (fallback)inotifyდირექტორიაზე watches, blocking მხარდაჭერის გარეშე
macOSFSEventsდაბალ-latency რეკურსიული მონიტორინგი, ისტორიული მოვლენის ხელახლა-გაშვება
WindowsReadDirectoryChangesWდირექტორიაზე ასინქრონული მონიტორინგი completion ports-ით

TIP

Linux-ზე sd monitor-ს fanotify-ის გამოყენებისთვის CAP_SYS_ADMIN (ან root) სჭირდება. მიუწვდომლობისას ის ავტომატურად გაფრთხილებით inotify-ზე გადადის.

მონიტორინგის მოვლენები

შემდეგი ფაილ-სისტემის მოვლენები სკანს ააქტიურებს:

მოვლენააღწერაპლატფორმები
Createახალი ფაილი იქმნებაყველა
Modifyფაილის შინაარსი იწერებაყველა
CloseWriteფაილი ჩაწერის შემდეგ იხურება (ნაწილობრივ სკანს ხელს უშლის)Linux
Deleteფაილი იშლებაყველა
Renameფაილი გადარქმეული ან გადატანილიაყველა
Openფაილი წასაკითხად იხსნებაLinux (fanotify)
Executeფაილი შესასრულებლად გამზადებულიაLinux (fanotify)

სკანების გამომწვევი მოვლენების --events-ით ფილტრაცია:

bash
# მხოლოდ ახალი ფაილებისა და ცვლილებების სკანირება
sd monitor --events Create,CloseWrite /home

Blocking რეჟიმი

Linux-ზე fanotify-ით --block FAN_OPEN_EXEC_PERM რეჟიმს ჩართავს. ამ რეჟიმში ბირთვი PRX-SD-ის განაჩენის დაბრუნებამდე პროცესის შესრულებას ჩერდება:

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

WARNING

Blocking რეჟიმი მონიტორინგის გზებში ყოველ პროგრამის გაშვებას latency-ს ამატებს. გამოიყენეთ მხოლოდ მაღალი-რისკის დირექტორიებზე, /tmp ან ჩამოტვირთვის საქაღალდეებზე, სისტემ-მასშტაბიანი გზების /usr ან /lib-ის ნაცვლად.

Blocking რეჟიმში საფრთხის გამოვლენისას:

  1. ბირთვის მიერ ფაილის გახსნა/შესრულება უარყოფილია
  2. მოვლენა BLOCKED განაჩენით ჟურნალდება
  3. --auto-quarantine-ის დაყენებისას ფაილი კარანტინის ვოლტში გადადის

Daemon რეჟიმი

ტერმინალიდან მონიტორის გამოყოფისთვის --daemon-ის გამოყენება:

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

SIGTERM-ის გაგზავნით დემონის გაჩერება:

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

ან daemon manager-ით გაშვებისას sd daemon stop-ის გამოყენება. დეტალებისთვის იხილეთ დემონი.

მაგალითები

bash
# სახლის და tmp დირექტორიების ადევნება
sd monitor /home /tmp

# ავტომატური კარანტინიზებით ადევნება
sd monitor --auto-quarantine /home/downloads

# Linux-ზე blocking-რეჟიმი მგრძნობიარე დირექტორიაზე
sudo sd monitor --block --auto-quarantine /tmp

# Build არტეფაქტებისა და node_modules-ის გამორიცხვა
sd monitor -e "*.o" -e "node_modules/**" /home/dev/projects

# 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.