
ngrep नेटवर्क परत पर GNU grep की तरह काम करता है। यह एक PCAP-आधारित टूल है जो आपको पैकेट के डेटा पेलोड के विरुद्ध मिलान करने के लिए एक विस्तारित नियमित या हेक्साडेसिमल अभिव्यक्ति निर्दिष्ट करने की अनुमति देता है। यह कई प्रकार के प्रोटोकॉल को समझता है, जिनमें IPv4/6, TCP, UDP, ICMPv4/6, IGMP और Raw शामिल हैं, विभिन्न प्रकार के इंटरफेस पर, और BPF फ़िल्टर तर्क को उसी तरह समझता है जैसे tcpdump और snoop जैसे अधिक सामान्य पैकेट स्निफिंग टूल करते हैं।
ngrep GNU grep के समान है, लेकिन यह नेटवर्क लेयर पर लागू होता है। यह एक PCAP-आधारित उपकरण है जो आपको पैकेट के डेटा पेलोड से मिलान करने के लिए एक विस्तारित नियमित या हेक्साडेसिमल अभिव्यक्ति निर्दिष्ट करने की अनुमति देता है। यह कई प्रकार के प्रोटोकॉल को समझता है, जिनमें IPv4/6, TCP, UDP, ICMPv4/6, IGMP और Raw शामिल हैं, और विभिन्न इंटरफ़ेस प्रकारों में काम करता है। यह BPF फ़िल्टर तर्क को tcpdump और snoop जैसे सामान्य पैकेट स्निफ़िंग टूल के समान समझता है।
-r फ़्लैग)-u निर्दिष्ट किया जाए तो UTF8 डेटा प्रदर्शित करने का समर्थनDLT_ प्रकार की पहचान को ठीक करना (जैसे DLT_LINUX_SLL)pcap_lookupdev का अप्रचलन)./configure --disable-tcpkill को ठीक करना-d अब डिवाइस-नाम की अनुमति देता है (जैसे \Device\...)delay_socket हैक को हटाकर Sleep() का उपयोग किया गयाbuild.ps1)ngrep चलाने का सबसे आसान तरीका डॉकर के माध्यम से है:
docker pull ghcr.io/jpr5/ngrep:latest
docker run --rm --net=host --cap-add=NET_RAW ghcr.io/jpr5/ngrep:latest -q 'GET|POST' tcp port 80
विस्तृत डॉकर उपयोग निर्देशों के लिए DOCKER देखें।
Releases पृष्ठ से पूर्व-निर्मित बाइनरी डाउनलोड करें।
बिल्ड निर्देशों के लिए INSTALL देखें।
ngrep मूल रूप से निम्नलिखित के लिए विकसित किया गया था:
साथ ही, इसका उपयोग HTTP बेसिक ऑथेंटिकेशन, FTP या POP3 ऑथेंटिकेशन जैसे प्लेनटेक्स्ट क्रेडेंशियल संग्रह के लिए भी किया जा सकता है। सभी उपयोगी उपकरणों की तरह, इसका उपयोग अच्छे और बुरे दोनों उद्देश्यों के लिए किया जा सकता है।
ngrep कैसे काम करता है और इसका उपयोग कैसे किया जा सकता है, इसके बारे में अधिक जानने के लिए EXAMPLES पर जाएँ।
ngrep को विभिन्न प्लेटफ़ॉर्मों पर व्यापक रूप से पोर्ट किया गया था, लेकिन समय के साथ उन तक पहुँच कम हो गई। नीचे दी गई सूची मूल सूची है; वर्तमान में कार्यशील प्लेटफ़ॉर्म की सूची के लिए हमारे autobuilds देखें, जिसमें सबसे लोकप्रिय OS, कंपाइलर टूलचेन और CPU आर्किटेक्चर शामिल हैं।
यदि आपको सहायता चाहिए, रचनात्मक प्रतिक्रिया देना चाहते हैं, या पैच सबमिट करना चाहते हैं, तो कृपया GitHub पर ngrep के प्रोजेक्ट पर जाएँ और वहाँ ऑनलाइन टूल का उपयोग करें। इससे लेखक को विभिन्न अनुरोधों और पैच को बेहतर ढंग से प्रबंधित करने में मदद मिलेगी, ताकि कुछ भी खो न जाए या छूट न जाए (जैसा कि अतीत में हुआ है, दुर्भाग्य से)।
कृपया CREDITS देखें, जहाँ उन अनेक लोगों की आंशिक सूची दी गई है, जिन्होंने ngrep को वह बनाने में मदद की जो आज है। साथ ही, कृपया ध्यान दें कि ngrep एक सरल BSD-शैली लाइसेंस के तहत जारी किया गया है, हालाँकि आप जिस regex लाइब्रेरी के विरुद्ध संकलन करते हैं, उसके आधार पर आपको या तो GPL (GNU regex) या BSD (PCRE2) मिलेगा।
दशकों (!) से, ngrep को कई लोकप्रिय वितरणों में डिफ़ॉल्ट रूप से शामिल किया गया है, जिनमें से कई के समर्पित पैकेज अनुरक्षक हैं। उनमें से कई ने अपने वितरणों के उपयोगकर्ताओं द्वारा रिपोर्ट किए गए मुद्दों को सुलझाने में मदद की है, और यहाँ तक कि ngrep के लिए पैच भी बनाए हैं — लेकिन मुझे शायद ही कभी इसकी जानकारी हुई। हर कुछ वर्षों में मुझे यह पता लगाने के लिए खोज करनी पड़ती है कि बग रिपोर्ट और पैच कहाँ मौजूद हैं, जो अक्सर अस्पष्ट विक्रेता-विशिष्ट ट्रैकिंग सिस्टम में होते हैं, ताकि मैं उन्हें सभी के लाभ के लिए शामिल कर सकूँ। और कभी-कभी मुझे वे सभी नहीं मिलते।
यदि आप किसी OS या वितरण के पैकेज अनुरक्षक हैं, और आप ngrep के लिए एक बग रिपोर्ट प्राप्त करते हैं या एक पैच लिखते हैं, तो कृपया कम से कम मुझे CC करें ताकि मैं मुद्दे को ट्रैक (और संभवतः हल) कर सकूँ। आदर्श रूप से, मुझे एक पैच या पुल रिक्वेस्ट का लिंक भेजें ताकि मैं इसकी समीक्षा कर सकूँ और इसे मर्ज कर सकूँ।
जैसा कि मैं देखता हूँ, अंततः यह मेरा कोड है, इसलिए यह मेरी ज़िम्मेदारी है, लेकिन मैं हर जगह नहीं हो सकता और सब कुछ नहीं देख सकता। अच्छा काम करने के लिए मुझे आपकी मदद चाहिए।
आपने जो कुछ भी किया है और जो कुछ भी करेंगे, उसके लिए मैं सच्चे दिल से धन्यवाद देता हूँ। 🙏