स्ट्रेस, इंटरसेप्ट और रिकॉर्ड सिस्टम कॉल के लिए एक क्ली यूटिलिटी

स्ट्रेस-स्टैटस

स्ट्रेस एक सीएलआई उपयोगिता है जिसका उपयोग सिस्टम में त्रुटियों की जांच के लिए किया जाता है जबसे सिस्टम कॉल की निगरानी की अनुमति देता है एक निश्चित कार्यक्रम और इसे प्राप्त होने वाले सभी संकेतों द्वारा उपयोग किया जाता है। उपयोगिता उपयोगकर्ता की निगरानी और करने की अनुमति देता है (संस्करण 4.15 से) कार्यक्रम और कोर के बीच बातचीत की प्रक्रिया में हस्तक्षेप करेंचल रहे सिस्टम कॉल, पॉप-अप और प्रक्रिया में परिवर्तन शामिल हैं

इसका संचालन ptrace नामक लाइनिन कर्नेल की एक विशेषता द्वारा संभव है। यह अन्य यूनिक्स प्रणालियों पर उपलब्ध ट्रस एप्लिकेशन के समान है। साइगविन कार्यक्रम एक समान उपयोगिता प्रदान करता है। इसका सबसे आम उपयोग इसे उस प्रोग्राम के साथ एक साथ शुरू करना है जो पता लगाया जा रहा है, जो सिस्टम की एक सूची प्रिंट करता है जिसे वह निष्पादित करता है।

एक निश्चित कार्यक्रम की विफलता के कारण का पता लगाना उपयोगी हैया क्योंकि यह उन स्थितियों की रिपोर्ट करता है जिनमें, उदाहरण के लिए, प्रोग्राम एक ऐसी फ़ाइल का उपयोग करने की कोशिश कर रहा है जो मौजूद नहीं है या जिसके लिए उसे पढ़ने की अनुमति नहीं है।

स्ट्रेस से निकलने वाली विशेषताओं में से, निम्नलिखित स्टैंड आउट:

  • एक syscall नाम फ़िल्टर निर्दिष्ट करने में सक्षम होना चाहिए (-E ट्रेस = विकल्प का उपयोग करके): नाम से, जैसे कि क्लोन, कांटा, vfork; पूर्वनिर्धारित समूहों में से एक का उपयोग करके, जैसे कि% ipc या% फ़ाइल; या (संस्करण 4.17 से) नियमित अभिव्यक्ति वाक्यविन्यास का उपयोग करके, जैसे घड़ी_ *।
  • ट्रेस के मार्गों की सूची निर्दिष्ट करें (उदाहरण के लिए (/ /etc/ld.so.cache)।
  • फ़ाइल डिस्क्रिप्टर की सूची निर्दिष्ट करें जिनके I / O को डंप किया जाना चाहिए
  • निष्पादन का समय और syscall गणना
  • मुद्रण सापेक्ष या पूर्ण टाइमस्टैम्प
  • निर्दिष्ट सिस्टम कॉल की वापसी और त्रुटि कोड को संशोधित करें और निष्पादन के बाद संकेतों को इंजेक्ट करें
  • फ़ाइल डिस्क्रिप्टर (सॉकेट सहित) पर सूचना निकासी।
  • स्टैक ट्रेस प्रिंटिंग, (संस्करण 4.21 के बाद से) मांग प्रतीक (-k)।
  • Syscall रिटर्न स्थिति द्वारा फ़िल्टरिंग
  • स्ट्रेस कुछ ioctl कमांड कक्षाओं के तर्क को डिकोड करने का समर्थन करता है, जैसे BTRFS_ *, V4L2_ *, DM_ *, NSFS_ *, MEM *, EVIO *, KVM_ *, और कई अन्य।

जैसा कि स्ट्रेस केवल सिस्टम कॉल का विवरण देता है, इसका उपयोग कोड डिबगर जैसे GNU डीबगर (gdb) के रूप में कई समस्याओं का पता लगाने के लिए नहीं किया जा सकता है। हालांकि, कोड डिबगर की तुलना में इसका उपयोग करना आसान है, और यह सिस्टम प्रशासक के लिए एक अत्यंत उपयोगी उपकरण है। शोधकर्ताओं द्वारा बाद में फिर से खेलना के लिए सिस्टम कॉल निशान उत्पन्न करने के लिए भी इसका उपयोग किया जाता है।

स्ट्रेस 5.3 के नए संस्करण के बारे में

हाल ही में स्ट्रेस 5.3 का नया संस्करण पेश किया गया था परीक्षण संस्करण के लिए कोड लाइसेंस BSD से LGPLv2.1 + और GPLv2 + में बदल गया।

इसके अलावा उन परिवर्तनों के बारे में जो वहां हैं seccomp फ़िल्टर बनाकर सिस्टम कॉल को फ़िल्टर करने के लिए समर्थन ("-Seccomp-bpf"), साथ ही रिटर्न कोड ("-e स्टेटस = ...")।

एक और परिवर्तन जो इस नए संस्करण की घोषणा में खड़ा है, वह यह है कि डेवलपर्स ने जोड़ा pidfd_open और क्लोन 3 डीकोडिंग सिस्टम कॉल के लिए समर्थन, इसके अलावा io_cancel, io_submit, s390_sthyi और syslog सिस्टम कॉल की डिकोडिंग में सुधार हुआ है।

विज्ञापन में यह भी बताया गया है कि ioctl कमांड लिनक्स 5.3 कर्नेल के साथ सिंक को सूचीबद्ध करता है

अन्य परिवर्तनों की जो विज्ञापन में उल्लिखित हैं, वे हैं:

  • बेहतर NETLINK_ROUTE प्रोटोकॉल डिकोडिंग
  • डीकोड नेटवर्क लिंक विशेषता UNIX_DIAG_UID और WDIOC_ * ioctl कमांड
  • AUDIT_ *, BPF_ *, ETH_ *, KEYCTL_ *, KVM_ *, MAP_ *, SO_ *, TCP_ *, V4L2_ *, XDP_ * और * _MICIC निरंतर सूचियों को अपडेट करें।

Ubuntu और डेरिवेटिव पर स्ट्रेस 5.3 कैसे स्थापित करें?

स्ट्रेस यूटिलिटी उबंटू रिपॉजिटरी के साथ-साथ इसके डेरिवेटिव के भीतर भी मिल सकती है, लेकिन इसके लिए इस नए संस्करण में, इसे रिपॉजिटरी में शामिल नहीं किया गया है। रिपॉजिटरी के माध्यम से इंस्टॉलेशन निम्नलिखित कमांड निष्पादित करके किया जा सकता है:

sudo apt install strace

अब जो लोग इस नए संस्करण को स्थापित करना चाहते हैं, उन्हें स्रोत कोड डाउनलोड करना होगा और संकलन करना होगा आपके सिस्टम पर।

वे स्रोत कोड को इसके साथ डाउनलोड करते हैं:

git https://gitlab.com/strace/strace.git

वे इसके साथ प्रवेश करते हैं:

cd strace

और वे के साथ संकलन:

./configure && make && make install

अंत में उपयोग के संबंध में, आप नेट पर कुछ गाइड पा सकते हैं।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।