
एक हल्का eBPF प्रोग्राम जो Linux पर फ़ाइल निर्माण और संशोधन घटनाओं की निगरानी करता है। यह उपकरण eBPF (Extended Berkeley Packet Filter) का उपयोग करके कर्नेल से सीधे फ़ाइल संचालन का पता लगाता है, जो न्यूनतम ओवरहेड के साथ उच्च-प्रदर्शन निगरानी प्रदान करता है।
Linux पर फ़ाइल निर्माण और संशोधन घटनाओं की निगरानी के लिए एक हल्का eBPF प्रोग्राम। यह उपकरण कर्नेल से सीधे फ़ाइल संचालन का पता लगाने के लिए eBPF (एक्सटेंडेड बर्कले पैकेट फ़िल्टर) का उपयोग करता है, जो न्यूनतम ओवरहेड के साथ उच्च प्रदर्शन निगरानी प्रदान करता है।
touch, nano, आदि) को ट्रेस करता है।/tmp) के अंतर्गत एक्सेस की गई कोई भी फ़ाइल ट्रैक की जाएगी।cd /tmp; touch file) को सही ढंग से संभालता है।आप नवीनतम बाइनरी रिलीज़ पृष्ठ से डाउनलोड कर सकते हैं।
प्रोजेक्ट को स्वयं बनाने के लिए, आपके पास Go स्थापित होना चाहिए।
# रिपॉजिटरी को क्लोन करें
git clone https://github.com/harshavmb/fim-ebpf.git
cd fim-ebpf
# बाइनरी बनाएं
go build -o fim-ebpf .
बाइनरी के समान निर्देशिका में config.yaml फ़ाइल बनाएं (या मौजूदा फ़ाइल को संशोधित करें)।
monitored_files:
- /tmp/testfile
- /etc/passwd
- /etc/shadow
- /tmp ## monitor the entire directory
ignore_actions:
- read
- stat
ignore_users:
- root
रूट विशेषाधिकारों के साथ बाइनरी चलाएं:
sudo ./fim-ebpf
2025/08/18 07:22:09 Monitoring started. Ctrl+C to exit.
2025/08/18 07:22:37 Event: PID=1745080 UID=6087179 (6087179 (harsha)) CMD=touch FILE=/tmp/testfile FLAGS=00000941 ## actual user
2025/08/18 07:22:54 Event: PID=1745108 UID=0 (0 (root) [Login: 6087179 (harsha)]) CMD=touch FILE=/tmp/testfile FLAGS=00000941 ## even after sudo
2026/01/03 18:55:56 Event: PID=3718310 UID=1002 (1002 (harsha)) CMD=touch FILE=/tmp/testfile ACTION=OPEN FLAGS=00000941 ## monitoring files in a dir
यह प्रोजेक्ट eBPF प्रोग्राम को लोड करने और उसके साथ इंटरैक्ट करने के लिए cilium/ebpf का उपयोग करता है। eBPF कोड कर्नेल में चलता है और रिंग बफर के माध्यम से यूज़रस्पेस Go प्रोग्राम को घटनाएँ भेजता है।