मुझे पता है कि मैं अपनी लिनक्स मशीन lsof
पर उस समय का उपयोग करके एक प्रक्रिया की खुली हुई फाइलें देख सकता हूं । हालाँकि, एक प्रक्रिया इतनी जल्दी किसी फ़ाइल को खोल, बदल और बंद कर सकती है कि मैं इसे मानक शेल स्क्रिप्टिंग (उदाहरण के लिए watch
) का उपयोग करके मॉनिटर करते समय नहीं देख पाऊंगा जैसा कि "लिनक्स (वास्तविक समय) पर खुली प्रक्रिया फ़ाइलों की निगरानी" में बताया गया है। ।
इसलिए, मुझे लगता है कि मैं एक प्रक्रिया का ऑडिट करने का एक सरल तरीका ढूंढ रहा हूं और यह देखता हूं कि गुजरे समय के दौरान इसने क्या किया है। यह बहुत अच्छा होगा अगर यह देखना संभव हो जाए कि प्रक्रिया शुरू होने से पहले ऑडिट शुरू किए बिना चलने के लिए क्या नेटवर्क कनेक्शन इसे बनाने की कोशिश करता है (ऑडिट करना) और ऑडिट शुरू करना।
आदर्श रूप में, मैं यह करना चाहूंगा:
sh $ audit-lsof /path/to/executable
4530.848254 OPEN read /etc/myconfig
4530.848260 OPEN write /var/log/mylog.log
4540.345986 OPEN read /home/gert/.ssh/id_rsa <-- suspicious
4540.650345 OPEN socket TCP ::1:34895 -> 1.2.3.4:80 |
[...]
4541.023485 CLOSE /home/gert/.ssh/id_rsa <-- would have missed
4541.023485 CLOSE socket TCP ::1:34895 -> 1.2.3.4:80 | this when polling
क्या strace
हर सिस्टम कॉल को न देखने के लिए कुछ झंडे और कुछ झंडे का इस्तेमाल संभव होगा ?