Tcpdump का परिचय

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

इस लेख को तीन भागों में विभाजित किया जाएगा:

  • बुनियादी सुविधाओं।
  • कुछ ट्रैफ़िक विशेषताओं के आधार पर फ़िल्टरिंग।
  • अधिक उन्नत सुविधाओं का संक्षिप्त स्निपेट (जैसे तार्किक भाव, टीसीपी झंडे द्वारा फ़िल्टर करना)।

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

apt-get install tcpdump

CentOS / RedHat के लिए, निम्न कमांड का उपयोग करें:

yum install tcpdump

FreeBSD एक पूर्व-निर्मित पैकेज प्रदान करता है जिसे जारी करके स्थापित किया जा सकता है:

pkg install tcpdump

एक पोर्ट भी उपलब्ध है, net/tcpdumpजिसे निम्न के माध्यम से स्थापित किया जा सकता है:

cd /usr/ports/net/tcpdump
make install clean

यदि आप tcpdumpबिना किसी तर्क के दौड़ते हैं , तो आपको परिणामों से पस्त कर दिया जाएगा। पांच सेकंड से भी कम समय के लिए वल्चर पर एक ताजा कटा हुआ उदाहरण इसे चलाने से निम्नलिखित परिणाम मिलते हैं:

2661 packets captured
2663 packets received by filter
0 packets dropped by kernel

इनपुट को फ़िल्टर करने के तरीके के बारे में अधिक जानकारी में जाने से पहले, आपको कुछ मापदंडों पर एक नज़र डालनी चाहिए जिन्हें tcpdump को पारित किया जा सकता है:

  • -iउदाहरण के लिए, आप जिस इंटरफ़ेस को सुनना चाहते हैं, उसे निर्दिष्ट करता है tcpdump -i eth0:।
  • -n- उदाहरण के लिए, आईपी पते पर रिवर्स लुकअप करने की कोशिश न करें: tcpdump -n(यदि आप एक और ntcpdump जोड़ते हैं तो आपको नामों के बजाय पोर्ट नंबर दिखाए जाएंगे)।
  • -X- एकत्रित पैकेट की सामग्री दिखाएं tcpdump -X:।
  • -c- केवल xपैकेट पर कब्जा , xएक मनमाना संख्या होने के नाते, उदाहरण के लिए tcpdump -c 10बिल्कुल 10 पैकेट कैप्चर करता है।
  • -v- आपके द्वारा दिखाए गए पैकेट जानकारी की मात्रा बढ़ाएं, अधिक vएस अधिक शब्दाडंबर जोड़ते हैं।

इनमें से प्रत्येक पैरामीटर को एक साथ जोड़ा जा सकता है। यदि आप 100 पैकेट कैप्चर करना चाहते हैं, लेकिन केवल आपके वीपीएन इंटरफ़ेस ट्यून पर, तो tcpdump कमांड इस तरह दिखेगा:

tcpdump -i tun0 -c 100 -X

उन कुछ के अलावा दर्जनों (यदि सैकड़ों नहीं हैं) विकल्प हैं, लेकिन वे सबसे आम हैं। अपने सिस्टम पर tcpdump के मैनपेज को पढ़ने के लिए स्वतंत्र महसूस करें।

अब जब आपके पास tcpdump की बुनियादी समझ है, तो tcpdump की सबसे भयानक विशेषताओं में से एक को देखने का समय है: अभिव्यक्ति। भाव आपके जीवन को बहुत आसान बना देंगे। उन्हें BPF या बर्कले पैकेट फ़िल्टर के रूप में भी जाना जाता है। अभिव्यक्तियों का उपयोग करने से आप कुछ विशेषताओं के आधार पर चुनिंदा प्रदर्शन (या अनदेखा) कर सकते हैं - जैसे कि मूल, गंतव्य, आकार, या यहां तक ​​कि टीसीपी अनुक्रम संख्या।

अब तक आप अपनी खोज को एक निश्चित इंटरफ़ेस पर एक निश्चित मात्रा में पैकेट तक सीमित रखने में कामयाब रहे हैं, लेकिन आइए यहां ईमानदार रहें: जो अभी भी एकत्रित डेटा के साथ प्रभावी ढंग से काम करने के लिए बहुत अधिक पृष्ठभूमि शोर छोड़ देता है। यहीं से भावों का आगमन होता है। अवधारणा बहुत सरल है, इसलिए हम यहां शुष्क सिद्धांत को छोड़ देंगे और कुछ व्यावहारिक उदाहरणों के साथ समझ का समर्थन करेंगे।

जिन अभिव्यक्तियों का आप संभवतः सबसे अधिक उपयोग कर रहे हैं वे हैं:

  • host - होस्टनाम या आईपी पते के आधार पर यातायात की तलाश करें।
  • srcया dst- किसी विशिष्ट होस्ट से या उसके लिए ट्रैफ़िक देखें।
  • proto- एक निश्चित प्रोटोकॉल के यातायात के लिए देखो। Tcp, udp, icmp, और अन्य के लिए क��म करता है। protoकीवर्ड को छोड़ना भी संभव है।
  • net - आईपी पते की एक निश्चित सीमा से / के लिए ट्रैफ़िक देखें।
  • port - एक निश्चित पोर्ट से / के लिए ट्रैफ़िक देखें।
  • greaterया less- बाइट्स की एक निश्चित मात्रा से बड़ा या छोटा ट्रैफ़िक देखें।

जबकि tcpdumpकेवल कुछ उदाहरणों के लिए मैनपेज में कुछ pcap-filterफ़िल्टर कैसे काम करता है और इसे लागू किया जा सकता है , इस बारे में बहुत विस्तृत विवरण दिए गए हैं।

यदि आप यह देखना चाहते हैं कि एक निश्चित सर्वर के साथ आपका संचार कैसे हो रहा है, तो आप hostकीवर्ड का उपयोग कर सकते हैं , उदाहरण के लिए (ऊपर दिए गए कुछ मापदंडों सहित):

tcpdump -i eth0 host vultr.com

कभी-कभी नेटवर्क पर ऐसे कंप्यूटर होते हैं जो MTU का सम्मान नहीं करते हैं या आपको बड़े पैकेटों से स्पैम नहीं करते हैं; उन्हें फ़िल्टर करना कभी-कभी मुश्किल हो सकता है। अभिव्यक्तियाँ आपको उन पैकेजों को फ़िल्टर करने की अनुमति देती हैं जो एक निश्चित संख्या में बाइट्स से बड़े या छोटे होते हैं:

tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32

हो सकता है कि केवल एक निश्चित पोर्ट ही आपके लिए रुचि का हो। इस स्थिति में, portअभिव्यक्ति का उपयोग करें :

tcpdump -i eth0 -X port 21

आप पोर्ट श्रेणियों के लिए भी देख सकते हैं:

tcdump -i eth0 -X portrange 22-25

चूंकि NAT गेटवे बहुत आम हैं, आप केवल गंतव्य बंदरगाहों के लिए देख सकते हैं:

tcpdump dst port 80

यदि आप अपने वेब सर्वर पर ट्रैफ़िक देख रहे हैं, तो आप केवल TCP ट्रैफ़िक को पोर्ट 80 पर देखना चाहेंगे:

tcpdump tcp and dst port 80

आप शायद अपने आप से पूछ रहे हैं कि कीवर्ड andवहाँ क्या कर रहा है। अच्छा प्रश्न। जो हमें इस लेख के अंतिम भाग में लाता है।

tcpdump तार्किक अभिव्यक्तियों के लिए मूल समर्थन प्रदान करता है, विशेष रूप से:

  • and/ &&- तार्किक "और"।
  • or/ ||- तार्किक "या"।
  • not/ !- तार्किक "नहीं"।

एक साथ समूह अभिव्यक्ति की क्षमता के साथ, यह आपको आने वाले और बाहर जाने वाले यातायात के लिए बहुत शक्तिशाली खोजों को बनाने की अनुमति देता है। तो चलिए 22 या 443 पोर्ट पर vultr.com से आने वाले ट्रैफ़िक को फ़िल्टर करते हैं:

tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)

कमांड लाइन पर इसे चलाने से आपको निम्नलिखित त्रुटि मिलेगी:

bash: syntax error near unexpected token `('

ऐसा इसलिए है क्योंकि वहाँ एक चेतावनी है: bashहर चरित्र का मूल्यांकन करने की कोशिश कर सकता है। इसमें (और )वर्ण शामिल हैं। उस त्रुटि से बचने के लिए, आपको संयुक्त अभिव्यक्ति के आसपास एकल उद्धरण का उपयोग करना चाहिए:

tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'

एक अन्य उपयोगी उदाहरण: जब SSH अपने किसी उपयोगकर्ता के साथ डिबगिंग करता है, तो आप अपने SSH सत्र से संबंधित हर चीज़ को अनदेखा करना चाह सकते हैं:

tcpdump '!(host $youripaddress) && port 22)'

फिर से, उपयोग के मामले अंतहीन हैं, और आप अत्यधिक गहराई में निर्दिष्ट कर सकते हैं कि आप किस प्रकार का ट्रैफ़िक देखना चाहते हैं। निम्न आदेश आपको केवल TCP हैंडशेक के SYNACK पैकेट दिखाएगा:

tcpdump -i eth0 'tcp[13]=18'

यह टीसीपी हेडर की तेरहवीं ऑफसेट और इसके भीतर अठारहवें बाइट को देखकर काम करता है।

यदि आपने इसे यहां पूरे तरीके से बनाया है, तो आप अधिकांश उपयोग के मामलों के लिए तैयार हैं जो उत्पन्न होंगे। मैं बहुत अधिक विवरणों में जाने के बिना सतह को मुश्किल से छू सकता हूं। मैं अत्यधिक अनुशंसा करता हूं कि आप विभिन्न विकल्पों और अभिव्यक्तियों के साथ थोड़ा और आगे प्रयोग करें; और हमेशा की तरह: आप खो जाने पर मैनपेज को देखें।

पिछले नहीं बल्कि कम से कम - एक त्वरित वापस देखो। इस लेख की शुरुआत याद है? सेकंड के एक मामले में पकड़े गए हजारों पैकेट के साथ? की शक्ति tcpdumpएक बहुत नीचे ट्रिम कर सकते हैं:

tcpdump -i eth0 tcp port 22

परिणाम अब है:

81 packets captured
114 packets received by filter
0 packets dropped by kerne

यह बहुत साफ है और डिबग करना आसान है। हैप्पी नेटवर्किंग!



Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

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

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

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

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ