tcpdump एक शक्तिशाली कमांड-लाइन पैकेट विश्लेषक है जो आपको नेटवर्क ट्रैफ़िक को पकड़ने और निरीक्षण करने की अनुमति देता है। इसकी सबसे उपयोगी विशेषताओं में से एक पोर्ट द्वारा ट्रैफ़िक को फ़िल्टर करने की क्षमता है, जो आपको विशिष्ट सेवाओं या अनुप्रयोगों पर ध्यान केंद्रित करने में मदद करती है।
बेसिक पोर्ट फ़िल्टरिंग सिंटेक्स
किसी विशिष्ट पोर्ट पर ट्रैफ़िक कैप्चर करने के लिए, का उपयोग करें port कीवर्ड:
sudo tcpdump port 80
यह पोर्ट 80 (HTTP) पर सभी ट्रैफ़िक (इनकमिंग और आउटगोइंग दोनों) को कैप्चर करता है।
स्रोत और गंतव्य बंदरगाह
आप निर्दिष्ट कर सकते हैं कि स्रोत या गंतव्य पोर्ट द्वारा फ़िल्टर करना है या नहीं:
## Capture traffic FROM port 443
sudo tcpdump src port 443
## Capture traffic TO port 443
sudo tcpdump dst port 443
एकाधिक बंदरगाह
एकाधिक पोर्ट की निगरानी के लिए, उपयोग करें or या portrange:
## Capture HTTP and HTTPS traffic
sudo tcpdump port 80 or port 443
## Capture a range of ports
sudo tcpdump portrange 8000-8080
अन्य मानदंडों के साथ पोर्ट फिल्टर का संयोजन
तार्किक ऑपरेटरों का उपयोग करके पोर्ट फ़िल्टर को होस्ट या प्रोटोकॉल फ़िल्टर के साथ संयोजित करें:
## Capture SSH traffic from specific host
sudo tcpdump port 22 and host 192.168.1.100
## Capture DNS traffic (UDP port 53)
sudo tcpdump udp and port 53
## Exclude specific port
sudo tcpdump not port 22
उपयोगी विकल्प
इन विकल्पों के साथ अपना tcpdump आउटपुट बढ़ाएं:
## Save capture to file
sudo tcpdump port 80 -w capture.pcap
## Show packet contents in ASCII and hex
sudo tcpdump port 443 -X
## Limit number of packets
sudo tcpdump port 25 -c 100
## Don't resolve hostnames (faster)
sudo tcpdump port 80 -n
सामान्य उपयोग के मामले
- वेब ट्रैफ़िक:
sudo tcpdump port 80 or port 443 - ईमेल:
sudo tcpdump port 25 or port 587 or port 993 - डेटाबेस:
sudo tcpdump port 3306(MySQL) याport 5432(पोस्टग्रेएसक्यूएल) - SSH:
sudo tcpdump port 22
tcpdump के साथ पोर्ट फ़िल्टरिंग नेटवर्क समस्या निवारण, सुरक्षा विश्लेषण और अनावश्यक ट्रैफ़िक कैप्चर किए बिना विशिष्ट अनुप्रयोगों की निगरानी के लिए आवश्यक है।
स्केल करने वाली रणनीति कैप्चर करें
एक अच्छा tcpdump वर्कफ़्लो विशाल बेकार कैप्चर से बचाता है:
- परिकल्पना परिभाषित करें (कौन सा होस्ट/पोर्ट/प्रोटोकॉल)
- संकीर्ण फ़िल्टर बनाएं
- पैकेट संख्या या अवधि सीमित करें
- वायरशार्क में गहन विश्लेषण के लिए पीकैप सहेजें
उदाहरण:
sudo tcpdump -n -i eth0 host 10.0.0.15 and port 443 -c 500 -w tls-check.pcap
यह आपको इंटरफ़ेस पर सब कुछ कैप्चर करने के बजाय एक केंद्रित डेटासेट देता है।
लंबी घटनाओं के लिए रिंग बफर कैप्चर
रुक-रुक कर आने वाली समस्याओं के लिए, घूमने वाली फ़ाइलों का उपयोग करें:
sudo tcpdump -i eth0 port 443 -C 20 -W 10 -w web-%Y%m%d%H%M%S.pcap
यह हालिया ट्रैफ़िक विंडो को संरक्षित करते हुए भंडारण को नियंत्रण में रखता है।
सामान्य फ़िल्टर नुकसान
के साथ लुप्त कोष्ठक and / or
फ़िल्टर तर्क प्राथमिकता आपको आश्चर्यचकित कर सकती है। समूह की शर्तें स्पष्ट रूप से:
sudo tcpdump '(port 80 or port 443) and host 192.168.1.20'
बिना कैप्चर करना -n
रिवर्स डीएनएस लुकअप धीमी गति से कैप्चर करता है और शोर जोड़ता है। उपयोग करें -n समस्या निवारण सत्रों में जब तक कि नाम समाधान की आवश्यकता न हो।
गलत इंटरफ़ेस पर कैप्चर करना
पहले इंटरफ़ेस सत्यापित करें (ip a / ifconfig) मानने से पहले eth0 सक्रिय है.
सुरक्षा और अनुपालन अनुस्मारक
पैकेट कैप्चर में क्रेडेंशियल, कुकीज़, टोकन और व्यक्तिगत डेटा शामिल हो सकते हैं। pcap फ़ाइलों को संवेदनशील कलाकृतियों के रूप में संभालें:
- पहुंच प्रतिबंधित करें
- आराम से एन्क्रिप्ट करें
- जांच के बाद डिलीट करें
निचला रेखा (परिचालन)
सटीक होने पर पोर्ट फ़िल्टरिंग शक्तिशाली होती है। स्पष्ट बीपीएफ अभिव्यक्तियों के साथ छोटे, परिकल्पना-संचालित कैप्चर का उपयोग करें, फिर ऑफ़लाइन विश्लेषण करें। यह तेजी से मूल-कारण विश्लेषण और कम गलत निष्कर्ष देता है।
सर्विस आउटेज के लिए फास्ट ट्राइएज पैटर्न
जब कोई सेवा बंद दिखाई देती है:
- सर्विस पोर्ट पर SYN/SYN-ACK व्यवहार कैप्चर करें
- पुष्टि करें कि पैकेट सही इंटरफ़ेस पर हिट हुआ है
- क्लाइंट-साइड और सर्वर-साइड कैप्चर की तुलना करें
- फ़ायरवॉल काउंटर/लॉग मान्य करें
यह आपको तुरंत बताता है कि विफलता पथ पर है, होस्ट फ़ायरवॉल, या सेवा प्रक्रिया।
निचली पंक्ति (घटना प्रतिक्रिया)
घटनाओं के दौरान, टाइट पोर्ट फिल्टर के साथ टीसीपीडम्प अनुमान से पैकेट-स्तरीय साक्ष्य तक जाने के सबसे तेज़ तरीकों में से एक है।