पैकेट कैप्चर करना नेटवर्क के आंतरिक कामकाज का विश्लेषण करने का एक बहुत ही उपयोगी तरीका है। इस उद्देश्य के लिए विकसित किए गए विभिन्न प्रकार के विभिन्न टूल उपलब्ध हैं। उनमें से एक tcpdump है। यहां हम आपको दिखाते हैं कि नेटवर्क इंजीनियरों और पैठ परीक्षकों के लिए समान रूप से इस महान टूल का सर्वोत्तम उपयोग कैसे करें।
tcpdump क्या है?
tcpdump एक नेटवर्क पैकेट विश्लेषक उपकरण है जिसे लॉरेंस बर्कले प्रयोगशाला और उसके नेटवर्क अनुसंधान समूह में काम कर रहे कंप्यूटर वैज्ञानिकों की एक टीम द्वारा 1988 में विकसित और जारी किया गया था। इसका उपयोग पैकेट की सामग्री को प्रदर्शित करने के लिए किया जाता है जिसे कंप्यूटर भेजता और प्राप्त करता है। पैकेट कैप्चर को अधिक विशिष्ट और केंद्रित बनाने के लिए उपयोगिता कई प्रकार के विकल्पों के साथ आती है। इनमें से कुछ विकल्पों में विभिन्न नेटवर्किंग प्रोटोकॉल और नेटवर्क इंटरफेस शामिल हैं।
इंस्टॉलेशन
कई लिनक्स वितरण सीधे बॉक्स से बाहर स्थापित उपयोगिता के साथ आते हैं। हालांकि, अगर आपकी पसंद का डिस्ट्रो नहीं है, तो स्थापना सौभाग्य से त्वरित और सरल है।
उदाहरण के लिए, यदि आप उबंटू या डेबियन का उपयोग कर रहे हैं, तो इसे apt
. का उपयोग करके स्थापित किया जा सकता है :
sudo apt install tcpdump
CentOS पर, yum
. का उपयोग करके ऐसा ही किया जाता है :
sudo yum install tcpdump
और आर्क लिनक्स पर pacman
. का उपयोग करके :
sudo pacman -S tcpdump
मूल बातें
tcpdump स्थापित होने के साथ, आप -h
. का उपयोग करके मैनुअल पर एक नज़र डाल सकते हैं झंडा:
tcpdump -h
यह आपको उन झंडों की एक सूची दिखाता है जिनका उपयोग आप टूल का उपयोग करते समय कर सकते हैं।
यदि आप अधिक विस्तृत और विस्तृत मैनुअल देखना चाहते हैं, तो आप man
का उपयोग करके मैन पेज (मैनुअल पेज) देख सकते हैं। आदेश:
man tcpdump
आप टाइप करके एक बेसिक पैकेट कैप्चर चला सकते हैं:
tcpdump
स्वयं कमांड का उपयोग करके और नेटवर्क इंटरफ़ेस निर्दिष्ट न करके, टूल आपके सिस्टम पर उपलब्ध इंटरफ़ेस में से किसी एक को चुन लेगा।
यदि आप tcpdump को होस्टनामों को हल करने के लिए नहीं चाहते हैं और इसके बजाय इसे केवल IP पतों को आउटपुट करना चाहते हैं, तो आप -n
का उपयोग कर सकते हैं झंडा:
tcpdump -n
यदि आप उन पैकेटों की संख्या निर्दिष्ट करना चाहते हैं जिन्हें आप कैप्चर करना चाहते हैं, तो -c
. का उपयोग करें झंडा:
tcpdump -c [number of packets]
नेटवर्क इंटरफ़ेस निर्दिष्ट करना
आप -i
. का उपयोग करके अपनी पसंद का नेटवर्क इंटरफ़ेस निर्दिष्ट कर सकते हैं झंडा:
tcpdump -i [interface]
अधिकांश सिस्टम पर दो सबसे सामान्य नेटवर्क इंटरफ़ेस नाम हैं eth0 और wlan0:
tcpdump -i eth0 tcpdump -i wlan0
यदि आप सभी इंटरफेस पर डेटा कैप्चर करना चाहते हैं, तो आप any
. का उपयोग कर सकते हैं विकल्प:
tcpdump -i any
पोर्ट/पोर्ट रेंज निर्दिष्ट करना
यदि आप केवल एक विशिष्ट पोर्ट नंबर का उपयोग करने वाले डेटा को कैप्चर करना चाहते हैं, तो कमांड का उपयोग करें:
tcpdump -i [interface] port [port number]
मान लें कि आप eth0
. पर ट्रैफ़िक कैप्चर करना चाहते हैं इंटरफ़ेस और पोर्ट 443 (HTTPS) के लिए। निम्नलिखित टाइप करें:
tcpdump -i eth0 port 443
इसके अतिरिक्त, tcpdump आपको पोर्ट की एक श्रृंखला निर्दिष्ट करने की अनुमति देता है:
tcpdump -i [interface] portrange [port range]
होस्ट या सबनेट निर्दिष्ट करना
कई बार आप कैप्चर किए गए पैकेट को केवल विशिष्ट होस्ट या सबनेट से भेजे/प्राप्त किए गए पैकेट तक सीमित करना चाहते हैं। सौभाग्य से, tcpdump आपको ऐसा करने की अनुमति देता है।
आप निम्न प्रारूप का उपयोग करके एक होस्ट निर्दिष्ट कर सकते हैं:
tcpdump -i [interface] host [host]
उदाहरण के तौर पर, eth0 इंटरफ़ेस पर ट्रैफ़िक कैप्चर करें और होस्ट को 127.0.0.1 (आपका अपना लूपबैक IP पता) के रूप में निर्दिष्ट करें:
tcpdump -i eth0 host 127.0.0.1
यदि आप CIDR संकेतन का उपयोग करके एक नेटवर्क सबनेट निर्दिष्ट करना चाहते हैं, तो आप निम्न प्रारूप का उपयोग कर सकते हैं:
tcpdump -i [interface] net [subnet]
उदाहरण के लिए:
tcpdump -i eth0 net 10.0.0.0/8
आप सीधे स्रोत होस्ट भी निर्दिष्ट कर सकते हैं:
tcpdump -i [interface] src [host]
और एक गंतव्य होस्ट:
tcpdump -i [interface] dst [host]
वर्बोसिटी निर्दिष्ट करना
tcpdump आपको पैकेट कैप्चर की वर्बोसिटी निर्दिष्ट करने की अनुमति देता है। यह तब बहुत उपयोगी होता है जब आप किसी कैप्चर के दौरान जानकारी की मात्रा से अभिभूत नहीं होना चाहते।
वर्बोसिटी के लिए तीन वृद्धिशील विकल्प हैं, झंडे -v
, -vv
और -vvv
:
tcpdump -i [interface] -v tcpdump -i [interface] -vv tcpdump -i [interface] -vvv
पहला विकल्प सबसे कम वर्बोसिटी निर्दिष्ट करता है, जबकि तीसरा विकल्प सबसे अधिक निर्दिष्ट करता है।
कैप्चर को किसी फ़ाइल में सहेजना
कैप्चर किए गए डेटा को फ़ाइल में सहेजना अक्सर उपयोगी होता है, इसलिए इसका और विश्लेषण और व्याख्या की जा सकती है।
यह -w
. का उपयोग करके किया जाता है झंडा:
tcpdump -i [interface] -w [filename]
उदाहरण के तौर पर, आप कैप्चर किए गए डेटा को “capture.txt” नामक फ़ाइल में सहेज सकते हैं:
tcpdump -i eth0 -w capture.txt
अक्सर पूछे जाने वाले प्रश्न
1. मुझे "ऑपरेशन की अनुमति नहीं है" त्रुटि मिली। मैं इसे कैसे हल करूं?
tcpdump का उपयोग करने का प्रयास करते समय उपयोगकर्ताओं को प्राप्त होने वाली एक सामान्य त्रुटि निम्न है:
tcpdump आपको यह त्रुटि तब देता है जब आपके पास पैकेट कैप्चर करने के लिए आवश्यक अनुमतियाँ नहीं होती हैं। अधिकांश परिदृश्यों में, आप sudo
. का उपयोग करके इसका समाधान कर सकते हैं . उदाहरण के लिए:
sudo tcpdump -i eth0
2. मुझे कैसे पता चलेगा कि कौन से नेटवर्क इंटरफेस उपलब्ध हैं?
tcpdump में एक अंतर्निहित कार्यक्षमता है जो आपको अपने सिस्टम पर उपलब्ध नेटवर्क इंटरफेस की जांच करने की अनुमति देती है।
इंटरफेस की जांच करने के लिए, -D
. का उपयोग करें झंडा:
tcpdump -D