मैं स्क्रैच से कर्नेल मॉड्यूल बनाना चाहता हूं जो उपयोगकर्ता सत्र में latches और उस उपयोगकर्ता से संबंधित प्रक्रियाओं द्वारा बनाई गई प्रत्येक सिस्टम कॉल पर नज़र रखता है।कर्नेल मॉड्यूल syscalls की निगरानी करने के लिए?
मुझे पता है कि हर कोई क्या सोच रहा है - "स्ट्रेस का उपयोग करें" - लेकिन मैं अपने द्वारा एकत्र किए गए डेटा के साथ अपना कुछ लॉगिंग और विश्लेषण करना चाहता हूं, और स्ट्रेस में कुछ समस्याएं हैं - एक एप्लिकेशन "mmap" का उपयोग कर सकता है किसी फ़ाइल को कभी भी "खुली" सिस्टम कॉल के तर्क के रूप में दिखाई देने वाली फ़ाइल सामग्री के बिना, या किसी भी लिखने की अनुमति के बिना एक एप्लिकेशन को संवेदनशील डेटा की प्रतिलिपि बनाने के लिए coredumps बना सकते हैं।
मैं इन विशेष मामलों को संभालने में सक्षम होना चाहता हूं और अपनी कुछ लॉगिंग कर सकता हूं। मुझे आश्चर्य है कि - मैं अपने मॉड्यूल के माध्यम से सभी सिस्कोल कैसे रूट कर सकता हूं? क्या कर्नेल कोड को छूए बिना ऐसा करने का कोई तरीका है?
धन्यवाद
आपको 'ptrace' syscall (जिसे वास्तव में 'स्ट्रेस' और 'gdb' द्वारा उपयोग किया जाता है) का उपयोग करना चाहिए। शुभकामनाएं, आपको कुछ चाहिए। लेकिन आपको शायद किसी भी कर्नेल मॉड्यूल को कोड करने की आवश्यकता नहीं है, केवल 'ptrace' का उपयोग करके एक एप्लिकेशन को विकसित करने के लिए। –