परिचय
लिनक्स कर्नल का नेटफिल्टर (Netfilter) सबसिस्टम नेटवर्क लेयर पर सभी सक्रिय सत्रों और पैकेट प्रवाह (conntrack) का व्यवस्थित लेखा-जोखा रखता है। इस ट्यूटोरियल में हम ctstat यूटिलिटी के प्रयोग से कनेक्शन ट्रैकिंग से जुड़े आँकड़ों को रियल-टाइम में मॉनिटर करने की व्यावहारिक तकनीक समझेंगे। हाई-ट्रैफिक वातावरण में कनेक्शन लीकेज या अनपेक्षित लोड स्पाइक्स की शीघ्र पहचान के लिए यह उपकरण सिस्टम एडमिनिस्ट्रेटर के लिए बेहद उपयोगी है।
ctstat टूल सेटअप और कर्नेल conntrack मॉड्यूल सक्रियण
सिस्टम पर कनेक्शन ट्रैकिंग विश्लेषण शुरू करने से पहले हमें iproute2 टूलकिट और कर्नेल स्तर की conntrack यूटिलिटी की आवश्यकता होती है। निम्नलिखित कमांड चलाकर इन दोनों घटकों को इंस्टॉल करें:

पैकेट ट्रैकिंग की प्रक्रिया आरंभ करने और आंतरिक मेट्रिक्स जेनरेट करने के लिए कर्नल में nf_conntrack मॉड्यूल को लोड करना अनिवार्य है:

सिस्टम में टूल की उपस्थिति और इसके निष्पादन योग्य बाइनरी पाथ की पुष्टि के लिए which ctstat चलाएँ। ctstat वास्तव में लिनक्स कर्नल द्वारा संकलित conntrack सांख्यिकी को आवधिक रूप से स्क्रीन पर प्रदर्शित करने वाला एक हल्का और प्रभावी मॉनिटरिंग टूल है।
⚙️ [प्रमुख विकल्प]
-c, --count : आँकड़ों के आउटपुट की संख्या सीमित करता है और फिर कमांड अपने आप रुक जाता है।-i, --interval : प्रत्येक रिफ्रेश के बीच सेकंडों में समय अंतराल निर्धारित करता है।-h, --help : उपयोग से जुड़े निर्देश और सहायता सूची प्रदर्शित करता है।-V, --version : स्थापित सॉफ्टवेयर संस्करण की जानकारी देता है।

प्रारंभिक निष्पादन और सहायता विकल्पों का अवलोकन
उपलब्ध पैरामीटर्स, फ़ील्ड्स और संचालन संबंधी विस्तृत जानकारी देखने के लिए ctstat --help निष्पादित करें। इससे कमांड के साथ इस्तेमाल होने वाले सभी विकल्पों को सरलता से समझा जा सकता है:

लगातार अपडेट होने वाले डायनामिक कंसोल मोड के स्थान पर केवल वर्तमान स्थिति का एकमुश्त स्नैपशॉट देखने के लिए ctstat -c 1 का प्रयोग किया जाता है। यह निर्दिष्ट एक चक्र का डेटा प्रस्तुत करने के तुरंत बाद प्रोसेस समाप्त कर देता है:

निश्चित अंतराल पर स्वचालित ट्रैकिंग और लूप सीमा तय करना
हर 2 सेकंड के अंतराल पर कुल 3 बार कनेक्शन ट्रैकिंग मेट्रिक्स का अवलोकन करने के लिए ctstat -i 2 -c 3 निष्पादित करें। तय चक्र पूरे होते ही यह मॉनिटरिंग सत्र को अपने आप समाप्त कर देता है:

ट्रैकिंग टेबल में लाइव हलचल देखने और नए सत्रों का प्रभाव जाँचने के लिए curl -s https://www.google.com > /dev/null के माध्यम से एक त्वरित वेब अनुरोध भेजते हैं:

ट्रैफिक जनरेशन के तुरंत बाद बदले हुए कनेक्शन आँकड़ों का निरीक्षण करने के लिए ctstat -i 1 -c 2 चलाएँ। 1 सेकंड के अंतराल पर 2 बार आँकड़े मिलने से नए सत्रों के कारण प्रभावित काउंटर आसानी से समझ आ जाते हैं:

चुनिंदा conntrack फ़ील्ड्स का फ़िल्टरिंग एवं आंतरिक कर्नेल मिलान
स्क्रीन पर अनावश्यक विवरण हटाकर केवल काम के मेट्रिक्स पर ध्यान देने के लिए -k फ़्लैग से विशिष्ट फ़ील्ड्स चुने जा सकते हैं। सक्रिय सत्रों की संख्या (entries) तथा लुकअप आँकड़ों (searched, found) को 2 बार प्रदर्शित करने के लिए ctstat -k entries,searched,found -c 2 चलाएँ:

कर्नल द्वारा प्रबंधित वास्तविक कनेक्शन सत्रों की सटीक संख्या सीधे पढ़ने के लिए /proc फाइलसिस्टम के cat /proc/sys/net/netfilter/nf_conntrack_count पाथ की जाँच करें। इस आउटपुट की तुलना ctstat के entries मान से करके आप डेटा की प्रामाणिकता की पुष्टि कर सकते हैं:

इस प्रकार लिनक्स सर्वर पर ctstat के उचित प्रयोग से नेटवर्क कनेक्शन ट्रैकिंग की आंतरिक स्थिति को रियल-टाइम में ट्रैक करना सरल हो जाता है। व्यस्त सर्वरों, फ़ायरवॉल गेटवे और कंटेनर इन्फ्रास्ट्रक्चर में संभावित नेटवर्क बाधाओं की पूर्व-पहचान के लिए यह यूटिलिटी अत्यंत मूल्यवान सिद्ध होती है।