टीसीपीडम्प - लिनक्स कमांड - यूनिक्स कमांड

नाम

tcpdump - एक नेटवर्क पर यातायात डंप

SYNOPSIS

tcpdump [ -adeflnNOpqRStuvxX ] [ -c गिनती ]

[ -C file_size ] [ -F फ़ाइल ]

[ -आई इंटरफ़ेस ] [ -एम मॉड्यूल ] [ -r फ़ाइल ]

[ -एस स्नैप्लेन ] [ -टी प्रकार ] [ -यू उपयोगकर्ता ] [ -w फ़ाइल ]

[ -ई अलगो: गुप्त ] [ अभिव्यक्ति ]

विवरण

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

टीसीपीडम्प , यदि -सी ध्वज के साथ नहीं चलता है, तब तक पैकेट को कैप्चर करना जारी रखें जब तक कि इसे एक सिगिनट सिग्नल (जेनरेट किया गया हो, उदाहरण के लिए, अपने इंटरप्ट कैरेक्टर को टाइप करके, आमतौर पर कंट्रोल-सी) या एक सिगरेट सिग्नल (आमतौर पर मारने के साथ उत्पन्न होता है) (1) कमांड); यदि -सी ध्वज के साथ चलाया जाता है, तो यह तब तक पैकेट को कैप्चर करेगा जब तक कि इसे SIGINT या SIGTERM सिग्नल द्वारा बाधित नहीं किया जाता है या निर्दिष्ट संख्या में पैकेट संसाधित किए जाते हैं।

जब tcpdump कैप्चरिंग पैकेट को समाप्त करता है, तो यह रिपोर्ट की गणना करेगा:

पैकेट '' फ़िल्टर द्वारा प्राप्त '' (इसका अर्थ उस ओएस पर निर्भर करता है जिस पर आप टीसीपीडम्प चला रहे हैं, और संभवतः ओएस कॉन्फ़िगर किए जाने के तरीके पर - यदि कमांड लाइन पर फ़िल्टर निर्दिष्ट किया गया था, तो कुछ ओएस पर यह गिना जाता है पैकेट्स चाहे वे फ़िल्टर अभिव्यक्ति से मेल खाते हों, और अन्य ओएस पर यह केवल उन पैकेटों की गणना करता है जो फिल्टर अभिव्यक्ति से मेल खाते थे और टीसीपीडम्प द्वारा संसाधित किए गए थे);

पैकेट '`कर्नेल द्वारा गिराए गए' '(यह उन पैकेटों की संख्या है जिन्हें बफर स्पेस की कमी के कारण, ओएस में पैकेट कैप्चर तंत्र द्वारा किया जाता है, जिस पर ओएस टीसीपीडम्प चल रहा है, यदि ओएस अनुप्रयोगों को जानकारी देता है; यदि नहीं, तो यह 0 के रूप में रिपोर्ट किया जाएगा)।

एसआईजीआईएनएफओ सिग्नल का समर्थन करने वाले प्लेटफ़ॉर्म पर, जैसे कि अधिकांश बीएसडी, यह उन संकेतों की रिपोर्ट करेगा जब इसे एक सिग्निफो सिग्नल प्राप्त होता है (उदाहरण के लिए, उदाहरण के लिए, अपना 'स्टेटस' अक्षर टाइप करके, आमतौर पर नियंत्रण-टी) और कैप्चरिंग पैकेट जारी रखेगा ।

किसी नेटवर्क इंटरफ़ेस से पैकेट पढ़ने की आवश्यकता हो सकती है कि आपके पास विशेष विशेषाधिकार हों:

एनआईटी या बीपीएफ के साथ सनोस 3.x या 4.x के तहत:

आपको / dev / nit या / dev / bpf * तक पहुंच पढ़ने चाहिए।

डीएलपीआई के साथ सोलारिस के तहत:

आपको नेटवर्क छद्म डिवाइस तक पहुंच / लिखना होगा, उदाहरण के लिए / dev / le । सोलारिस के कम से कम कुछ संस्करणों पर, हालांकि, यह टीसीपीडम्प को विशिष्ट मोड में कैप्चर करने की अनुमति देने के लिए पर्याप्त नहीं है; सोलारिस के उन संस्करणों पर, आपको जड़ होना चाहिए, या टीसीपीडम्प को जरूरी मोड में कैप्चर करने के लिए रूट पर सेटुइड स्थापित किया जाना चाहिए। ध्यान दें कि, कई (शायद सभी) इंटरफेस पर, यदि आप विचित्र मोड में कैप्चर नहीं करते हैं, तो आपको कोई आउटगोइंग पैकेट नहीं दिखाई देगा, इसलिए विशिष्ट मोड में कैप्चर नहीं किया जा सकता है।

डीएलपीआई के साथ एचपी-यूएक्स के तहत:

आपको रूट होना चाहिए या tcpdump रूट पर setuid स्थापित होना चाहिए।

स्नूप के साथ आईआरआईएक्स के तहत:

आपको रूट होना चाहिए या tcpdump रूट पर setuid स्थापित होना चाहिए।

लिनक्स के तहत:

आपको रूट होना चाहिए या tcpdump रूट पर setuid स्थापित होना चाहिए।

Ultrix और डिजिटल यूनिक्स / Tru64 यूनिक्स के तहत:

कोई भी उपयोगकर्ता tcpdump के साथ नेटवर्क यातायात को पकड़ सकता है। हालांकि, कोई उपयोगकर्ता (सुपर-यूजर भी नहीं) इंटरफ़ेस पर विचित्र मोड में कैप्चर कर सकता है जब तक कि सुपर-उपयोगकर्ता ने pfconfig (8) का उपयोग करके उस इंटरफ़ेस पर विशिष्ट मोड ऑपरेशन सक्षम नहीं किया है, और कोई उपयोगकर्ता नहीं (सुपर-उपयोगकर्ता भी नहीं) ) एक इंटरफ़ेस पर मशीन द्वारा प्राप्त या भेजे गए यूनिकास्ट ट्रैफ़िक को कैप्चर कर सकता है जब तक कि सुपर-उपयोगकर्ता ने pfconfig का उपयोग करके उस इंटरफ़ेस पर कॉपी-ऑल-मोड ऑपरेशन सक्षम नहीं किया है, इसलिए इंटरफ़ेस पर उपयोगी पैकेट कैप्चर के लिए संभवतः या तो विशिष्ट मोड या प्रतिलिपि की आवश्यकता होती है -ल-मोड ऑपरेशन, या ऑपरेशन के दोनों मोड, उस इंटरफेस पर सक्षम हो।

बीएसडी के तहत:

आपको / dev / bpf * तक पहुंच पढ़ने चाहिए।

सहेजी गई पैकेट फ़ाइल को पढ़ने के लिए विशेष विशेषाधिकारों की आवश्यकता नहीं होती है।

विकल्प

-ए

नेटवर्क और प्रसारण पते को नामों में बदलने का प्रयास करें।

-सी

गिनती पैकेट प्राप्त करने के बाद बाहर निकलें।

-सी

एक savefile पर कच्चे पैकेट लिखने से पहले, जांचें कि फ़ाइल वर्तमान में file_size से बड़ी है या नहीं, और यदि ऐसा है, तो वर्तमान savefile को बंद करें और एक नया खोलें। पहले सेवफाइल के बाद सेवफाइल का नाम -w ध्वज के साथ निर्दिष्ट नाम होगा, इसके बाद एक संख्या के साथ, 2 से शुरू होने और ऊपर की ओर बढ़ना होगा। File_size की इकाइयां लाखों बाइट्स हैं (1,000,000 बाइट्स, 1,048,576 बाइट्स नहीं)।

-d

संकलित पैकेट-मिलान कोड को मानक आउटपुट और स्टॉप पर मानव पठनीय रूप में डंप करें।

-dd

सी प्रोग्राम खंड के रूप में पैकेट-मिलान कोड डंप करें।

-ddd

पैकेट-मिलान कोड को दशमलव संख्या के रूप में डंप करें (गिनती से पहले)।

-e

प्रत्येक डंप लाइन पर लिंक-स्तरीय शीर्षलेख मुद्रित करें।

-E

आल्गो का प्रयोग करें : IPsec ईएसपी पैकेट डिक्रिप्ट करने के लिए गुप्त । एल्गोरिदम des-cbc , 3des-cbc , blowfish-cbc , rc3-cbc , cast128-cbc , या कोई भी हो सकता है । डिफ़ॉल्ट des-cbc है । पैकेट को डिक्रिप्ट करने की क्षमता केवल तभी मौजूद होती है जब टीसीपीडम्प क्रिप्टोग्राफी सक्षम के साथ संकलित किया गया हो। ईएसपी गुप्त कुंजी के लिए ascii पाठ गुप्त। हम इस समय मनमाने ढंग से बाइनरी मूल्य नहीं ले सकते हैं। विकल्प आरएफसी 2406 ईएसपी मानता है, आरएफसी 1827 ईएसपी नहीं। विकल्प केवल डीबगिंग उद्देश्यों के लिए है, और वास्तव में 'गुप्त' कुंजी के साथ इस विकल्प का उपयोग निराश है। कमांड लाइन पर आईपीसीईसी गुप्त कुंजी पेश करके आप इसे पीएस (1) और अन्य अवसरों के माध्यम से दूसरों के लिए दृश्यमान बनाते हैं।

-f

प्रतीकात्मक रूप से 'विदेशी' इंटरनेट पते को संख्यात्मक रूप से मुद्रित करें (यह विकल्प सूर्य के वाईपी सर्वर में गंभीर मस्तिष्क क्षति के आसपास होने का इरादा है --- आमतौर पर यह हमेशा के लिए गैर-स्थानीय इंटरनेट नंबरों का अनुवाद करता है)।

एफ

फिल्टर अभिव्यक्ति के लिए इनपुट के रूप में फ़ाइल का उपयोग करें। कमांड लाइन पर दी गई एक अतिरिक्त अभिव्यक्ति को नजरअंदाज कर दिया जाता है।

-मैं

इंटरफेस पर सुनो। यदि निर्दिष्ट नहीं किया गया है, तो tcpdump सबसे कम संख्या वाले, कॉन्फ़िगर किए गए इंटरफ़ेस (लूपबैक को छोड़कर) के लिए सिस्टम इंटरफ़ेस सूची की खोज करता है। शुरुआती मैच चुनकर संबंध टूट गए हैं।

2.2 या बाद के कर्नेल वाले लिनक्स सिस्टम पर, सभी इंटरफ़ेस से पैकेट को कैप्चर करने के लिए `'any' 'का इंटरफ़ेस तर्क उपयोग किया जा सकता है। ध्यान दें कि 'किसी भी' डिवाइस पर कैप्चर विचित्र मोड में नहीं किया जाएगा।

-l

Stdout लाइन buffered बनाओ। उपयोगी है अगर आप इसे कैप्चर करते समय डेटा देखना चाहते हैं। उदाहरण के लिए,
`tcpdump -l | टी डेट 'या `` tcpdump -l> डेटा और पूंछ-एफ डेटा' '।

-m

फ़ाइल मॉड्यूल से एसएमआई एमआईबी मॉड्यूल परिभाषा लोड करें। टीसीपीडम्प में कई एमआईबी मॉड्यूल लोड करने के लिए इस विकल्प का कई बार उपयोग किया जा सकता है।

-n

होस्ट पते को नामों में परिवर्तित न करें। इसका उपयोग DNS लुकअप से बचने के लिए किया जा सकता है।

-nn

प्रोटोकॉल और पोर्ट नंबर इत्यादि को नामों में परिवर्तित न करें।

एन

होस्ट नामों के डोमेन नाम योग्यता मुद्रित न करें। उदाहरण के लिए, यदि आप यह ध्वज देते हैं तो tcpdump `nic.ddn.mil 'के बजाय` `nic' प्रिंट करेगा।

-O

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

-p

इंटरफ़ेस को विचित्र मोड में डालें। ध्यान दें कि कुछ अन्य कारणों से इंटरफ़ेस विशिष्ट मोड में हो सकता है; इसलिए, '-p' का उपयोग 'ईथर होस्ट {स्थानीय-एचडब्ल्यू-एडीआर} या ईथर प्रसारण' के संक्षेप में नहीं किया जा सकता है।

-q

त्वरित (शांत?) आउटपुट। कम प्रोटोकॉल जानकारी प्रिंट करें ताकि आउटपुट लाइनें कम हों।

आर

पुराने विनिर्देश (आरएफसी 1825 से आरएफसी 1829) पर आधारित ईएसपी / एएच पैकेट मानें। यदि निर्दिष्ट है, तो tcpdump replay रोकथाम फ़ील्ड मुद्रित नहीं करेगा। चूंकि ईएसपी / एएच विनिर्देश में कोई प्रोटोकॉल संस्करण फ़ील्ड नहीं है, इसलिए टीसीपीडम्प ईएसपी / एएच प्रोटोकॉल के संस्करण को कम नहीं कर सकता है।

-r

फ़ाइल से पैकेट पढ़ें (जिसे -w विकल्प के साथ बनाया गया था)। फ़ाइल इनपुट `` - 'है तो मानक इनपुट का उपयोग किया जाता है।

-S

रिश्तेदार, टीसीपी अनुक्रम संख्या के बजाय पूर्ण प्रिंट करें।

-s

68 के डिफ़ॉल्ट के बजाय प्रत्येक पैकेट से डेटा के स्नैर्फ स्नैप्लेन बाइट्स ( सनोस के एनआईटी के साथ, न्यूनतम वास्तव में 96 है)। आईपी, आईसीएमपी, टीसीपी और यूडीपी के लिए 68 बाइट पर्याप्त हैं लेकिन नाम सर्वर और एनएफएस पैकेट से प्रोटोकॉल जानकारी को कम कर सकते हैं (नीचे देखें)। सीमित स्नैपशॉट की वजह से पैकेट को छोटा कर दिया गया है जिसमें आउटपुट में `` [| प्रोटो ] '', जहां प्रोटो प्रोटोकॉल स्तर का नाम है जिस पर छंटनी हुई है। ध्यान दें कि बड़े स्नैपशॉट्स लेने से पैकेट को संसाधित करने में कितना समय लगता है और प्रभावी रूप से पैकेट बफरिंग की मात्रा कम हो जाती है। इससे पैकेट खो जाएंगे। आपको स्नैपलेन को सबसे छोटी संख्या तक सीमित करना चाहिए जो आपके द्वारा रुचि रखने वाली प्रोटोकॉल जानकारी को कैप्चर करेगा। स्नैपलेन को 0 पर सेट करना मतलब है कि पूरे पैकेट को पकड़ने के लिए आवश्यक लंबाई का उपयोग करें।

-टी

" अभिव्यक्ति " द्वारा चुने गए फोर्स पैकेट निर्दिष्ट प्रकार का व्याख्या करने के लिए। वर्तमान में ज्ञात प्रकार सीएनएफपी (सिस्को नेटफ्लो प्रोटोकॉल), आरपीसी (रिमोट प्रोसेसर कॉल), आरटीपी (रीयल-टाइम एप्लीकेशन प्रोटोकॉल), आरटीसीपी (रीयल-टाइम एप्लीकेशन कंट्रोल प्रोटोकॉल), स्नैम्प (सरल नेटवर्क मैनेजमेंट प्रोटोकॉल), वैट (विजुअल ऑडियो टूल) ), और डब्ल्यूबी (वितरित व्हाइट बोर्ड)।

आयकर

प्रत्येक डंप लाइन पर एक टाइमस्टैम्प मुद्रित न करें

-tt

प्रत्येक डंप लाइन पर एक unformatted टाइमस्टैम्प मुद्रित करें।

यू

रूट विशेषाधिकारों को छोड़ देता है और उपयोगकर्ता के प्राथमिक समूह में उपयोगकर्ता और समूह आईडी में उपयोगकर्ता आईडी बदलता है।

ध्यान दें! यदि कुछ और निर्दिष्ट नहीं है तो Red Hat Linux स्वचालित रूप से विशेषाधिकार को उपयोगकर्ता '`pcap' 'पर छोड़ देता है।

-ttt

प्रत्येक डंप लाइन पर वर्तमान और पिछली पंक्ति के बीच एक डेल्टा (माइक्रो-सेकेंड में) प्रिंट करें।

-tttt

प्रत्येक डंप लाइन पर दिनांक के अनुसार आगे बढ़े डिफ़ॉल्ट प्रारूप में एक टाइमस्टैम्प मुद्रित करें।

-u

अनदेखा एनएफएस हैंडल प्रिंट करें।

-v

(थोड़ा अधिक) वर्बोज़ आउटपुट। उदाहरण के लिए, आईपी पैकेट में रहने, पहचान, कुल लंबाई और विकल्पों का समय मुद्रित किया जाता है। आईपी ​​और आईसीएमपी हेडर चेकसम को सत्यापित करने जैसे अतिरिक्त पैकेट अखंडता जांच भी सक्षम करता है।

-vv

और भी वर्बोज़ आउटपुट। उदाहरण के लिए, एनएफएस उत्तर पैकेट से अतिरिक्त फ़ील्ड मुद्रित किए जाते हैं, और एसएमबी पैकेट पूरी तरह से डीकोड किए जाते हैं।

-vvv

और भी वर्बोज़ आउटपुट। उदाहरण के लिए, टेलनेट एसबी ... एसई विकल्प पूर्ण रूप से मुद्रित हैं। -एक्स टेलनेट विकल्प हेक्स में भी मुद्रित होते हैं।

डब्ल्यू

पार्सिंग और प्रिंटिंग के बजाय कच्चे पैकेट को फ़ाइल में लिखें। बाद में उन्हें -r विकल्प के साथ मुद्रित किया जा सकता है। यदि मानक `` - 'है तो मानक आउटपुट का उपयोग किया जाता है।

-एक्स

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

-एक्स

हेक्स प्रिंट करते समय, एसीआईआई भी प्रिंट करें। इस प्रकार यदि -x भी सेट है, तो पैकेट हेक्स / एएससीआई में मुद्रित होता है। यह नए प्रोटोकॉल का विश्लेषण करने के लिए बहुत आसान है। यहां तक ​​कि अगर -x भी सेट नहीं किया गया है, तो कुछ पैकेट के कुछ हिस्सों को हेक्स / एएससीआई में मुद्रित किया जा सकता है।

अभिव्यक्ति

चुनता है कि कौन से पैकेट डंप किए जाएंगे। अगर कोई अभिव्यक्ति नहीं दी जाती है, तो नेट पर सभी पैकेट डंप किए जाएंगे। अन्यथा, केवल पैकेट जिनके लिए अभिव्यक्ति 'सत्य' है, उन्हें छोड़ दिया जाएगा।

अभिव्यक्ति में एक या अधिक प्राइमेटिव शामिल हैं। Primitives आमतौर पर एक या अधिक क्वालिफायर द्वारा पहले एक आईडी (नाम या संख्या) होता है। तीन अलग-अलग प्रकार के क्वालीफायर हैं:

प्रकार

क्वालीफायर कहते हैं कि आईडी नाम या संख्या किस प्रकार की बात है। संभावित प्रकार मेजबान , नेट और बंदरगाह हैं । उदाहरण के लिए, 'होस्ट फू', 'नेट 128.3', 'पोर्ट 20'। यदि कोई प्रकार क्वालीफायर नहीं है, तो मेजबान माना जाता है।

dir

क्वालीफायर आईडी और / या आईडी से एक विशेष स्थानांतरण दिशा निर्दिष्ट करते हैं। संभावित दिशाएं src , dst , src या dst और src और dst हैं । उदाहरण के लिए, 'src foo', 'dst net 128.3', 'src या dst port ftp-data'। यदि कोई डीआईआर क्वालीफायर नहीं है, तो src या dst मान लिया जाता है। 'शून्य' लिंक परतों के लिए (यानी बिंदु से बिंदु प्रोटोकॉल जैसे पर्ची) इनबाउंड और आउटबाउंड क्वालीफायरों को वांछित दिशा निर्दिष्ट करने के लिए उपयोग किया जा सकता है।

आद्य

क्वालीफायर मैच को किसी विशेष प्रोटोकॉल पर प्रतिबंधित करते हैं। संभावित प्रोटोज़ हैं: ईथर , fddi , tr , ip , ip6 , arp , rarp , decnet , tcp और udp । उदाहरण के लिए, 'ether src foo', 'arp net 128.3', 'tcp port 21'। यदि कोई प्रोटो क्वालीफायर नहीं है, तो इस प्रकार के अनुरूप सभी प्रोटोकॉल ग्रहण किए जाते हैं। उदाहरण के लिए, 'src foo' का अर्थ है '(आईपी या arp या rarp) src foo' (बाद वाले को छोड़कर कानूनी वाक्यविन्यास नहीं है), 'नेट बार' का अर्थ है '(आईपी या आरआरपी या रैप) नेट बार' और 'पोर्ट 53' का मतलब है `(टीसीपी या udp) पोर्ट 53 '।

[`fddi 'वास्तव में' ईथर 'के लिए एक उपनाम है; पार्सर उन्हें समान रूप से निर्दिष्ट नेटवर्क इंटरफ़ेस पर उपयोग किए जाने वाले डेटा लिंक स्तर के रूप में मानता है। '' एफडीडीआई हेडर में ईथरनेट-जैसे स्रोत और गंतव्य पते होते हैं, और अक्सर ईथरनेट-जैसे पैकेट प्रकार होते हैं, ताकि आप इन एफडीडीआई फ़ील्ड पर फ़िल्टर कर सकें जैसे ही समान ईथरनेट फ़ील्ड के साथ। एफडीडीआई हेडर में अन्य फ़ील्ड भी होते हैं, लेकिन आप फ़िल्टर अभिव्यक्ति में उन्हें स्पष्ट रूप से नाम नहीं दे सकते हैं।

इसी प्रकार, 'ईआर' 'ईथर' के लिए उपनाम है; एफडीडीआई हेडर के बारे में पिछले पैराग्राफ के बयान टोकन रिंग हेडर पर भी लागू होते हैं।]

उपरोक्त के अलावा, कुछ विशेष 'आदिम' कीवर्ड हैं जो पैटर्न का पालन नहीं करते हैं: गेटवे , प्रसारण , कम , अधिक और अंकगणितीय अभिव्यक्तियां। इन सभी को नीचे वर्णित किया गया है।

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

स्वीकार्य प्राइमेटिव हैं:

डीएसटी मेजबान मेजबान

यह सही है कि पैकेट का IPv4 / v6 गंतव्य फ़ील्ड होस्ट है , जो या तो पता या नाम हो सकता है।

src होस्ट होस्ट

सच है कि पैकेट का IPv4 / v6 स्रोत फ़ील्ड मेजबान है

मेजबान मेजबान

यह सच है कि या तो पैकेट का IPv4 / v6 स्रोत या गंतव्य मेजबान है । उपर्युक्त होस्ट अभिव्यक्तियों में से कोई भी कीवर्ड, आईपी , एआरपी , रारप , या आईपी 6 के साथ प्रीपेड किया जा सकता है:

आईपी ​​होस्ट होस्ट

जो बराबर है:

ईथर प्रोटो \ आईपी और मेजबान मेजबान

यदि होस्ट एकाधिक आईपी पते वाला नाम है, तो प्रत्येक पते को एक मैच के लिए चेक किया जाएगा।

ईथर डीस्ट ehost

सच है कि ईथरनेट गंतव्य पता ehost हैएहोस्ट या तो / etc / ethers या संख्या से नाम हो सकता है (संख्यात्मक प्रारूप के लिए ईथर (3 एन) देखें)।

ईथर स्रोत ehost

सच है कि ईथरनेट स्रोत पता ehost है

ईथर होस्ट ehost

सच है कि अगर ईथरनेट स्रोत या गंतव्य पता ehost है

गेटवे होस्ट

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

ईथर होस्ट ehost और होस्ट मेजबान नहीं

जिसका उपयोग मेजबान / अहोस्ट के लिए नाम या संख्याओं के साथ किया जा सकता है।) इस वाक्यविन्यास इस पल में आईपीवी 6-सक्षम कॉन्फ़िगरेशन में काम नहीं करता है।

डीएसटी नेट नेट

यह सही है कि पैकेट के आईपीवी 4 / वी 6 गंतव्य पते में नेट की नेटवर्क संख्या है। नेट या तो / etc / network या नेटवर्क नंबर से नाम हो सकता है ( विवरण के लिए नेटवर्क देखें (4) )।

स्रोत नेट नेट

यह सही है कि पैकेट के आईपीवी 4 / वी 6 स्रोत पते में नेट की नेटवर्क संख्या है।

नेट नेट

यह सही है कि या तो पैकेट के IPv4 / v6 स्रोत या गंतव्य पते में नेट की नेटवर्क संख्या है।

नेट नेट मास्क नेटमास्क

यह सही है कि आईपी पता विशिष्ट नेटमास्क के साथ नेट से मेल खाता है। Src या dst के साथ योग्यता प्राप्त हो सकती है। ध्यान दें कि यह वाक्यविन्यास आईपीवी 6 नेट के लिए मान्य नहीं है।

नेट नेट / लेन

यह सही है कि IPv4 / v6 पता netmask len बिट्स के साथ नेट से मेल खाता है। Src या dst के साथ योग्यता प्राप्त हो सकती है।

डीएसटी बंदरगाह बंदरगाह

यह सही है कि पैकेट आईपी / टीसीपी, आईपी / udp, ip6 / tcp या ip6 / udp है और पोर्ट का गंतव्य पोर्ट मान है। बंदरगाह एक संख्या या नाम / etc / सेवाओं में उपयोग किया जा सकता है ( टीसीपी (4 पी) और udp (4 पी) देखें)। यदि कोई नाम उपयोग किया जाता है, तो पोर्ट नंबर और प्रोटोकॉल दोनों की जांच की जाती है। यदि कोई संख्या या संदिग्ध नाम उपयोग किया जाता है, तो केवल पोर्ट नंबर चेक किया जाता है (उदाहरण के लिए, डीएसटी पोर्ट 513 दोनों टीसीपी / लॉगिन यातायात और udp / यातायात, और पोर्ट डोमेन दोनों टीसीपी / डोमेन और udp / डोमेन यातायात मुद्रित करेगा) प्रिंट करेगा।

src पोर्ट पोर्ट

यह सही है कि पैकेट में बंदरगाह का स्रोत पोर्ट मान है।

बंदरगाह बंदरगाह

यह सही है कि पैकेट का स्रोत या गंतव्य पोर्ट बंदरगाह है । उपर्युक्त बंदरगाह अभिव्यक्तियों में से कोई भी कीवर्ड, टीसीपी या udp के साथ प्रीपेड किया जा सकता है, जैसा कि:

टीसीपी src पोर्ट पोर्ट

जो केवल टीसीपी पैकेट से मेल खाता है जिसका स्रोत पोर्ट बंदरगाह है

कम लंबाई

यह सही है कि पैकेट की लंबाई लंबाई से कम या बराबर है। यह बराबर है:

लेन <= लंबाई

अधिक लंबाई

यह सही है कि पैकेट की लंबाई लंबाई से अधिक या बराबर है। यह बराबर है:

लेन> = लंबाई

आईपी ​​प्रोटो प्रोटोकॉल

यह सही है कि पैकेट एक आईपी पैकेट है (प्रोटोकॉल प्रकार प्रोटोकॉल के आईपी (4 पी) देखें। प्रोटोकॉल आईसीएमपी , आईसीएमपी 6 , igmp , igrp , pim , ah , esp , vrrp , udp , या tcp नामों में से एक या एक हो सकता है। ध्यान दें कि पहचानकर्ता टीसीपी , udp , और icmp भी कीवर्ड हैं और बैकस्लैश (\) के माध्यम से बच जाना चाहिए, जो सी-शैल में \\ है। ध्यान दें कि यह आदिम प्रोटोकॉल हेडर श्रृंखला का पीछा नहीं करता है।

आईपी 6 प्रोटो प्रोटोकॉल

यह सही है कि पैकेट प्रोटोकॉल प्रकार प्रोटोकॉल का IPv6 पैकेट है। ध्यान दें कि यह आदिम प्रोटोकॉल हेडर श्रृंखला का पीछा नहीं करता है।

आईपी ​​6 प्रोटोकैन प्रोटोकॉल

यह सही है कि पैकेट आईपीवी 6 पैकेट है, और इसके प्रोटोकॉल हेडर चेन में टाइप प्रोटोकॉल के साथ प्रोटोकॉल हेडर शामिल है। उदाहरण के लिए,

आईपी ​​6 प्रोटोकैन 6

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

आईपी ​​प्रोटोकैन प्रोटोकॉल

आईपी ​​6 प्रोटोकैन प्रोटोकॉल के बराबर, लेकिन यह आईपीवी 4 के लिए है।

ईथर प्रसारण

यह सच है कि पैकेट ईथरनेट प्रसारण पैकेट है। ईथर कीवर्ड वैकल्पिक है।

आईपी ​​प्रसारण

यह सच है कि पैकेट एक आईपी प्रसारण पैकेट है। यह सभी ज़ीरो और सभी प्रसारण प्रसारण सम्मेलनों के लिए जांच करता है, और स्थानीय सबनेट मास्क को देखता है।

ईथर मल्टीकास्ट

सच है कि पैकेट एक ईथरनेट मल्टीकास्ट पैकेट है। ईथर कीवर्ड वैकल्पिक है। यह ' ईथर [0] और 1! = 0 ' के लिए लघुरूप है।

आईपी ​​मल्टीकास्ट

यह सच है कि पैकेट एक आईपी मल्टीकास्ट पैकेट है।

आईपी ​​6 मल्टीकास्ट

सच है कि पैकेट एक आईपीवी 6 मल्टीकास्ट पैकेट है।

ईथर प्रोटो प्रोटोकॉल

यह सच है कि पैकेट ईथर प्रकार प्रोटोकॉल का हैप्रोटोकॉल आईपी , आईपी 6 , एआरपी , रारप , एटॉक , एआरपी , डीकनेट , स्कै , लैट , एमओपीडीएल , एमओपीआरसी , आईएसओ , एसपीपी , आईपीएक्स , या नेटबेई नामों में से एक या नाम हो सकता है। ध्यान दें कि ये पहचानकर्ता भी कीवर्ड हैं और बैकस्लैश (\) के माध्यम से बच जाना चाहिए।

[एफडीडीआई के मामले में (उदाहरण के लिए, ' fddi प्रोटोकॉल arp ') और टोकन रिंग (उदाहरण के लिए, ' tr प्रोटोकॉल arp '), उन प्रोटोकॉल के अधिकांश में, प्रोटोकॉल पहचान 802.2 लॉजिकल लिंक कंट्रोल (एलएलसी) हेडर से आता है, जो आमतौर पर एफडीडीआई या टोकन रिंग हेडर के शीर्ष पर स्तरित होता है।

एफडीडीआई या टोकन रिंग पर अधिकांश प्रोटोकॉल पहचानकर्ताओं के लिए फ़िल्टर करते समय, टीसीपीडम्प एन्सेप्लेटेड ईथरनेट के लिए 0x000000 के संगठनात्मक इकाई पहचानकर्ता (ओयूआई) के साथ तथाकथित एसएनएपी प्रारूप में एलएलसी हेडर के प्रोटोकॉल आईडी फ़ील्ड को जांचता है; यह जांच नहीं करता है कि पैकेट 0x000000 के ओयूआई के साथ एसएनएपी प्रारूप में है या नहीं।

अपवाद हैं आईएसओ , जिसके लिए यह एलएलसी हेडर, एसटीपी और नेटबेई के डीएसएपी (गंतव्य सेवा एक्सेस पॉइंट) और एसएसएपी (स्रोत सेवा एक्सेस प्वाइंट) फ़ील्ड की जांच करता है, जहां यह एलएलसी हेडर के डीएसएपी की जांच करता है, और एटॉक , जहां यह 0x080007 और ऐप्पलटॉक एटइप के ओयूआई के साथ एक एसएनएपी-प्रारूप पैकेट के लिए जांच करता है।

ईथरनेट के मामले में, टीसीपीडम्प उन प्रोटोकॉल के अधिकांश के लिए ईथरनेट प्रकार फ़ील्ड की जांच करता है; अपवाद हैं आईएसओ , एसएपी , और नेटबेई , जिसके लिए यह 802.3 फ्रेम की जांच करता है और फिर एलएलसी हेडर की जांच करता है क्योंकि यह एफडीडीआई और टोकन रिंग, एटॉक के लिए करता है, जहां यह ईथरनेट फ्रेम में ऐप्पलटॉक एटइप के लिए और दोनों के लिए जांच करता है एसएनएपी-प्रारूप पैकेट के रूप में यह एफडीडीआई और टोकन रिंग, एआरपी के लिए करता है, जहां यह ऐप्पलटॉक एआरपी एटइप के लिए ईथरनेट फ्रेम या 802.2 एसएनएपी फ्रेम में 0x000000 के ओयूआई के साथ जांचता है , और आईपीएक्स , जहां यह आईपीएक्स एटइप के लिए जांचता है एक ईथरनेट फ्रेम, एलएलसी हेडर में आईपीएक्स डीएसएपी, आईपीएक्स के एलएलसी हेडर एनकैप्यूलेशन के साथ 802.3, और एसएनएपी फ्रेम में आईपीएक्स एटइप।]

डीकनेट src होस्ट

यह सही है कि DECNET स्रोत पता होस्ट है , जो '`10.123' ', या एक DECNET होस्ट नाम का पता हो सकता है। [DECNET होस्ट नाम समर्थन केवल उन Ultrix सिस्टम पर उपलब्ध है जो DECNET चलाने के लिए कॉन्फ़िगर किए गए हैं।]

डीसीनेट डीएसटी मेजबान

सही है कि DECNET गंतव्य पता होस्ट है

डीकनेट मेजबान मेजबान

यह सही है कि या तो DECNET स्रोत या गंतव्य पता होस्ट है

आईपी , आईपी 6 , एआरपी , रारप , एटॉक , एआरपी , डीकनेट , आईएसओ , एसपीपी , आईपीएक्स , नेटबेई

संक्षेप में:

ईथर प्रोटो पी

जहां पी उपर्युक्त प्रोटोकॉल में से एक है।

लेट , एमओपीआरसी , एमओपीडीएल

संक्षेप में:

ईथर प्रोटो पी

जहां पी उपर्युक्त प्रोटोकॉल में से एक है। ध्यान दें कि tcpdump वर्तमान में इन प्रोटोकॉल को पार्स करने का तरीका नहीं जानता है।

vlan [vlan_id]

यह सच है कि पैकेट एक आईईईई 802.1Q वीएलएएन पैकेट है। यदि [vlan_id] निर्दिष्ट है, तो केवल सत्य है कि पैकेट में निर्दिष्ट vlan_id है । ध्यान दें कि अभिव्यक्ति में सामना करने वाला पहला वलान कीवर्ड अनुमान के शेष पर अभिव्यक्ति के शेष के लिए डीकोडिंग ऑफ़सेट बदलता है कि पैकेट एक वीएलएएन पैकेट है।

टीसीपी , udp , icmp

संक्षेप में:

आईपी ​​प्रोटो पी या आईपी 6 प्रोटो पी

जहां पी उपर्युक्त प्रोटोकॉल में से एक है।

आईएसओ प्रोटो प्रोटोकॉल

यह सही है कि पैकेट प्रोटोकॉल प्रकार प्रोटोकॉल का ओएसआई पैकेट है। प्रोटोकॉल संख्या या क्लिन , एसीआईएस , या आईएसआईएस नामों में से एक हो सकता है।

clnp , esis , isis

संक्षेप में:

आईएसओ प्रोटो पी

जहां पी उपर्युक्त प्रोटोकॉल में से एक है। ध्यान दें कि tcpdump इन प्रोटोकॉल को पार्स करने का अपूर्ण काम करता है।

expr relop expr

सही है अगर संबंध रखता है, जहां रीपॉप >> <,> =, <=, =,! =, और expr एक अंकगणितीय अभिव्यक्ति है जो पूर्णांक स्थिरांक (मानक सी वाक्यविन्यास में व्यक्त) से बना है, सामान्य बाइनरी ऑपरेटरों [+ , -, *, /, &, |], एक लम्बा ऑपरेटर, और विशेष पैकेट डेटा एक्सेसर्स। पैकेट के अंदर डेटा तक पहुंचने के लिए, निम्न वाक्यविन्यास का उपयोग करें:

proto [ expr : आकार ]

प्रोटो ईथर, एफडीआईआई, टीआर, पीपीपी, पर्ची, लिंक, आईपी, एआरपी, रारप, टीसीपी, udp, icmp या ip6 में से एक है , और इंडेक्स ऑपरेशन के लिए प्रोटोकॉल परत इंगित करता है। ( ईथर, fddi, tr, ppp, पर्ची और लिंक सभी लिंक परत को संदर्भित करते हैं।) ध्यान दें कि टीसीपी, udp और अन्य ऊपरी-परत प्रोटोकॉल प्रकार केवल आईपीवी 4 पर लागू होते हैं, आईपीवी 6 नहीं (यह भविष्य में तय किया जाएगा)। संकेतित प्रोटोकॉल परत के सापेक्ष बाइट ऑफसेट, expr द्वारा दिया जाता है। आकार वैकल्पिक है और ब्याज के क्षेत्र में बाइट्स की संख्या इंगित करता है; यह या तो एक, दो, या चार हो सकता है, और एक के लिए डिफ़ॉल्ट हो सकता है। कीवर्ड लेन द्वारा इंगित लंबाई ऑपरेटर, पैकेट की लंबाई देता है।

उदाहरण के लिए, ' ईथर [0] और 1! = 0 ' सभी मल्टीकास्ट ट्रैफिक को पकड़ता है। अभिव्यक्ति ' आईपी ​​[0] और 0xf! = 5 ' विकल्प के साथ सभी आईपी पैकेट पकड़ता है। अभिव्यक्ति ' आईपी ​​[6: 2] और 0x1fff = 0 ' केवल खंडित डेटाग्राम और खंडित डेटाग्राम के टुकड़े शून्य को पकड़ती है। यह जांच पूरी तरह से टीसीपी और udp इंडेक्स संचालन पर लागू होती है। उदाहरण के लिए, टीसीपी [0] हमेशा टीसीपी हेडर के पहले बाइट का मतलब है, और कभी भी मध्यवर्ती खंड के पहले बाइट का मतलब नहीं है।

कुछ ऑफ़सेट और फ़ील्ड मानों को संख्यात्मक मानों के बजाय नाम के रूप में व्यक्त किया जा सकता है। निम्न प्रोटोकॉल हेडर फ़ील्ड ऑफसेट उपलब्ध हैं: icmptype (आईसीएमपी प्रकार फ़ील्ड), आईसीएमपीकोड (आईसीएमपी कोड फ़ील्ड), और टीसीपीफ्लैग (टीसीपी झंडे क्षेत्र)।

निम्नलिखित आईसीएमपी प्रकार फ़ील्ड मान उपलब्ध हैं: icmp-echoreply , icmp-unreach , icmp-sourcequench , icmp-redirect , icmp-echo , icmp-routeradvert , icmp-routersolicit , icmp-timxceed , icmp-paramprob , icmp-tstamp , icmp -स्टैम्पम्प्रेली , आईसीएमपी -आईरेक , आईसीएमपी -इयरक्रेप्ली , आईसीएमपी-मास्करेक , आईसीएमपी-मास्करेप्ली

निम्नलिखित टीसीपी झंडे फ़ील्ड मान उपलब्ध हैं: टीसीपी-फिन , टीसीपी-सिन , टीसीपी-आरएसटी , टीसीपी-पुश , टीसीपी-पुश , टीसीपी-एएके , टीसीपी-एपीएम

Primitives का उपयोग कर संयुक्त किया जा सकता है:

प्राइमेटिव्स और ऑपरेटरों का एक संश्लेषित समूह (कोष्ठक शैल के लिए विशेष हैं और बच जाना चाहिए)।

नकारात्मक (` ! 'या' नहीं ')।

Concatenation (` && ' या` और ')।

विकल्प (` || 'या' या ')।

नकारात्मकता सबसे ज्यादा प्राथमिकता है। विकल्प और समापन के बराबर प्राथमिकता और सहयोगी बाएं से दाएं हैं। ध्यान दें कि स्पष्ट और टोकन, juxtaposition नहीं, अब concatenation के लिए आवश्यक हैं।

यदि कोई पहचानकर्ता बिना किसी कीवर्ड के दिया जाता है, तो सबसे हालिया कीवर्ड माना जाता है। उदाहरण के लिए,

होस्ट बनाम और एससी नहीं

के लिए छोटा है

मेजबान बनाम मेजबान मेजबान नहीं है

जो भ्रमित नहीं होना चाहिए

नहीं (मेजबान बनाम या ऐस)

अभिव्यक्ति तर्क tcpdump को या तो एक तर्क के रूप में या एकाधिक तर्क के रूप में पारित किया जा सकता है, जो भी अधिक सुविधाजनक है। आम तौर पर, यदि अभिव्यक्ति में शैल मेटाएक्टेक्टर्स शामिल हैं, तो इसे एकल, उद्धृत तर्क के रूप में पास करना आसान है। पार्स किए जाने से पहले रिक्त स्थान के साथ कई तर्कों को संयोजित किया जाता है।

उदाहरण

सूर्यास्त से आने या प्रस्थान करने वाले सभी पैकेट प्रिंट करने के लिए:

tcpdump मेजबान सूर्यास्त

हेलीओस और या तो गर्म या ऐस के बीच यातायात मुद्रित करने के लिए:

tcpdump मेजबान हेलीओस और \ (गर्म या ऐस \)

हेलियो को छोड़कर ऐस और किसी भी होस्ट के बीच सभी आईपी पैकेट प्रिंट करने के लिए:

tcpdump आईपी मेजबान ऐस और हेलीओस नहीं

बर्कले में स्थानीय होस्ट और होस्ट के बीच सभी ट्रैफिक प्रिंट करने के लिए:

टीसीपीडम्प नेट ucb-ether

इंटरनेट गेटवे स्नैप के माध्यम से सभी एफटीपी यातायात को मुद्रित करने के लिए: (ध्यान दें कि अभिव्यक्ति को कोले को रोकने के लिए उद्धरण को रोकने के लिए उद्धृत किया गया है (गलत-) कोष्ठक की व्याख्या करना):

टीसीपीडम्प 'गेटवे स्नूप और (पोर्ट एफटीपी या एफटीपी-डेटा)'

यातायात को मुद्रित करने के लिए न तो स्थानीय मेजबानों के लिए न तो और न ही नियत (यदि आप एक दूसरे नेट के प्रवेश द्वार हैं, तो यह सामान इसे कभी भी आपके स्थानीय नेट पर नहीं लेना चाहिए)।

टीसीपीडम्प आईपी ​​और नेट लोकनेट नहीं

प्रत्येक टीसीपी वार्तालाप के प्रारंभ और अंत पैकेट (SYN और FIN पैकेट) को प्रिंट करने के लिए जिसमें गैर-स्थानीय होस्ट शामिल है।

tcpdump 'tcp [tcpflags] और (tcp-syn | tcp-fin)! = 0 और src और dst net localnet '

गेटवे स्नूप के माध्यम से भेजे गए 576 बाइट से अधिक आईपी पैकेट प्रिंट करने के लिए:

टीसीपीडम्प 'गेटवे स्नूप और आईपी [2: 2]> 576'

आईपी ​​प्रसारण या मल्टीकास्ट पैकेट मुद्रित करने के लिए जिन्हें ईथरनेट प्रसारण या मल्टीकास्ट के माध्यम से नहीं भेजा गया था:

tcpdump 'ether [0] और 1 = 0 और आईपी [16]> = 224'

सभी आईसीएमपी पैकेट मुद्रित करने के लिए जो गूंज अनुरोध / उत्तर नहीं हैं (यानी, पिंग पैकेट नहीं):

tcpdump 'icmp [icmptype]! = icmp-echo और icmp [icmptype]! = icmp-echoreply'

आउटपुट स्वरूप

टीसीपीडम्प का आउटपुट प्रोटोकॉल निर्भर है। निम्नलिखित प्रारूपों में से एक संक्षिप्त विवरण और उदाहरण देता है।

लिंक स्तर शीर्षलेख

यदि '-e' विकल्प दिया गया है, तो लिंक स्तर शीर्षलेख मुद्रित किया गया है। ईथरनेट पर, स्रोत और गंतव्य पते, प्रोटोकॉल, और पैकेट लंबाई मुद्रित की जाती है।

एफडीडीआई नेटवर्क पर, '-e' विकल्प tcpdump को 'फ्रेम नियंत्रण' फ़ील्ड, स्रोत और गंतव्य पते, और पैकेट की लंबाई मुद्रित करने का कारण बनता है। (`फ्रेम नियंत्रण 'फ़ील्ड शेष पैकेट की व्याख्या को नियंत्रित करता है। सामान्य पैकेट (जैसे आईपी डेटाग्राम युक्त)' async 'पैकेट हैं, 0 और 7 के बीच प्राथमिकता मान के साथ; उदाहरण के लिए,' async4 '। पैकेट को 802.2 लॉजिकल लिंक कंट्रोल (एलएलसी) पैकेट शामिल माना जाता है; एलएलसी हेडर मुद्रित होता है यदि यह एक आईएसओ डेटाग्राम या तथाकथित एसएनएपी पैकेट नहीं है।

टोकन रिंग नेटवर्क पर, '-e' विकल्प tcpdump को 'एक्सेस कंट्रोल' और 'फ्रेम कंट्रोल' फ़ील्ड, स्रोत और गंतव्य पते, और पैकेट की लंबाई प्रिंट करने का कारण बनता है। एफडीडीआई नेटवर्क के रूप में, पैकेट को एलएलसी पैकेट शामिल माना जाता है। भले ही '-e' विकल्प निर्दिष्ट है या नहीं, स्रोत रूटिंग जानकारी स्रोत-रूटेड पैकेट के लिए मुद्रित की जाती है।

(एनबी: निम्नलिखित वर्णन आरएफसी -1144 में वर्णित एसएलआईपी संपीड़न एल्गोरिदम के साथ परिचितता मानता है।)

एसएलआईपी लिंक पर, एक दिशा संकेतक (`` I '' इनबाउंड के लिए, 'ओ' 'आउटबाउंड के लिए), पैकेट प्रकार और संपीड़न जानकारी मुद्रित की जाती है। पैकेट प्रकार पहले मुद्रित किया जाता है। तीन प्रकार आईपी , यूटीसीपी , और सीटीसीपी हैंआईपी पैकेट के लिए कोई और लिंक जानकारी मुद्रित नहीं है। टीसीपी पैकेट के लिए, कनेक्शन पहचानकर्ता प्रकार के बाद मुद्रित होता है। यदि पैकेट संपीड़ित है, तो इसके एन्कोडेड हेडर मुद्रित किए जाते हैं। विशेष मामलों को * एस + एन और * एसए + एन के रूप में मुद्रित किया जाता है, जहां एन वह राशि है जिसके द्वारा अनुक्रम संख्या (या अनुक्रम संख्या और एएसी) बदल गई है। यदि यह एक विशेष मामला नहीं है, तो शून्य या अधिक परिवर्तन मुद्रित होते हैं। एक परिवर्तन यू (तत्काल सूचक), डब्ल्यू (विंडो), ए (एएसी), एस (अनुक्रम संख्या), और मैं (पैकेट आईडी) द्वारा इंगित किया जाता है, इसके बाद डेल्टा (+ एन या -एन), या एक नया मूल्य (= एन)। अंत में, पैकेट और संपीड़ित शीर्षलेख लंबाई में डेटा की मात्रा मुद्रित की जाती है।

उदाहरण के लिए, निम्न पंक्ति एक अंतर्निहित संपीड़ित टीसीपी पैकेट दिखाती है, जिसमें एक अंतर्निहित कनेक्शन पहचानकर्ता होता है; एके 6 से बदल गया है, अनुक्रम संख्या 49 है, और 6 से पैकेट आईडी; डेटा के 3 बाइट और संपीड़ित शीर्षलेख के 6 बाइट हैं:

ओ सीटीसीपी * ए +6 एस +49 आई +6 3 (6)

एआरपी / आरएआरपी पैकेट्स

एआरपी / रारप आउटपुट अनुरोध के प्रकार और इसके तर्क दिखाता है। प्रारूप स्वयं व्याख्यात्मक होने का इरादा है। सीएसएएम होस्ट करने के लिए मेजबान आरटीएसजी से ' रॉगिन ' की शुरुआत से लिया गया एक छोटा सा नमूना यहां दिया गया है:

एआरपी जिसने सीएसएएम को आरएसटीजी एआरपी उत्तर सीएसएएम बताया है- सीएसएएम में है

पहली पंक्ति में कहा गया है कि आरटीएसजी ने इंटरनेट होस्ट सीएसएएम के ईथरनेट पते के लिए एक एआरपी पैकेट भेजा था। सीएसएएम अपने ईथरनेट पते के साथ जवाब देता है (इस उदाहरण में, ईथरनेट पते कम मामले में कैप्स और इंटरनेट पते में हैं)।

यदि हमने tcpdump -n किया था तो यह कम अनावश्यक दिखाई देगा:

arp 128 -.254.6 128.3.254.68 arp उत्तर 128.3.254.6 है 02: 07: 01: 00: 01: c4

अगर हमने tcpdump -e किया था, तो तथ्य यह है कि पहला पैकेट प्रसारित किया गया है और दूसरा पॉइंट-टू-पॉइंट दिखाई देगा:

आरटीएसजी ब्रॉडकास्ट 0806 64: एआरपी जिसने सीएसएएम को आरटीएसजी सीएसएएम आरटीएसजी 0806 64 बताया है: एआरपी उत्तर सीएसएएम सीएसएएम पर है

पहले पैकेट के लिए यह कहता है कि ईथरनेट स्रोत पता आरटीएसजी है, गंतव्य ईथरनेट प्रसारण पता है, प्रकार फ़ील्ड में हेक्स 0806 (टाइप ETHER_ARP) है और कुल लंबाई 64 बाइट थी।

टीसीपी पैकेट्स

(एनबी: निम्नलिखित विवरण आरएफसी -7 9 3 में वर्णित टीसीपी प्रोटोकॉल के साथ परिचितता मानते हैं। यदि आप प्रोटोकॉल से परिचित नहीं हैं, न तो यह विवरण और न ही tcpdump आपके लिए बहुत अधिक उपयोग किया जाएगा।)

एक टीसीपी प्रोटोकॉल लाइन का सामान्य प्रारूप है:

src> dst: flags डेटा-seqno ack विंडो तत्काल विकल्प

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

एसआरसी, डीएसटी और झंडे हमेशा मौजूद होते हैं। अन्य फ़ील्ड पैकेट के टीसीपी प्रोटोकॉल हेडर की सामग्री पर निर्भर करते हैं और केवल उपयुक्त होने पर आउटपुट होते हैं।

सीएसएएम होस्ट करने के लिए मेजबान आरटीएसजी से एक रोग्लिन का उद्घाटन हिस्सा यहां दिया गया है।

rtsg.1023> csam.login: एस 768512: 768512 (0) 4096 जीतें csam.login> rtsg.1023: एस 947648: 947648 (0) एके 768513 जीत 4096 rtsg.1023> csam। लॉग इन करें: । एके 1 जीत 4096 rtsg.1023> csam.login: पी 1: 2 (1) एके 1 जीत 4096 csam.login> rtsg.1023:। एके 2 जीत 4096 आरटीएसजी.1023> सीएसएएम.लॉगिन: पी 2:21 (1 9) एके 1 जीत 4096 सीएसएएम.लॉगिन> आरटीएसजी.1023: पी 1: 2 (1) एएके 21 जीत 4077 सीएसएएम.लॉगिन> आरटीएसजी.1023: पी 2: 3 (1) एएके 21 जीत 4077 आग 1 csam.login> rtsg.1023: पी 3: 4 (1) एएके 21 जीत 4077 आग 1

पहली पंक्ति का कहना है कि आरटीएसजी पर टीसीपी पोर्ट 1023 ने सीएसएएम पर बंदरगाह लॉगिन के लिए एक पैकेट भेजा था। एस इंगित करता है कि SYN ध्वज सेट किया गया था। पैकेट अनुक्रम संख्या 768512 थी और इसमें कोई डेटा नहीं था। (नोटेशन 'पहला है: आखिरी (nbytes)' जिसका अर्थ है 'अनुक्रम संख्या पहले तक है, लेकिन अंतिम डेटा सहित नब्बाइट बाइट्स सहित अंतिम नहीं है।) वहां कोई पिग्गी -समर्थित एक नहीं था, उपलब्ध प्राप्त विंडो 4096 बाइट थी और 1024 बाइट्स के एमएसएस का अनुरोध करने वाला अधिकतम-सेगमेंट-साइज विकल्प था।

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

6 वीं पंक्ति पर, आरटीएसजी डेटा के सीएसएएम 1 9 बाइट भेजता है (आरटीएसजी में बाइट्स 2 से 20 - बातचीत के सीएसएएम पक्ष)। पुश ध्वज पैकेट में सेट है। 7 वीं पंक्ति पर, सीएसएएम का कहना है कि इसे आरटीएसजी द्वारा भेजा गया डेटा प्राप्त हुआ है लेकिन बाइट 21 सहित नहीं। इस डेटा का अधिकांश हिस्सा सॉकेट बफर में बैठा है क्योंकि सीएसएएम की प्राप्त खिड़की को 1 9 बाइट छोटे मिल गए हैं। सीएसएएम इस पैकेट में आरटीएसजी के डेटा के एक बाइट भी भेजता है। 8 वीं और 9वीं लाइनों पर, सीएसएएम दो बाइट्स जरूरी, डेटा को आरटीएसजी पर भेजता है।

अगर स्नैपशॉट इतना छोटा था कि टीसीपीडम्प ने पूर्ण टीसीपी हेडर को कैप्चर नहीं किया था, तो यह जितना हो सकता है उतना ही हेडर का अर्थ देता है और फिर रिपोर्ट करता है '`। टीसीपी ] '' इंगित करने के लिए शेष का अर्थ नहीं लिया जा सका। यदि शीर्षलेख में एक बोगस विकल्प होता है (एक लंबाई के साथ जो या तो बहुत छोटा या शीर्षलेख के अंत से परे होता है), tcpdump इसे `` [ खराब विकल्प ] 'के रूप में रिपोर्ट करता है और किसी और विकल्प की व्याख्या नहीं करता है (क्योंकि यह बताना असंभव है जहां वे शुरू करते हैं)। यदि हेडर लम्बाई इंगित करता है कि विकल्प मौजूद हैं लेकिन आईपी डेटाग्राम लंबाई वास्तव में विकल्पों के लिए पर्याप्त नहीं है, तो टीसीपीडम्प इसे `` [ खराब एचडीआर लंबाई ] 'के रूप में रिपोर्ट करता है।

विशेष ध्वज संयोजनों के साथ टीसीपी पैकेट कैप्चरिंग (एसवाईएन-एसीके, यूआरजी-एसीके, आदि)

टीसीपी हेडर के नियंत्रण बिट्स अनुभाग में 8 बिट्स हैं:

सीडब्ल्यूआर | ईसीई | यूआरजी | एसीके | पीएसएच | आरएसटी | एसवाईएन | फिन

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

1) कॉलर एसईएन भेजता है

2) प्राप्तकर्ता एसईएन, एसीके के साथ प्रतिक्रिया करता है

3) कॉलर एसीके भेजता है

अब हम पैकेट को कैप्चर करने में रुचि रखते हैं जिसमें केवल SYN बिट सेट (चरण 1) है। ध्यान दें कि हम चरण 2 (SYN-ACK) से पैकेट नहीं चाहते हैं, केवल एक सादा प्रारंभिक SYN। हमें टीसीपीडम्प के लिए एक सही फ़िल्टर अभिव्यक्ति की आवश्यकता है।

विकल्पों के बिना एक टीसीपी हेडर की संरचना को याद करें:

0 15 31 ----------------------------------------------- ------------------ | स्रोत पोर्ट | गंतव्य बंदरगाह | -------------------------------------------------- --------------- | अनुक्रम संख्या | -------------------------------------------------- --------------- | पावती संख्या | -------------------------------------------------- --------------- | एचएल | आरएसवीडी | सी | ई | यू | ए | पी | आर | एस | एफ | खिड़की का आकार | -------------------------------------------------- --------------- | टीसीपी चेकसम | तत्काल सूचक | -------------------------------------------------- ---------------

एक टीसीपी हेडर आमतौर पर डेटा के 20 ऑक्टेट रखता है, जब तक कि विकल्प मौजूद न हों। ग्राफ की पहली पंक्ति में ऑक्टेट्स 0 - 3 है, दूसरी पंक्ति ऑक्टेट्स 4 - 7 आदि दिखाती है।

0 के साथ गिनने के लिए शुरू, प्रासंगिक टीसीपी नियंत्रण बिट्स ऑक्टेट 13 में निहित हैं:

0 7 | 15 | 23 | 31 ---------------- | --------------- | --------------- | ---------------- | एचएल | आरएसवीडी | सी | ई | यू | ए | पी | आर | एस | एफ | खिड़की का आकार | ---------------- | --------------- | --------------- | - --------------- | | 13 वें ऑक्टेट | | |

चलो ऑक्टेट नंबर पर नज़र डालें। 13:

| | | --------------- | | C | E | यू | एक | P | R | S | एफ | | --------------- | | 7 5 3 0 |

ये टीसीपी नियंत्रण बिट्स हैं जिनकी हम रुचि रखते हैं। हमने इस ऑक्टेट में बिट्स को 0 से 7 तक दाएं से बाएं गिने हैं, इसलिए पीएसएच बिट बिट नंबर 3 है, जबकि यूआरजी बिट नंबर 5 है।

याद रखें कि हम केवल SYN सेट के साथ पैकेट को कैप्चर करना चाहते हैं। चलो देखते हैं कि ऑक्टेट 13 के साथ क्या होता है यदि एक टीसीपी डेटाग्राम अपने शीर्षलेख में SYN बिट सेट के साथ आता है:

| C | E | यू | एक | P | R | S | एफ | | --------------- | 0 0 0 0 0 0 0 | --------------- | | 7 6 5 4 3 2 1 0 |

नियंत्रण बिट्स अनुभाग को देखते हुए हम देखते हैं कि केवल बिट नंबर 1 (SYN) सेट है।

यह मानते हुए कि ऑक्टेट संख्या 13 नेटवर्क बाइट ऑर्डर में 8-बिट हस्ताक्षरित पूर्णांक है, इस ऑक्टेट का बाइनरी मान है

00000010

और इसका दशमलव प्रतिनिधित्व है

7 6 5 4 3 2 1 0 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 = 2

हम लगभग पूरा कर चुके हैं, क्योंकि अब हम जानते हैं कि अगर केवल SYN सेट किया गया है, तो टीसीपी हेडर में 13 वें ऑक्टेट का मान, जब नेटवर्क बाइट ऑर्डर में 8-बिट हस्ताक्षरित पूर्णांक के रूप में व्याख्या किया गया है, तो बिल्कुल 2 होना चाहिए।

इस संबंध को व्यक्त किया जा सकता है

टीसीपी [13] == 2

हम इस अभिव्यक्ति का उपयोग उन पैकेट को देखने के लिए tcpdump के फ़िल्टर के रूप में कर सकते हैं जिनमें केवल SYN सेट है:

tcpdump -i xl0 tcp [13] == 2

अभिव्यक्ति का कहना है, "एक टीसीपी डेटाग्राम के 13 वें ऑक्टेट को दशमलव मान 2 है", जो वही है जो हम चाहते हैं।

अब, मान लीजिए कि हमें SYN पैकेट को कैप्चर करने की आवश्यकता है, लेकिन हमें कोई परवाह नहीं है कि ACK या किसी अन्य टीसीपी नियंत्रण बिट को एक ही समय में सेट किया गया है या नहीं। चलो देखते हैं कि ऑक्टेट 13 के साथ क्या होता है जब एसईएन-एसीके सेट के साथ एक टीसीपी डेटाग्राम आता है:

| C | E | यू | एक | P | R | S | एफ | | --------------- | 0 0 0 0 0 0 0 0 | --------------- | | 7 6 5 4 3 2 1 0 |

अब 1 और 4 बिट्स 13 वें ऑक्टेट में सेट हैं। ऑक्टेट 13 का द्विआधारी मूल्य है


00010010

जो दशमलव में अनुवाद करता है

7 6 5 4 3 2 1 0 0 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 + 0 * 2 + 1 * 2 + 0 * 2 = 18

अब हम tcpdump फ़िल्टर अभिव्यक्ति में 'tcp [13] == 18' का उपयोग नहीं कर सकते हैं, क्योंकि वह केवल उन पैकेट का चयन करेगा जिनमें SYN-ACK सेट है, लेकिन केवल SYN सेट वाले नहीं। याद रखें कि जब तक एसीके या कोई अन्य नियंत्रण बिट सेट नहीं होता है तब तक हमें परवाह नहीं है जब तक कि SYN सेट हो।

हमारे लक्ष्य को प्राप्त करने के लिए, हमें सिग्नल बिट को संरक्षित करने के लिए कुछ अन्य मूल्यों के साथ ऑक्टेट 13 के तर्कसंगत और बाइनरी मान की आवश्यकता है। हम जानते हैं कि हम किसी भी मामले में SYN सेट करना चाहते हैं, इसलिए हम तर्कसंगत रूप से और 13 वें ऑक्टेट में मान SYN के बाइनरी मान के साथ करेंगे:

00010010 SYN-ACK 00000010 SYN और 00000010 (हम SYN चाहते हैं) और 00000010 (हम SYN चाहते हैं) -------- -------- = 00000010 = 00000010

हम देखते हैं कि यह और ऑपरेशन एक ही परिणाम प्रदान करता है चाहे एसीके या कोई अन्य टीसीपी नियंत्रण बिट सेट हो। और मूल्य के दशमलव प्रतिनिधित्व के साथ-साथ इस ऑपरेशन का परिणाम 2 (बाइनरी 00000010) है, इसलिए हम जानते हैं कि SYN सेट वाले पैकेट के लिए निम्न संबंध सत्य होना चाहिए:

((ऑक्टेट 13 का मूल्य) और (2)) == (2)

यह हमें tcpdump फ़िल्टर अभिव्यक्ति को इंगित करता है

tcpdump -i xl0 'tcp [13] और 2 == 2'

ध्यान दें कि आपको खोल से AND ('&') विशेष वर्ण को छिपाने के लिए अभिव्यक्ति में सिंगल कोट्स या बैकस्लैश का उपयोग करना चाहिए।

यूडीपी पैकेट्स

यूडीपी प्रारूप इस rwho पैकेट द्वारा सचित्र है:

actinide.who> प्रसारण। जो: udp 84

यह कहता है कि मेजबान एक्टिनाइड पर बंदरगाह ने बंदरगाह पर एक udp डेटाग्राम भेजा जो होस्ट प्रसारण पर , इंटरनेट प्रसारण पता। पैकेट में उपयोगकर्ता डेटा के 84 बाइट शामिल थे।

कुछ यूडीपी सेवाओं को मान्यता प्राप्त है (स्रोत या गंतव्य पोर्ट नंबर से) और मुद्रित उच्च स्तरीय प्रोटोकॉल जानकारी। विशेष रूप से, डोमेन नाम सेवा अनुरोध (आरएफसी -1034 / 1035) और सूर्य आरपीसी कॉल (आरएफसी -1050) एनएफएस में।

यूडीपी नाम सर्वर अनुरोध

(एनबी: निम्नलिखित वर्णन आरएफसी -1035 में वर्णित डोमेन सेवा प्रोटोकॉल के साथ परिचितता मानता है। यदि आप प्रोटोकॉल से परिचित नहीं हैं, तो निम्न वर्णन ग्रीक में लिखा जाएगा।)

नाम सर्वर अनुरोध के रूप में प्रारूपित हैं

src> dst: id op? झंडे qtype qclass नाम (लेन) h2opolo.1538> helios.domain: 3+ ए? ucbvax.berkeley.edu। (37)

मेजबान h2opolo नाम ucbvax.berkeley.edu नाम से जुड़े एक पता रिकॉर्ड (qtype = ए) के लिए हेलीओस पर डोमेन सर्वर से पूछा क्वेरी आईडी `3 'थी। `+ ' रिकर्सन वांछित ध्वज सेट किया गया इंगित करता है। क्वेरी लंबाई 37 बाइट थी, जिसमें यूडीपी और आईपी प्रोटोकॉल हेडर शामिल नहीं थे। क्वेरी ऑपरेशन सामान्य था, क्वेरी , इसलिए सेशन फ़ील्ड छोड़ा गया था। यदि ओप कुछ और था, तो इसे '3' और '+' के बीच मुद्रित किया गया होता। इसी तरह, qclass सामान्य एक था, C_IN , और छोड़ा गया। किसी अन्य qclass को 'ए' के ​​तुरंत बाद मुद्रित किया गया होगा।

कुछ विसंगतियों की जांच की जाती है और परिणामस्वरूप स्क्वायर ब्रैकेट में संलग्न अतिरिक्त फ़ील्ड हो सकते हैं: यदि किसी क्वेरी में कोई जवाब होता है, तो प्राधिकरण रिकॉर्ड या अतिरिक्त रिकॉर्ड अनुभाग, अंक , एनएसकाउंट , या आर्काउंट `[ n a] 'के रूप में मुद्रित होते हैं,' [ n n ] 'या' [ एन एयू] 'जहां एन उचित गणना है। यदि कोई भी प्रतिक्रिया बिट सेट (एए, आरए या आरकोड) या किसी भी 'शून्य होना चाहिए' बिट्स बाइट्स दो और तीन में सेट होते हैं, '[बी 2 और 3 = एक्स ]' मुद्रित होता है, जहां एक्स हेक्स वैल्यू है हेडर बाइट दो और तीन।

यूडीपी नाम सर्वर प्रतिक्रियाएं

नाम सर्वर प्रतिक्रिया के रूप में स्वरूपित हैं

src> dst: id op rcode flags a / n / au type class data (len) helios.domain> h2opolo.1538: 3 3/3/7 ए 128.32.137.3 (273) helios.domain> h2opolo.1537: 2 NXDomain * 0/1/0 (9 7)

पहले उदाहरण में, हेलियो 3 उत्तर रिकॉर्ड, 3 नाम सर्वर रिकॉर्ड और 7 अतिरिक्त रिकॉर्ड के साथ h2opolo से क्वेरी आईडी 3 का जवाब देता है। पहला उत्तर रिकॉर्ड टाइप ए (पता) है और इसका डेटा इंटरनेट पता 128.32.137.3 है। यूडीपी और आईपी हेडर को छोड़कर प्रतिक्रिया का कुल आकार 273 बाइट था। एक रिकॉर्ड के वर्ग (सीआईसी) के रूप में ओप (क्वेरी) और प्रतिक्रिया कोड (नोईरर) छोड़ा गया था।

दूसरे उदाहरण में, हेलियो बिना किसी उत्तर, एक नाम सर्वर और कोई प्राधिकरण रिकॉर्ड के गैर-मौजूद डोमेन (NXDomain) के प्रतिक्रिया कोड के साथ क्वेरी 2 का जवाब देता है। `* 'इंगित करता है कि आधिकारिक उत्तर बिट सेट किया गया था। चूंकि कोई जवाब नहीं था, कोई प्रकार, कक्षा या डेटा मुद्रित नहीं किया गया था।

दिखाई देने वाले अन्य ध्वज वर्ण '-' (रिकर्सन उपलब्ध, आरए, सेट नहीं हैं) और '|' (संक्षिप्त संदेश, टीसी, सेट)। यदि 'प्रश्न' अनुभाग में बिल्कुल एक प्रविष्टि नहीं है, तो '[ n q]' मुद्रित है।

ध्यान दें कि नाम सर्वर अनुरोध और प्रतिक्रियाएं बड़ी होती हैं और 68 बाइट्स का डिफ़ॉल्ट स्नैपलेन मुद्रित करने के लिए पर्याप्त पैकेट को कैप्चर नहीं कर सकता है। यदि आपको नाम सर्वर यातायात की गंभीरता से जांच करने की आवश्यकता है तो स्नैपलेन को बढ़ाने के लिए ध्वज का उपयोग करें। ` -s 128 'ने मेरे लिए अच्छा काम किया है।

एसएमबी / सीआईएफएस डिकोडिंग

टीसीपीडम्प में अब यूडीपी / 137, यूडीपी / 138 और टीसीपी / 13 9 पर डेटा के लिए काफी व्यापक एसएमबी / सीआईएफएस / एनबीटी डिकोडिंग शामिल है। आईपीएक्स और नेटबीईयूआई एसएमबी डेटा के कुछ आदिम डिकोडिंग भी किए जाते हैं।

डिफ़ॉल्ट रूप से एक काफी न्यूनतम डीकोड किया जाता है, यदि -v का उपयोग किया जाता है तो अधिक विस्तृत डीकोड किया जाता है। चेतावनी दीजिये कि -वा एकल एसएमबी पैकेट एक पृष्ठ या अधिक ले सकता है, इसलिए केवल अगर आप वास्तव में सभी गौरी विवरण चाहते हैं तो इसका उपयोग करें।

यदि आप यूनिकोड स्ट्रिंग वाले एसएमबी सत्रों को डीकोड कर रहे हैं तो आप पर्यावरण परिवर्तक USE_UNICODE को 1 पर सेट करना चाहेंगे। यूनिकोड स्प्रिंग्स को स्वतः पहचानने के लिए एक पैच का स्वागत किया जाएगा।

एसएमबी पैकेट प्रारूपों के बारे में जानकारी के लिए और सभी टी फ़ील्ड का मतलब www.cifs.org या पब / सांबा / चश्मा / निर्देशिका को अपने पसंदीदा samba.org दर्पण साइट पर देखें। एसएमबी पैच एंड्रयू ट्रिडेल (tridge@samba.org) द्वारा लिखे गए थे।

एनएफएस अनुरोध और उत्तर

सन एनएफएस (नेटवर्क फाइल सिस्टम) अनुरोध और उत्तर इस प्रकार मुद्रित हैं:

src.xid> dst.nfs: len op args src.nfs> dst.xid: उत्तर stat len ​​op परिणाम सुशी.670 9> wrl.nfs: 112 readlink fh 21,24 / 10.73165 wrl.nfs> sushi.6709: उत्तर ठीक है 40 रीडलिंक "../var" सुशी.201b> wrl.nfs: 144 लुकअप एफएच 9,74 / 4096.6878 "xcolors" wrl.nfs> सुशी.201b: उत्तर ठीक 128 लुकअप एफएच 9,74 / 4134.3150

पहली पंक्ति में, होस्ट सुशी आईडी 670 9 से wrl के साथ एक लेनदेन भेजता है (ध्यान दें कि src होस्ट के बाद संख्या लेनदेन आईडी है, स्रोत पोर्ट नहीं है)। यूडीपी और आईपी हेडर को छोड़कर अनुरोध 112 बाइट था। ऑपरेशन फ़ाइल हैंडल (एफएच) 21,24 / 10.73165711 9 पर एक रीडलिंक (प्रतीकात्मक लिंक पढ़ें) था। (यदि कोई भाग्यशाली है, इस मामले में, फ़ाइल हैंडल को एक प्रमुख, मामूली डिवाइस नंबर जोड़ी के रूप में व्याख्या किया जा सकता है, उसके बाद इनोड नंबर और पीढ़ी संख्या के बाद।) लिंक की सामग्री के साथ 'ठीक' उत्तर दें।

तीसरी पंक्ति में, सुशी निर्देशिका फ़ाइल 9,74 / 4096.6878 में ' xcolors ' नाम देखने के लिए wrl पूछती है। ध्यान दें कि मुद्रित डेटा ऑपरेशन प्रकार पर निर्भर करता है। अगर एनएफएस प्रोटोकॉल स्पेक के साथ संयोजन में पढ़ा जाता है तो स्वरूप स्वयं स्पष्टीकरणपूर्ण होता है।

यदि -v (verbose) ध्वज दिया जाता है, तो अतिरिक्त जानकारी मुद्रित होती है। उदाहरण के लिए:

सुशी .1372 ए> wrl.nfs: 148 पढ़ें एफएच 21,11 / 12.195 8192 बाइट्स @ 24576 wrl.nfs> सुशी.1372 ए: उत्तर ठीक 1472 पढ़ें आरईजी 100664 आईडी 417/0 एसजे 2 9 388

(-v आईपी हेडर टीटीएल, आईडी, लम्बाई और विखंडन फ़ील्ड को भी प्रिंट करता है, जिन्हें इस उदाहरण से छोड़ा गया है।) पहली पंक्ति में, सुशी ने बाइट ऑफ़सेट पर फाइल 21,11 / 12.195 से 8192 बाइट पढ़ने के लिए wrl से पूछा 24576. आरएलएल जवाब 'ठीक'; दूसरी पंक्ति पर दिखाया गया पैकेट उत्तर का पहला खंड है, और इसलिए केवल 1472 बाइट लंबा है (अन्य बाइट्स बाद के टुकड़ों में पालन करेंगे, लेकिन इन टुकड़ों में एनएफएस या यहां तक ​​कि यूडीपी हेडर नहीं हैं और इसलिए मुद्रित नहीं किया जा सकता है, उपयोग की गई फ़िल्टर अभिव्यक्ति के आधार पर)। चूंकि -v ध्वज दिया जाता है, कुछ फ़ाइल विशेषताएँ (जो फ़ाइल डेटा के अतिरिक्त लौटाई जाती हैं) मुद्रित होती हैं: फाइल प्रकार (नियमित रूप से फ़ाइल के लिए '' आरईजी '), फ़ाइल मोड (ऑक्टल में), यूआईडी और ग्रिड, और फ़ाइल का आकार।

यदि -v ध्वज एक से अधिक बार दिया जाता है, तो और भी अधिक विवरण मुद्रित होते हैं।

ध्यान दें कि एनएफएस अनुरोध बहुत बड़े हैं और स्नैपलेन बढ़ने तक अधिकतर विवरण मुद्रित नहीं किए जाएंगे । एनएफएस यातायात देखने के लिए ` -s 1 9 2 'का उपयोग करने का प्रयास करें।

एनएफएस उत्तर पैकेट आरपीसी ऑपरेशन की स्पष्ट रूप से पहचान नहीं करते हैं। इसके बजाए, tcpdump `` हालिया 'अनुरोधों का ट्रैक रखता है, और लेनदेन आईडी का उपयोग करके जवाबों से मेल खाता है। यदि कोई उत्तर संबंधित अनुरोध का बारीकी से पालन नहीं करता है, तो यह संभव नहीं हो सकता है।

एएफएस अनुरोध और उत्तर

ट्रांसकर्स एएफएस (एंड्रयू फाइल सिस्टम) अनुरोध और उत्तर इस प्रकार मुद्रित हैं:

src.sport> dst.dport: आरएक्स पैकेट-प्रकार src.sport> dst.dport: आरएक्स पैकेट-प्रकार सेवा कॉल कॉल-नाम args src.sport> dst.dport: आरएक्स पैकेट-प्रकार सेवा उत्तर कॉल-नाम args elvis। 7001> pike.afsfs: आरएक्स डेटा एफएस कॉल पुराने फीड का नाम बदलें 536876964/1/1 ".newsrc.new" नया फीड 536876964/1/1 ".newsrc" pike.afsfs> elvis.7001: rx data fs उत्तरनाम

पहली पंक्ति में, होस्ट एल्विस पाइक पर एक आरएक्स पैकेट भेजता है। यह एफएस (फाइलसेवर) सेवा के लिए एक आरएक्स डेटा पैकेट था, और आरपीसी कॉल की शुरुआत है। आरपीसी कॉल का नाम बदलकर 536876 9 64/1/1 की पुरानी निर्देशिका फ़ाइल आईडी और `.newsrc.new 'का पुराना फ़ाइल नाम और 536876964/1/1 की एक नई निर्देशिका फ़ाइल आईडी और` का एक नया फ़ाइल नाम था। newsrc '। मेजबान पाइक नाम बदलने के लिए एक आरपीसी जवाब के साथ प्रतिक्रिया करता है (जो सफल था, क्योंकि यह एक डेटा पैकेट था और एक निरस्त पैकेट नहीं था)।

आम तौर पर, सभी एएफएस आरपीसी कम से कम आरपीसी कॉल नाम से डीकोड किए जाते हैं। अधिकांश एएफएस आरपीसी में कम से कम कुछ तर्क डिकोड किए जाते हैं (आमतौर पर रोचक की कुछ परिभाषा के लिए केवल 'दिलचस्प' तर्क)।

प्रारूप स्वयं वर्णन करने का इरादा है, लेकिन यह शायद उन लोगों के लिए उपयोगी नहीं होगा जो एएफएस और आरएक्स के कामकाज से परिचित नहीं हैं।

यदि -v (verbose) ध्वज दो बार दिया जाता है, तो पावती पैकेट और अतिरिक्त शीर्षलेख जानकारी मुद्रित होती है, जैसे आरएक्स कॉल आईडी, कॉल नंबर, अनुक्रम संख्या, सीरियल नंबर, और आरएक्स पैकेट झंडे।

यदि -v ध्वज दो बार दिया जाता है, तो अतिरिक्त जानकारी मुद्रित होती है, जैसे आरएक्स कॉल आईडी, सीरियल नंबर, और आरएक्स पैकेट झंडे। आरटीएक्स एके पैकेट से एमटीयू बातचीत की जानकारी भी मुद्रित की जाती है।

यदि -v ध्वज तीन बार दिया जाता है, तो सुरक्षा सूचकांक और सेवा आईडी मुद्रित होती है।

यूबिक बीकन पैकेट के अपवाद के साथ, त्रुटि कोड को abort पैकेट के लिए मुद्रित किया जाता है (क्योंकि abort पैकेट Ubik प्रोटोकॉल के लिए हाँ वोट को इंगित करने के लिए उपयोग किया जाता है)।

ध्यान दें कि एएफएस अनुरोध बहुत बड़े हैं और स्नैपलेन बढ़ने तक कई तर्क मुद्रित नहीं किए जाएंगे । एएफएस यातायात देखने के लिए ` -256 'का उपयोग करने का प्रयास करें।

एएफएस उत्तर पैकेट आरपीसी ऑपरेशन की स्पष्ट रूप से पहचान नहीं करते हैं। इसके बजाए, tcpdump `` हालिया 'अनुरोधों का ट्रैक रखता है, और कॉल नंबर और सेवा आईडी का उपयोग करके उन्हें जवाबों से मेल खाता है। यदि कोई उत्तर संबंधित अनुरोध का बारीकी से पालन नहीं करता है, तो यह संभव नहीं हो सकता है।

केआईपी एप्पलटॉक (यूडीपी में डीडीपी)

यूडीपी डेटाग्राम में encapsulated Appletalk डीडीपी पैकेट डी-encapsulated और डीडीपी पैकेट के रूप में डंप किया गया है (यानी, सभी यूडीपी शीर्षलेख जानकारी छोड़ दिया गया है)। फ़ाइल /etc/atalk.names का उपयोग एप्पलटॉक नेट और नोड संख्याओं को नामों में अनुवाद करने के लिए किया जाता है। इस फाइल में लाइनों में फॉर्म है

संख्या का नाम 1.254 ईथर 16.1 icsd-net 1.254.110 ऐस

पहली दो पंक्तियां एप्पलटॉक नेटवर्क के नाम देती हैं। तीसरी पंक्ति किसी विशेष होस्ट का नाम देती है (मेजबान को नेट में तीसरे ऑक्टेट द्वारा नेट से अलग किया जाता है - नेट नंबर में दो ऑक्टेट्स होना चाहिए और होस्ट नंबर में तीन ऑक्टेट होना चाहिए ।) संख्या और नाम अलग होना चाहिए व्हाइटस्पेस (रिक्त स्थान या टैब) द्वारा। /etc/atalk.names फ़ाइल में रिक्त रेखाएं या टिप्पणी पंक्तियां हो सकती हैं ('#' से शुरू होने वाली रेखाएं)।

एप्पलटॉक पते फॉर्म में मुद्रित हैं:

net.host.port 144.1.209.2> icsd-net.112.220 office.2> icsd-net.112.220 jssmag.149.235> icsd-net.2

(यदि /etc/atalk.names मौजूद नहीं है या इसमें कुछ एप्लेटटाक होस्ट / नेट नंबर के लिए कोई प्रविष्टि नहीं है, तो पते संख्यात्मक रूप में मुद्रित होते हैं।) पहले उदाहरण में, नेट 144.1 पर एनबीपी (डीडीपी पोर्ट 2) नोड 20 9 नेट icsd नोड 112 के बंदरगाह 220 पर जो कुछ भी सुन रहा है उसे भेज रहा है। दूसरी पंक्ति स्रोत नोड के पूर्ण नाम को छोड़कर समान है (`office ')। तीसरी पंक्ति icsd-net एनबीपी पोर्ट पर प्रसारित करने के लिए नेट जेएसएसमैग नोड 14 9 पर पोर्ट 235 से एक प्रेषण है (ध्यान दें कि प्रसारण पता (255) किसी भी नाम के साथ नेट नाम से इंगित किया गया है - इस कारण से यह एक अच्छा विचार है /etc/atalk.names में नोड नाम और नेट नाम अलग रखने के लिए)।

एनबीपी (नाम बाध्यकारी प्रोटोकॉल) और एटीपी (एप्पलटॉक लेनदेन प्रोटोकॉल) पैकेट्स की उनकी सामग्री का अर्थ है। अन्य प्रोटोकॉल सिर्फ प्रोटोकॉल नाम डंप करते हैं (या यदि प्रोटोकॉल के लिए कोई नाम पंजीकृत नहीं है) और पैकेट आकार।

एनबीपी पैकेट को निम्नलिखित उदाहरणों की तरह स्वरूपित किया गया है:

icsd-net.112.220> jssmag.2: nbp-lkup 190: "=: लेजरवाइटर @ *" jssmag.209.2> icsd-net.112.220: nbp-answer 190: "RM1140: LaserWriter @ *" 250 techpit.2> icsd -नेट.112.220: एनबीपी-उत्तर 1 9 0: "टेकपिट: लेजरवाइटर @ *" 186

पहली पंक्ति नेट icsd होस्ट 112 द्वारा भेजे गए लेजर राइटर्स के लिए एक लुकअप अनुरोध है और नेट जेएसएसमैग पर प्रसारित है। लुकअप के लिए एनबीपी आईडी 1 9 0 है। दूसरी पंक्ति मेजबान jssmag.209 से इस अनुरोध के लिए एक जवाब दिखाती है (ध्यान दें कि इसमें एक ही आईडी है) कह रही है कि इसमें पोर्ट 250 पर पंजीकृत "आरएम 1140" नामक लेजरराइटर संसाधन है। तीसरा लाइन एक ही अनुरोध का एक और जवाब है कि मेजबान टेकपिट में पोर्ट 186 पर पंजीकृत लेजरराइटर "टेकपिट" है।

एटीपी पैकेट स्वरूपण निम्नलिखित उदाहरण द्वारा प्रदर्शित किया गया है:

jssmag.209.165> हेलीओस .132: एटीपी-रिक 12266 <0-7> 0xae030001 हेलीओस .132> जेएसएसएमएजी.20 9 .165: एटीपी-रेस 12266: 0 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी-रेस 12266: 1 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी-रेस 12266: 2 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी-रेस 12266: 3 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी- resp 122: 4 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी-रेस 12266: 5 (512) 0xae040000 helios.132> jssmag.209.165: एटीपी-रेस 12266: 6 (512) 0xae040000 helios.132> jssmag। 20 9 .165: एटीपी-रेस * 12266: 7 (512) 0xae040000 jssmag.209.165> हेलीओस .132: एटीपी-रेक 12266 <3,5> 0xae030001 हेलीओस .132> जेएसएसएमएजी.20 9 .165: एटीपी-रेस 12266: 3 (512) 0xae040000 हेलीओस .132> jssmag.209.165: एटीपी-रेस 12266: 5 (512) 0xae040000 jssmag.209.165> हेलीओस .132: एटीपी-रिला 12266 <0-7> 0xae030001 jssmag.209.133> हेलीओस .132: एटीपी-रिक * 12267 <0 -7> 0xae030002

Jssmag.209 8 पैकेट (`<0-7> ') का अनुरोध करके होस्ट हेलीओस के साथ लेनदेन आईडी 12266 शुरू करता है। लाइन के अंत में हेक्स नंबर अनुरोध में 'userdata' फ़ील्ड का मान है।

हेलिओस 8 512-बाइट पैकेट के साथ प्रतिक्रिया करता है। ट्रांजैक्शन आईडी के बाद 'अंक' लेनदेन में पैकेट अनुक्रम संख्या देता है और एटीपी हेडर को छोड़कर, पैकेट में संख्या पैकेट में डेटा की मात्रा होती है। पैकेट 7 पर `* 'इंगित करता है कि ईओएम बिट सेट किया गया था।

Jssmag.209 तब अनुरोध करता है कि पैकेट 3 और 5 को पुनः प्रेषित किया जाए। हेलिओस उन्हें भेजता है तो jssmag.209 लेनदेन जारी करता है। अंत में, jssmag.209 अगले अनुरोध को शुरू करता है। अनुरोध पर `* 'इंगित करता है कि एक्सओ (` बिल्कुल एक बार') सेट नहीं किया गया था।

आईपी ​​Fragmentation

Fragmented इंटरनेट डेटाग्राम के रूप में मुद्रित हैं

(खंड आईडी : आकार @ ऑफसेट +) (खंड आईडी : आकार @ ऑफ़सेट )

(पहला रूप इंगित करता है कि अधिक टुकड़े हैं। दूसरा इंगित करता है कि यह अंतिम टुकड़ा है।)

आईडी टुकड़ा आईडी है। आकार आईपी ​​हेडर को छोड़कर टुकड़ा आकार (बाइट्स में) है। मूल डेटाग्राम में ऑफ़सेट इस खंड का ऑफसेट (बाइट्स में) है।

टुकड़ा जानकारी प्रत्येक टुकड़े के लिए उत्पादन है। पहले खंड में उच्च स्तरीय प्रोटोकॉल हेडर होता है और प्रोटोकॉल जानकारी के बाद खंड जानकारी मुद्रित होती है। पहले के बाद के टुकड़े में उच्च स्तर का प्रोटोकॉल हेडर नहीं होता है और स्रोत और गंतव्य पते के बाद खंड जानकारी मुद्रित होती है। उदाहरण के लिए, यहां एक सीएसएनईटी कनेक्शन पर arizona.edu से lbl-rtsg.arpa से ftp का हिस्सा है जो 576 बाइट डेटाग्राम को संभालने के लिए प्रतीत नहीं होता है:

arizona.ftp-data> rtsg.1170:। 1024: 1332 (308) एके 1 जीत 4096 (खंड 595 ए: 328 @ 0 +) एरिजोना> आरटीएसजी: (खंड 595 ए: 204 @ 328) rtsg.1170> arizona.ftp-data:। एके 1536 जीत 2560

यहां ध्यान देने योग्य कुछ बातें हैं: सबसे पहले, दूसरी पंक्ति में पते में पोर्ट नंबर शामिल नहीं हैं। ऐसा इसलिए है क्योंकि टीसीपी प्रोटोकॉल की जानकारी पहले खंड में है और हमें पता नहीं है कि जब हम बाद के टुकड़े प्रिंट करते हैं तो पोर्ट या अनुक्रम संख्या क्या होती है। दूसरा, पहली पंक्ति में टीसीपी अनुक्रम जानकारी मुद्रित की जाती है जैसे उपयोगकर्ता डेटा के 308 बाइट थे, वास्तव में, 512 बाइट्स (पहले खंड में 308 और दूसरे में 204) होते हैं। यदि आप अनुक्रम स्थान में छेद की तलाश में हैं या पैकेट के साथ एक्स से मिलान करने की कोशिश कर रहे हैं, तो यह आपको मूर्ख बना सकता है।

आईपी ​​के साथ एक पैकेट खंड खंड नहीं है एक पीछे (डीएफ) के साथ चिह्नित है।

मुहर

डिफ़ॉल्ट रूप से, सभी आउटपुट लाइनें टाइमस्टैम्प से पहले होती हैं। टाइमस्टैम्प फॉर्म में वर्तमान घड़ी का समय है

hh: mm: ss.frac

और कर्नेल की घड़ी के रूप में सटीक है। टाइमस्टैम्प उस समय को दर्शाता है जब कर्नेल ने पहली बार पैकेट देखा था। ईथरनेट इंटरफ़ेस तार से पैकेट को हटाते समय और जब कर्नेल ने 'नया पैकेट' बाधित किया, तब बीच अंतराल के लिए कोई प्रयास नहीं किया गया।

यह भी देखें

यातायात (1 सी), नाइट (4 पी), बीपीएफ (4), पैक (3)

महत्वपूर्ण: यह देखने के लिए मैन कमांड ( % man ) का उपयोग करें कि आपके विशेष कंप्यूटर पर कमांड का उपयोग कैसे किया जाता है।