Skip to main content

Tcpdump: أمثلة وخيارات والمزيد

8 حيل وأفكار عبقريه لـ قيادة السيارة كالمحترفين خلال ايام | قياده المرأه (قد 2025)

8 حيل وأفكار عبقريه لـ قيادة السيارة كالمحترفين خلال ايام | قياده المرأه (قد 2025)
Anonim

Tcpdump هو أمر يستخدم في أنظمة تشغيل Linux المختلفة (OS) التي تجمع حزم TCP / IP التي تمر عبر محول الشبكة. مثل tcpdump أداة تشبه حزمة ، لا يمكن فقط تحليل حركة مرور الشبكة ولكن أيضا حفظه في ملف.

بخلاف بعض الأوامر التي يوفرها نظام التشغيل بشكل افتراضي ، قد تجد أنه لا يمكنك استخدام tcpdump لأنه غير مثبت. لتثبيت tcpdump ، قم بتنفيذ apt-get install تشبدومب أو yum تثبيت tcpdump، اعتمادا على نظام التشغيل الخاص بك.

كيف يعمل Tcpdump

يطبع Tcpdump رؤوس الحزم على واجهة شبكة تطابق Boolean التعبير . ويمكن أيضا أن تدار مع-w إشارة ، مما يؤدي إلى حفظ بيانات الحزمة إلى ملف لتحليلها لاحقًا ، و / أو باستخدام-r إشارة ، مما يؤدي إلى قراءتها من ملف حزمة محفوظة بدلاً من قراءة الحزم من واجهة شبكة. في جميع الحالات ، فقط الحزم التي تطابق التعبير سيتم معالجتها بواسطة تشبدومب .

تشبدومب سوف ، إذا لم يتم تشغيل مع-c ، استمر في التقاط الحزم حتى يتم مقاطعتها بإشارة SIGINT (يتم إنشاؤها ، على سبيل المثال ، بكتابة حرف المقاطعة الخاص بك ، عادة السيطرة + C) أو إشارة SIGTERM (عادة ما يتم إنشاؤها باستخدامقتل(1) قيادة) ؛ إذا ركض مع-c علم ، فإنه سيتم التقاط الحزم حتى يتم مقاطعة من قبل إشارة SIGINT أو SIGTERM أو تمت معالجة العدد المحدد من الحزم.

يتم شرح رموز التبديل المذكورة أعلاه بالتفصيل لاحقاً في هذه المقالة.

متى تشبدومب تنتهي من التقاط الحزم ، وسوف يبلغ عن تهم:

  • الحزم "المستلمة حسب الفلتر".
    • يعتمد معنى هذا على نظام التشغيل الذي تعمل عليه تشبدومب ، وربما على طريقة تهيئة نظام التشغيل. إذا تم تحديد عامل تصفية على سطر الأوامر ، فستقوم في بعض أنظمة التشغيل بحساب الحزم بغض النظر عما إذا تمت مطابقتها مع تعبير عامل التصفية ، وفي حالات أخرى يتم احتساب الحزم التي تم مطابقتها مع تعبير عامل التصفية فقط ومعالجتها من قبل تشبدومب.
  • الحزم "انخفض بنواة".
    • هذا هو عدد الحزم التي تم إسقاطها ، بسبب نقص مساحة التخزين المؤقت ، من خلال آلية التقاط الحزمة في نظام التشغيل الذي تشبدومب يعمل ، إذا كان نظام التشغيل تقارير تلك المعلومات إلى التطبيقات. إذا لم يكن الأمر كذلك ، فسيتم الإبلاغ عنها ك 0.

على الأنظمة الأساسية التي تدعم إشارة SIGINFO ، مثل معظم BSDs (توزيعات برامج Berkeley) ، ستقوم بالإبلاغ عن هذه التهم عندما تتلقى إشارة SIGINFO (يتم إنشاؤها ، على سبيل المثال ، بكتابة الحرف "status" الخاص بك ، عادة السيطرة + T) وستستمر في التقاط الحزم.

توافق Tcpdump

قد تتطلب قراءة الحزم من واجهة شبكة مع الأمر tcpdump امتلاكك لامتيازات خاصة ( قراءة ملف الحزمة المحفوظة لا يتطلب مثل هذه الامتيازات):

  • SunOS 3.x أو 4.x مع NIT أو BPF: يجب أن يكون لديك حق الوصول للقراءة / ديف / أحمق أو ديف / BPF * .
  • سولاريس مع DLPI: يجب أن يكون لديك حق الوصول للقراءة / الكتابة إلى جهاز الشبكة الزائفة ، مثل / ديف / جنيه . على الأقل بعض إصدارات Solaris ، هذا لا يكفي للسماح تشبدومب لالتقاط في وضع مختلط. على تلك الإصدارات من Solaris ، يجب أن تكون الجذر ، أو تشبدومب يجب تثبيت setuid إلى الجذر ، من أجل التقاط في الوضع مختلط. لاحظ أنه على العديد من الواجهات (ربما كلها) ، إذا لم تقم بالتقاط في الوضع المختلط ، فلن ترى أي رزم صادرة ، لذا قد لا يكون الالتقاط الذي لم يتم في الوضع المختلط مفيدًا للغاية.
  • HP-UX مع DLPI: يجب أن تكون الجذر أو تشبدومب يجب تثبيت setuid إلى الجذر.
  • IRIX مع snoop: يجب أن تكون الجذر أو تشبدومب يجب تثبيت setuid إلى الجذر.
  • لينكس: يجب أن تكون الجذر أو تشبدومب يجب تثبيت setuid إلى الجذر.
  • Ultrix و Digital UNIX / Tru64 UNIX: أي مستخدم قد التقاط حركة مرور الشبكة مع تشبدومب . ومع ذلك ، لا يمكن لأي مستخدم (ولا حتى المستخدم الفائق) الالتقاط في الوضع المختلط على الواجهة ما لم يقم المستخدم المتميز بتمكين تشغيل الوضع المختلط على هذه الواجهة باستخدام pfconfig (8) ، ولا يمكن لأي مستخدم (ولا حتى المستخدم الفائق) التقاط حركة مرور أحاديّة يتلقاها أو يرسلها الجهاز على واجهة ما إلا إذا قام المستخدم المتميز بتمكين عملية النسخ الكلّي على هذه الواجهة باستخدام pfconfig ، وبالتالي مفيد قد يتطلب التقاط الحزمة على واجهة إما تمكين الوضع المختلط أو عملية النسخ - الكل - الوضع ، أو كلا أساليب التشغيل ، على هذه الواجهة.
  • BSD: يجب أن يكون لديك حق الوصول للقراءة / ديف / BPF * .

بناء جملة الأوامر Tcpdump

مثل جميع أوامر الكمبيوتر ، يعمل الأمر tcpdump بشكل صحيح فقط إذا كان بناء الجملة صحيحًا:

تشبدومب -adeflnNOpqRStuvxX -c عد

-C حجم الملف -F ملف

-أنا جهة تعامل -m وحدة -r ملف

-s snaplen -T نوع -U المستعمل -w ملف

-E البرودة؛ الصقيع: سر التعبير

خيارات الأوامر Tcpdump

هذه هي جميع الخيارات التي يمكنك استخدامها مع الأمر tcpdump:

  • : محاولة تحويل عناوين الشبكة والبث إلى أسماء.
  • -c: خروج بعد تلقي عد الحزم.
  • -C: قبل كتابة حزمة raw إلى savefile ، تحقق مما إذا كان الملف أكبر من الوقت الحالي حجم الملف وإذا كان الأمر كذلك ، فقم بإغلاق ملف savefile الحالي وفتح حساب جديد.سوف Savefiles بعد savefile الأول يكون الاسم المحدد مع-w علمًا برقم بعده ، بدءًا من 2 ومتابعة للأعلى. وحدات من حجم الملف ملايين بايت (1،000،000 بايت وليس 1،048،576 بايت).
  • : تفريغ رمز حزمة المطابقة المترجمة في نموذج مقروء بشري إلى الإخراج القياسي وإيقاف.
  • -dD: تفريغ رمز مطابقة الحزمة كـC جزء البرنامج.
  • -ddd: تفريغ رمز مطابقة الحزمة كأرقام عشرية (مسبوقة مع عدد).
  • -e: طباعة رأس مستوى الارتباط على كل سطر تفريغ.
  • -E: استعمال البرودة؛ الصقيع: سر لفك تشفير حزم IPSec ESP. الخوارزميات قد تكوندي سي بي سي, 3DES-CBC, السمكة المنتفخة-CBC, RC3-CBC, cast128-CBCأولا شيء. الافتراضي هودي سي بي سي. القدرة على فك حزم الحزم موجودة فقط إذا تشبدومب تم تجميعها مع التشفير تمكين. سر نص اسكي للمفتاح السري ESP. لا يمكننا اتخاذ قيمة ثنائية عشوائية في هذه اللحظة. يفترض الخيار RFC2406 ESP ، وليس RFC1827 ESP. الخيار هو فقط لأغراض التصحيح ، واستخدام هذا الخيار مع مفتاح "سر" حقا هو بالإحباط. من خلال تقديم مفتاح IPsec السري على سطر الأوامر ، فإنك تجعله مرئيًا للآخرين ، عبر ملاحظة (1) ومناسبات أخرى.
  • -F: طباعة عناوين الإنترنت 'الأجنبية' عددياً بدلاً من الرمز (هذا الخيار مخصص للتغلب على أضرار خطيرة في الدماغ في خادم yp yp - عادةً ما يتم تعليقه إلى الأبد لأرقام الإنترنت غير المحلية).
  • -F: استعمال ملف كمدخل لتعبير مرشح. يتم تجاهل تعبير إضافي معطى في سطر الأوامر.
  • -أنا: الاستماع على جهة تعامل . إذا لم يكن محددًا ، تشبدومب البحث في قائمة واجهة النظام لأدنى واجهة رقمية مرقمة (باستثناء الاسترجاع). يتم كسر الروابط عن طريق اختيار أقرب مباراة. على أنظمة Linux مع 2.2 أو أحدث الحبيبات ، و جهة تعامل يمكن استخدام وسيطة "أي" لالتقاط الحزم من جميع الواجهات. لاحظ أن الالتقاط على "أي" الجهاز لن يتم في الوضع المختلط.
  • -l: جعل خط stdout مخزّنة. مفيد إذا كنت ترغب في رؤية البيانات أثناء التقاطها. على سبيل المثال ، "tcpdump -l | tee dat '' أو" tcpdump -l> dat & tail -f dat ".
  • -m: تحميل تعريفات الوحدة النمطية SMI MIB من الملف وحدة . يمكن استخدام هذا الخيار عدة مرات لتحميل عدة وحدات MIB إلى تشبدومب .
  • -n: لا تحويل عناوين المضيف إلى أسماء. يمكن استخدام هذا لتجنب عمليات البحث عن DNS.
  • -NN: لا تقم بتحويل البروتوكول وأرقام المنفذ إلخ إلى أسماء سواء.
  • -N: لا تتم طباعة تأهيل اسم النطاق لأسماء المضيفين. على سبيل المثال ، إذا كنت تعطي هذا العلم ، ثم تشبدومب ستطبع "nic" بدلاً من "nic.ddn.mil".
  • -O: لا تقم بتشغيل للمحسن رمز المطابقة الحزم. هذا مفيد فقط إذا كنت تشك في خطأ في المحسن.
  • -p: لا وضع واجهة في وضع مختلط. لاحظ أن الواجهة قد تكون في وضع مختلط لسبب آخر. وبالتالي ، لا يمكن استخدام "-p" كاختصار لـ "مضيف الأثير {local-hw-addr} أو بث ether".
  • -q: إخراج سريع (هادئ). طباعة معلومات بروتوكول أقل حتى خطوط الإخراج أقصر.
  • -R: افترض أن حزم ESP / AH تستند إلى المواصفات القديمة: RFC1825 إلى RFC1829. إذا تم تحديدها ، تشبدومب لن تطبع مجال منع اللعب. نظرًا لعدم وجود حقل إصدار بروتوكول في مواصفات ESP / AH ، تشبدومب لا يمكن استنتاج إصدار بروتوكول ESP / AH.
  • -r: قراءة الحزم من ملف (التي تم إنشاؤها باستخدام الخيار -w). يتم استخدام الإدخال القياسي إذا ملف هو "-''.
  • -S: طباعة الأرقام التسلسلية المطلقة ، بدلاً من النسبي ، TCP.
  • -s: Snarf snaplen بايت من البيانات من كل حزمة وليس الافتراضي من 68 ؛ مع NIT من SunOS ، الحد الأدنى هو 96 بالفعل. ثمانية وستون بايت كافية لـ IP و ICMP و TCP و UDP ولكن قد تقوم باقتطاع معلومات البروتوكول من ملقم الاسم وحزم NFS (انظر أدناه). تتم الإشارة إلى الحزم المقتطعة بسبب لقطة محدودة في الإخراج باستخدام "| بروتو ''، أين بروتو هو اسم مستوى البروتوكول الذي يحدث فيه الاقتطاع. لاحظ أن أخذ لقطات أكبر يزيد من مقدار الوقت المستغرق لمعالجة الحزم ، ويقلل بشكل فعال من مقدار تخزين الحزمة. قد يتسبب هذا في فقدان الحزم. يجب أن تحد snaplen لأصغر رقم يمكنه التقاط معلومات البروتوكول التي تهتم بها snaplen إلى 0 يعني استخدام الطول المطلوب لالتقاط الحزم الكاملة.
  • -T: فرض الحزم المحددة بواسطة " التعبير "ليتم تفسيرها المحددة نوع . الأنواع المعروفة حاليا هيcnfp (بروتوكول Cisco NetFlow) ،جنة الحماية من الإشعاع (إجراء اتصال عن بعد)،RTP (بروتوكول التطبيقات في الوقت الحقيقي) ،RTCP (بروتوكول التحكم في التطبيقات في الوقت الحقيقي) ،تجميعيه (بروتوكول إدارة الشبكات البسيطة)،برميل (أداة الصوت المرئي) ، والبنك الدولي (توزيع لوحة بيضاء).
  • -t: لا طباعة طابع زمني على كل سطر تفريغ.
  • -tt: طباعة طابع زمني غير منسق على كل سطر تفريغ.
  • -U: يسقط امتيازات الجذر ويغير معرف المستخدم ل المستعمل ومعرف المجموعة إلى المجموعة الأساسية من المستعمل .
  • ملحوظة: يسقط Red Hat Linux تلقائيًا الامتيازات للمستخدم "pcap" إذا لم يتم تحديد أي شيء آخر.
  • -ttt: طباعة دلتا (بالميكروثانية) بين السطر الحالي والسابق على كل سطر تفريغ.
  • -tttt: طباعة طابع زمني في التنسيق الافتراضي تابع حسب التاريخ على كل سطر تفريغ.
  • -u: طباعة مقابض NFS undecoded.
  • -الخامس: (أكثر قليلا) إخراج مطول. على سبيل المثال ، تتم طباعة وقت العيش وتحديد الهوية والطول الكلي والخيارات في حزمة IP. كما يتيح فحوصات تكامل حزم إضافية مثل التحقق من المجموع الاختباري لرأسية IP و ICMP.
  • -vv: حتى أكثر مطول الإخراج. على سبيل المثال ، تتم طباعة حقول إضافية من حزم الرد NFS و يتم فك ترميز الحزم SMB بشكل كامل.
  • -vvv: حتى أكثر مطول الإخراج. على سبيل المثال ، التلنتSBSE تتم طباعة الخيارات بالكامل. مع -X تتم طباعة خيارات telnet في ست عشري أيضًا.
  • -w: اكتب الحزم الخام إلى ملف بدلاً من تحليلها وطباعتها. يمكن أن تتم طباعتها لاحقًا باستخدام الخيار -r. يتم استخدام الإخراج القياسي إذا ملف هو "-''.
  • -x: طباعة كل حزمة (ناقص رأس مستوى الارتباط الخاص بها) في ست عشري. أصغر من كامل الحزمة أو snaplen ستتم طباعة بايت. لاحظ أن هذا هو حزمة طبقة الارتباط بالكامل ، لذلك بالنسبة لطبقات الوصلة التي الوسادة (على سبيل المثال ، Ethernet) ، ستتم طباعة وحدات البايت الخاصة بالحشو أيضًا عندما تكون حزمة الطبقة الأعلى أقصر من الحشو المطلوب.
  • -X: عند طباعة عرافة ، وطباعة ascii أيضا. هكذا لو-x يتم أيضًا تعيين الحزمة في hex / asxii. هذا مفيد جدا لتحليل البروتوكولات الجديدة. حتى و إن-x لا يتم أيضًا تعيين ، قد تتم طباعة بعض أجزاء بعض الحزم في hex / ascii.
  • التعبير : تحديد الحزم التي سيتم التخلص منها. إذا لا التعبير يتم إعطاء ، سيتم التخلص من جميع الحزم على الشبكة. خلاف ذلك ، فقط الحزم التي التعبير هو "صحيح" سيتم التخلص. ال التعبير يتكون من واحد أو أكثر الأوليات. تتألف الأوليات عادة من هوية شخصية (اسم أو رقم) يسبقه مؤهل واحد أو أكثر. هناك ثلاثة أنواع مختلفة من المؤهلات:
  • نوع : المؤهلين يقولون ما هو نوع الشيء الذي يشير إليه اسم أو رقم التعريف. الأنواع الممكنة هيمضيف, شبكةوميناء- على سبيل المثال ، "host foo" و "net 128.3" و "port 20". إذا لم يكن هناك نوع مؤهل ،مضيف يفترض.
  • دير : يحدد المؤهلون اتجاه نقل معين إلى و / أو من هوية شخصية . الاتجاهات الممكنة هيSRC, التوقيت الصيفي, src أو dst وsrc و التوقيت الصيفي (على سبيل المثال ، 'src foo' أو 'dst net 128.3' أو 'src أو dst port ftp-data'). إذا لم يكن هناك مؤهل دير ،src أو dst يفترض. لطبقات الارتباط "الخالية" (أي ، البروتوكولات من نقطة إلى نقطة مثل الانزلاق) واردة و الصادرة يمكن استخدام المؤهلات لتحديد الاتجاه المطلوب.
  • بروتو : تقييد المؤهلين المباراة إلى بروتوكول معين. البروتوكولات المحتملة هي: الأثير, الألياف الضوئية, آر, الملكية الفكرية, IP6, تأهيل الزراعة, RARP, شبكة معلوماتية, برنامج التعاون الفنيوUDP- على سبيل المثال ، 'ether src foo'، 'arp net 128.3'، 'tcp port 21'. إذا لم يكن هناك مؤهل أولي ، فستفترض جميع البروتوكولات المتوافقة مع النوع. على سبيل المثال ، 'src foo' تعني '(ip أو arp أو rarp) src foo' (باستثناء أن الجملة ليست بنية قانونية) ، 'net bar' تعني (net أو arp or rarp) net bar 'و' port 53 ' يعني '(tcp أو udp) المنفذ 53'.
    • 'fddi' هو في الواقع اسم مستعار لـ 'ether'؛ يعاملها المحلل اللغوي بشكل متماثل على أنه يعني "مستوى ارتباط البيانات المستخدم على واجهة الشبكة المحددة." تحتوي رؤوس FDDI على عناوين مصدر ووجهة Ethernet ، وغالبًا ما تحتوي على أنواع حزم تشبه الإيثرنت ، لذا يمكنك التصفية على حقول FDDI هذه فقط كما في حقول Ethernet المشابهة ، تحتوي رؤوس FDDI أيضًا على حقول أخرى ، ولكن لا يمكنك تسميةها بشكل صريح في تعبير عامل تصفية.
    • وبالمثل ، فإن 'tr' هو اسم مستعار لـ 'ether' ؛ تنطبق أيضًا عبارات الفقرة السابقة حول رؤوس FDDI على رؤوس Token Ring.

بالإضافة إلى ما سبق ، هناك بعض الكلمات الرئيسية "البدائية" الخاصة التي لا تتبع النموذج:بوابة, بث, أقل, أكبرو علم الحساب التعبيرات. كل هذه موضحة أدناه.

يتم إنشاء تعبيرات تصفية أكثر تعقيدًا باستخدام الكلماتو, أووليس للجمع بين الأوليات - على سبيل المثال ، "foo المضيف وليس المنفذ ftp وليس المنفذ ftp-data". لحفظ الكتابة ، يمكن حذف قوائم المؤهلات المماثلة (على سبيل المثال ، "tcp dst port ftp أو ftp-data or domain" هي نفسها تمامًا مثل "tcp dst port ftp أو tpp dst port ftp-data أو tpp dst domain domain".)

هذه هي الأوليات المسموح بها مع الأمر tcpdump:

  • مضيف dst مضيف
    • صواب إذا كان الحقل الوجهة IPv4 / v6 من الحزمة مضيف ، والتي قد تكون إما عنوانًا أو اسمًا.
  • استضافة src مضيف
    • صحيح إذا كان حقل مصدر IPv4 / v6 الخاص بالحزمة هو مضيف .
  • مضيف مضيف
    • صحيح إذا كان مصدر IPv4 / v6 أو وجهة الحزمة مضيف . يمكن إرفاق أي من تعبيرات المضيف أعلاه بكلمات رئيسية ،الملكية الفكرية, تأهيل الزراعة, RARPأوIP6كما في مضيف الملكية الفكرية مضيف (وهو ما يعادل الأثير بروتو الملكية الفكرية والمضيف مضيف).
    • إذا مضيف هو اسم يحتوي على عناوين IP متعددة ، وسيتم التحقق من كل عنوان لمطابقة.
  • الأثير DST ehost
    • صحيح إذا كان عنوان الوجهة إيثرنت ehost . Ehost قد يكون إما اسم من / etc / ethers أو رقم (انظر الاسترات (3N) للتنسيق الرقمي).
  • الأثير src ehost
    • صحيح إذا كان عنوان مصدر Ethernet ehost .
  • المضيف الأثير ehost
    • صحيح إذا كان عنوان Ethernet أو عنوان الوجهة ehost .
  • بوابة مضيف
    • صحيح إذا كانت الحزمة المستخدمة مضيف كبوابة (بمعنى أن عنوان Ethernet أو عنوان الوجهة كان مضيف ولكن لم يكن مصدر IP ولا وجهة IP مضيف ).
    • مضيف يجب أن يكون اسمًا ويجب أن يتم العثور عليه من خلال آليات حل عنوان المضيف للمفتاح إلى عنوان IP الخاص بالآلة (اسم مضيف الملف ، DNS ، NIS ، إلخ.) وآلية حل عنوان-اسم-إلى-إيثرنت عنوان الجهاز (/ etc / ethers ، وما إلى ذلك).
    • تعبير مكافئ هو المضيف الأثير ehost وتستضيف الآن مضيف ، والتي يمكن استخدامها مع أسماء أو أرقام ل المضيف / ehost .) لا يعمل بناء الجملة هذا في تكوين تمكين IPv6 في هذه اللحظة.
  • صافي صافي شبكة
    • صحيح إذا كان عنوان IPv4 / v6 الخاص بالحزمة يحتوي على رقم شبكة اتصال شبكة . شبكة قد يكون إما اسمًا من / etc / networks أو رقم شبكة (انظر شبكات (4) للتفاصيل).
  • شبكة src شبكة
    • صحيح إذا كان عنوان IPv4 / v6 المصدر للحزمة يحتوي على رقم شبكة اتصال شبكة .
  • شبكة شبكة
    • صحيح إذا كان عنوان IPv4 / v6 المصدر أو عنوان الحزمة له رقم شبكة اتصال شبكة .
  • شبكة شبكة قناع قناع الشبكة
    • صحيح إذا كان عنوان IP مطابقًا شبكة مع محددة قناع الشبكة . قد تكون مؤهلة معSRC أوالتوقيت الصيفي. لاحظ أن بناء الجملة هذا غير صالح لـ IPv6 شبكة .
  • شبكة شبكة / ليون
    • صحيح إذا تطابق عنوان IPv4 / v6 شبكة مع قناع الشبكة ليون بت واسعة. قد تكون مؤهلة معSRC أوالتوقيت الصيفي.
  • منفذ dst ميناء
    • صحيح إذا كانت الحزمة ip / tcp أو ip / udp أو ip6 / tcp أو ip6 / udp ولها قيمة منفذ الوجهة ميناء . ال ميناء يمكن أن يكون رقمًا أو اسمًا مستخدمًا في / etc / services (راجع برنامج التعاون الفني (4P) و UDP (4P)). إذا تم استخدام اسم ، يتم فحص كل من رقم المنفذ والبروتوكول. إذا تم استخدام رقم أو اسم ملتبس ، فسيتم تحديد رقم المنفذ فقط (على سبيل المثال ،منفذ dst 513 ستقوم بطباعة حركة مرور tcp / login و udp / الذي يقوم بحركة المرورمجال الميناء ستقوم بطباعة كل من tcp / domain و udp / domain traffic).
  • ميناء src ميناء
    • صحيح إذا كانت الحزمة لديها قيمة منفذ المصدر ميناء .
  • ميناء ميناء
    • صحيح إذا كان منفذ المصدر أو الوجهة من الحزمة ميناء . يمكن إرفاق أي من تعبيرات المنفذ أعلاه مع الكلمات الأساسية ،برنامج التعاون الفني أوUDPكما في منفذ tcp src ميناء ، الذي يطابق فقط حزم tcp التي يكون منفذ مصدرها ميناء .
  • أقل الطول
    • صحيح إذا كان طول الحزمة أقل من أو يساوي الطول . هذا يعادل لين <= الطول .
  • أكبر الطول
    • صحيح إذا كان طول الحزمة أكبر من أو يساوي الطول . هذا يعادل لين> الطول .
  • ip بروتو بروتوكول
    • صحيح إذا كانت الحزمة هي حزمة IP (انظر الملكية الفكرية (4P)) لنوع البروتوكول بروتوكول . بروتوكول يمكن أن يكون رقمًا أو واحدًا من الأسماء ICMP , icmp6 , IGMP , IGRP , PIM , آه , إسبانيا , VRRP , UDP أو برنامج التعاون الفني . لاحظ أن المعرفات برنامج التعاون الفني , UDP و ICMP هي أيضًا كلمات أساسية ويجب أن يتم تخطيها عبر الشرطة المائلة () ، وهي في C-shell. لاحظ أن هذا البدائي لا يطارد سلسلة رأس البروتوكول.
  • ip6 بروتو بروتوكول
    • صحيح إذا كانت الحزمة عبارة عن حزمة IPv6 لنوع البروتوكول بروتوكول . لاحظ أن هذا البدائي لا يطارد سلسلة رأس البروتوكول.
  • ip6 protochain بروتوكول
    • صحيح إذا كانت الحزمة هي حزمة IPv6 ، وتحتوي على رأس بروتوكول بنوع بروتوكول في سلسلة رأس البروتوكول الخاص به. فمثلا، ipv6 protochain 6 تطابق أي حزمة IPv6 مع رأس بروتوكول TCP في سلسلة رأس البروتوكول. قد تحتوي الحزمة ، على سبيل المثال ، رأس المصادقة ، رأس التوجيه ، أو رأس خيار القفزة حسب المفتاح ، بين رأس IPv6 ورأس TCP. يعد رمز BPF المنبعث من هذه البدائية معقدًا ولا يمكن تحسينه من خلال رمز مُحسِّن BPF في تشبدومب ، لذلك يمكن أن يكون هذا بطيئًا نوعًا ما.
  • ip protochain بروتوكول
    • أي ما يعادلip6 protochain بروتوكول ، لكن هذا لـ IPv4.
  • بث الأثير
    • صحيح إذا كانت الحزمة حزمة بث Ethernet. ال الأثير الكلمة اختيارية.
  • بث IP
    • صحيح إذا كانت الحزمة حزمة بث IP. يقوم بالتحقق من كل اصطلاحات كل الأصفار وكلها البث ، ويبحث عن قناع الشبكة الفرعية المحلية.
  • إيثر الإرسال المتعدد
    • صحيح إذا كانت الحزمة حزمة الإرسال المتعدد Ethernet. ال الأثير الكلمة اختيارية. هذا اختزال لـ "الأثير 0 & 1! = 0'.
  • ip التراسل
    • صحيح إذا كانت الحزمة حزمة الإرسال المتعدد IP.
  • ip6 الإرسال المتعدد
    • صحيح إذا كانت الحزمة حزمة البث المتعدد IPv6.
  • الأثير بروتو بروتوكول
    • صحيح إذا كانت الحزمة من نوع الأثير بروتوكول . بروتوكول يمكن أن يكون رقمًا أو واحدًا من الأسماء الملكية الفكرية , IP6 , تأهيل الزراعة , RARP , حديث , الرابطة , شبكة معلوماتية , هيئة السلع التموينية , اللات , mopdl , moprc , ايزو , سان تومي وبرينسيبي , IPX أو NETBEUI . لاحظ أن هذه المعرفات هي أيضًا كلمات أساسية ويجب أن يتم تجاوزها عبر الشرطة المائلة للخلف ().
    • في حالة FDDI (على سبيل المثال ، "بروتوكول fddi ARP') و Token Ring (على سبيل المثال ،'tr بروتوكول ARP'' ، بالنسبة لمعظم هذه البروتوكولات ، فإن تعريف البروتوكول يأتي من عنوان 802.2 Logical Link Control (LLC) ، الذي يتم عادةً وضع الطبقات أعلى رأس FDDI أو Token Ring.
    • عند التصفية لمعظم معرفات البروتوكول على FDDI أو Token Ring ، تشبدومب يتحقق فقط من حقل معرف البروتوكول لرأس LLC في ما يسمى بتنسيق SNAP بمعرّف وحدة تنظيمية (OUI) من 0x000000 ، من أجل Ethernet المغلف ؛ لا يتحقق ما إذا كانت الحزمة بتنسيق SNAP مع OUI من 0x000000.
    • الاستثناءات هي ايزو ، والتي يتحقق لها DSAP (نقطة وصول الخدمة الوجهة) وحقول SSAP (مصدر خدمة نقطة الوصول) لرأس LLC ، سان تومي وبرينسيبي و NETBEUI حيث يتحقق من DSAP رأس LLC و حديث حيث يتحقق من حزمة تنسيق SNAP مع OUI من 0x080007 و appletalk etype.
    • في حالة Ethernet ، تشبدومب يتحقق حقل نوع الإيثرنت لمعظم هذه البروتوكولات ؛ الاستثناءات هي ايزو , العصارة و NETBEUI الذي يتحقق من أجل إطار 802.3 ثم يتحقق رأس LLC كما يفعل لـ FDDI و Token Ring؛ حديث حيث يقوم بالتحقق من كل من appletalk etype في إطار Ethernet ولحزمة تنسيق SNAP كما يفعل لـ FDDI و Token Ring؛ الرابطة حيث يتحقق من etletnet ARP إما في إطار Ethernet أو إطار SNAP 802.2 مع OUI من 0x000000؛ و IPX حيث يتحقق من IPX etype في إطار Ethernet و IPX DSAP في رأس LLC و 802.3 مع عدم وجود رأس تغليف LLC لـ IPX و IPX etype في إطار SNAP.
  • decnet src مضيف
    • صحيح إذا كان عنوان مصدر DECNET مضيف والذي قد يكون عنوانًا للنموذج "10.123" أو اسم مضيف DECNET. يتوفر دعم اسم مضيف DECNET فقط على أنظمة Ultrix التي تم تكوينها لتشغيل DECNET.
  • decnet dst مضيف
    • صحيح إذا كان عنوان الوجهة DECNET مضيف .
  • المضيف decnet مضيف
    • صحيح إذا كان عنوان المصدر أو الوجهة DECNET مضيف .
  • الملكية الفكرية, IP6, تأهيل الزراعة, RARP, حديث, الرابطة, شبكة معلوماتية, ايزو, سان تومي وبرينسيبي, IPX, NETBEUI
    • الاختصارات ل الأثير بروتو ص أين ص هو واحد من البروتوكولات المذكورة أعلاه.
  • اللات, moprc, mopdl
    • الاختصارات ل الأثير بروتو ص أين ص هو واحد من البروتوكولات المذكورة أعلاه. لاحظ أن تشبدومب لا تعرف حاليا كيفية تحليل هذه البروتوكولات.
  • شبكة محلية ظاهرية vlan_id
    • صحيح إذا كانت الحزمة عبارة عن حزمة IEEE 802.1Q VLAN. إذا vlan_id يتم تحديده ، فقط صحيح إذا كانت الحزمة محددة vlan_id . لاحظ أن الأولشبكة محلية ظاهرية الكلمة الرئيسية واجهت في التعبير يغير فك التشفير لباقي التعبير على افتراض أن الحزمة عبارة عن حزمة VLAN.
  • برنامج التعاون الفني, UDP, ICMP
    • الاختصارات ل ip بروتو ص أو IP6 بروتو ص أين ص هو واحد من البروتوكولات المذكورة أعلاه.
  • ايزو بروتو بروتوكول
    • صحيح إذا كانت الحزمة هي حزمة OSI من نوع البروتوكول بروتوكول . بروتوكول يمكن أن يكون رقمًا أو واحدًا من الأسماء CLNP , ESIS أو مشاكل .
  • CLNP, ESIS, مشاكل
    • الاختصارات ل ايزو بروتو ص أين ص هو واحد من البروتوكولات المذكورة أعلاه. لاحظ أن تشبدومب يقوم بعمل غير مكتمل من تحليل هذه البروتوكولات.
  • expr relop expr
    • صحيح إذا استمرت العلاقة ، أين relop هي واحدة من> ، <،> = ، <= ، = ،! = ، و EXPR هو عبارة عن تعبير حسابي يتألف من ثوابت صحيحة (معبر عنها في بناء الجملة C) ، والمشغلين الثنائيين العاديين + ، - ، * ، / ، & ، | ، عامل طول ، وموصلات خاصة لحزمة البيانات. للوصول إلى البيانات داخل الحزمة ، استخدم بناء الجملة التالي: proto expr: size .

بروتو هو واحد منالأثير, الألياف الضوئية, آر, تعادل القوة الشرائية, انزلاق, حلقة الوصل, الملكية الفكرية, تأهيل الزراعة, RARP, برنامج التعاون الفني, UDP, ICMPأو IP6ويشير إلى طبقة بروتوكول لتشغيل الفهرس (الأثير, الألياف الضوئية, آر, تعادل القوة الشرائية, انزلاقوحلقة الوصل كل الرجوع إلى طبقة الارتباط). لاحظ أن برنامج التعاون الفني ، udp ، وأنواع بروتوكول الطبقة العليا الأخرى تنطبق فقط على IPv4 ، وليس IPv6 (سيتم إصلاح ذلك في المستقبل). يتم إعطاء إزاحة البايت ، نسبة إلى طبقة البروتوكول المشار إليه ، بواسطة EXPR . بحجم هو اختياري ويشير إلى عدد وحدات البايت في مجال الاهتمام ؛ يمكن أن تكون إما واحدة أو اثنتين أو أربعة ، وتعترض واحدة. عامل طول ، المشار إليها بواسطة الكلمةليون، يعطي طول الحزمة.

فمثلا، 'الأثير 0 & 1! = 0"يمسك كل حركة مرور الإرسال المتعدد. التعبير 'ip 0 & 0xf! = 5"يمسك جميع حزم IP مع خيارات. التعبير 'ip 6: 2 و 0x1fff = 0"يمسك فقط datagrams غير مجزأة وكسر صفر من datagrams مجزأة. يتم تطبيق هذا الشيك ضمنا علىبرنامج التعاون الفني وUDP عمليات المؤشر. على سبيل المثال، برنامج التعاون الفني 0 يعني دائما البايت الأول من برنامج التعاون الفني رأس ولا تعني أبداً البايت الأول من جزء متداخل.

قد يتم التعبير عن بعض الإزاحات وقيم الحقل كأسماء بدلاً من قيم رقمية. تتوفر إزاحات حقول رأس البروتوكول التالية: icmptype (حقل نوع ICMP) ،icmpcode (حقل رمز ICMP) ، وtcpflags (حقل إشارات TCP).

قيم حقل نوع ICMP التالية متوفرة:ICMP-echoreply, ICMP-unreach, ICMP-sourcequench, ICMP-إعادة توجيه, ICMP الصدى, ICMP-routeradvert, ICMP-routersolicit, ICMP-timxceed, ICMP-paramprob, ICMP-tstamp, ICMP-tstampreply, ICMP-ireq, ICMP-ireqreply, ICMP-maskreq, ICMP-maskreply.

تتوفر قيم حقل علامات TCP التالية:برنامج التعاون الفني زعنفة, برنامج التعاون الفني اصطناعي, برنامج التعاون الفني، RST, برنامج التعاون الفني، دفع, برنامج التعاون الفني، دفع, برنامج التعاون الفني-ACK, برنامج التعاون الفني، URG.

يمكن الجمع بين الأوليات باستخدام أي مما يلي:

  • مجموعة متجاورة بين البدايات والمشغلين (بين قوسين خاصين بشركة Shell ويجب التخلص منها)
  • النفي (!"أو"ليس')
  • تسلسل ('&&"أو"و')
  • التناوب ('||"أو"أو')

النفض له أسبقية. التناوب والتسلسل لهما الأسبقية المتساوية ويربطان من اليسار إلى اليمين. لاحظ ذلك صريحو الرموز ، وليس التجاور ، مطلوبة للتسلسل.

إذا تم إعطاء معرف بدون كلمة رئيسية ، فسيتم افتراض أحدث كلمة رئيسية. فمثلا، لا تستضيف مقابل وأيس هو اختصار ل لا استضافة مقابل واستضافة الآس. ومع ذلك ، لا ينبغي الخلط بين هذا لا (المضيف أو الآس).

يمكن تمرير وسائط التعبير إلى تشبدومب كوسيطة واحدة أو كحجج متعددة ، أيهما أكثر ملاءمة. بشكل عام ، إذا كان التعبير يحتوي على أحرف أولية لـ Shell ، فمن الأسهل تمريرها كحجة واحدة ، يتم اقتباسها. يتم ربط الوسائط المتعددة بمسافات قبل أن يتم تحليلها.

أمثلة Tcpdump

مضيف tcpdump

يتم استخدام الأمر tcpdump أعلاه لطباعة كافة الحزم التي تصل إلى أو المغادرة من غروب.

tcpdump host helios و (hot or ace )

هذا المثال tcpdump يطبع حركة المرور بين هيليوس وإما الحار أو أجاد.

tcpdump ip المضيف الآس وليس هيليوس

يمكنك استخدام هذا الأمر tcpdump لطباعة جميع حزم IP بين أجاد وأي مضيف باستثناء هيليوس.

tcpdump net ucb-ether

في المثال أعلاه ، تطبع tcpdump جميع الزيارات بين المضيفين المحليين والمضيفين في بيركلي.

tcpdump 'بوابة snup و (port ftp أو ftp-data)'

يتم استخدام مثال الأمر التالي tcpdump لطباعة كل حركة مرور FTP عبر بوابة الإنترنت snup . لاحظ أن التعبير مقتبس لمنع shell من misinterpreting الأقواس.

TCP IP tcpdump وليس صافي localnet

في مثال tcpdump أعلاه ، يقوم الأمر بطباعة حركة المرور التي لم يتم الحصول عليها من المضيفين المحليين أو الموجهة إليهم.

tcpdump 'tcp tcpflags & (tcp-syn | tcp-fin)! = 0 وليس src و dst net localnet '

في المثال أعلاه tcpdump ، يتم استخدام الأمر لطباعة الحزم start و end (الحزم SYN و FIN) لكل محادثة TCP تتضمن مضيفًا غير محلي.

tcpdump 'gateway snup and ip 2: 2> 576'

سيطبع الأمر أعلاه حزم IP أطول من 576 بايت المرسلة عبر عبّارة snup.

tcpdump 'ether 0 & 1 = 0 و ip 16> = 224'

يطبع الأمر tcpdump الموضح أعلاه بث IP أو حزم الإرسال المتعدد التي كانت ليس يتم إرسالها عبر بث Ethernet أو بث متعدد.

tcpdump 'icmp icmptype! = icmp-echo و icmp icmptype! = icmp-echoreply'

في هذا المثال الأخير من tcpdump ، يقوم الأمر بطباعة جميع حزم ICMP التي لا تردد الطلبات أو الردود (أي ، لا حزم ping).

تنسيق إخراج Tcpdump

إخراج تشبدومب يعتمد على البروتوكول. يوضح ما يلي وصفًا موجزًا ​​وأمثلة على معظم التنسيقات.

رؤوس مستوى الارتباط. إذا تم إعطاء الخيار "-e" ، تتم طباعة رأس مستوى الارتباط. على شبكات Ethernet ، تتم طباعة عناوين المصدر والوجهة ، البروتوكول وطول الحزمة.

على شبكات FDDI ، يتسبب الخيار "-e" تشبدومب لطباعة حقل "التحكم في الإطار" وعناوين المصدر والوجهة وطول الرزمة. (يحكم حقل "التحكم في الإطار" تفسير باقي الحزمة. الحزم العادية (مثل تلك التي تحتوي على كتل بيانات IP) هي رزم "متزامنة" ، مع قيمة أولوية بين 0 و 7: على سبيل المثال ، `async4". يفترض أن تحتوي هذه الحزم على رزمة 802.2 للتحكم المنطقي في الوصلة (LLC) ؛ تتم طباعة رأس LLC إذا كان ليس مخطط بيانات ISO أو ما يسمى حزمة SNAP.

على شبكات Token Ring ، يتسبب الخيار "-e" تشبدومب لطباعة حقلي "التحكم في الوصول" و "التحكم في الإطار" وعناوين المصدر والوجهة وطول الرزمة. كما هو الحال في شبكات FDDI ، من المفترض أن تحتوي الرزم على حزمة LLC. بغض النظر عما إذا كان الخيار "-e" محددًا أم لا ، فإن معلومات توجيه المصدر تتم طباعتها للحزم الموجهة من المصدر.

(ملاحظة: الوصف التالي يفترض الإلمام باستخدام خوارزمية ضغط SLIP الموضحة في RFC-1144.)

في ارتباطات SLIP ، يتم طباعة مؤشر اتجاه ("أنا" للداخل و "O '" للخارج) ونوع الحزمة ومعلومات الضغط. تتم طباعة نوع الحزمة أولاً. الأنواع الثلاثة هي الملكية الفكرية , utcp و CTCP . تتم طباعة أي معلومات ارتباط إضافية لـ الملكية الفكرية الحزم. بالنسبة لحزم TCP ، تتم طباعة معرّف الاتصال بعد النوع. إذا كانت الحزمة مضغوطة ، فستتم طباعة رأسها المشفر. يتم طباعة الحالات الخاصة بها* S + ن و* SA + ن ، أين ن هو المقدار الذي تغير به رقم التسلسل (أو رقم التسلسل و ack). إذا لم تكن حالة خاصة ، فستتم طباعة صفر أو أكثر من التغييرات. يتم الإشارة إلى التغيير بواسطة U (مؤشر عاجل) ، W (إطار) ، A (ack) ، S (رقم التسلسل) ، I (معرف الحزمة) ، متبوعًا بدلتا (+ n أو - n) ، أو قيمة جديدة (= ن). وأخيراً ، تتم طباعة كمية البيانات الموجودة في الحزمة وطول الرأس المضغوط.

على سبيل المثال ، يعرض السطر التالي حزمة TCP مضغوطة الصادرة ، مع معرف اتصال ضمني ؛ تم تغيير ack بمقدار 6 ، ورقم التسلسل في 49 ، ومعرف الحزمة بمقدار 6 ؛ هناك 3 بايت من البيانات و 6 بايت من رأس مضغوط:

O ctcp * A + 6 S + 49 I + 6 3 (6)

أرباب / رارب الحزم. يعرض ARP / rarp نوع الطلب ووسائطه. الغرض من هذا التنسيق هو أن تكون واضحة بذاتها. إليك عينة قصيرة مأخوذة من بداية "rlogin" من المضيف rtsg تستضيف CSAM :

ARP الذي لديه csam يقول rtsgرد ARP csam هو في CSAM

السطر الأول يقول أن rtsg أرسل حزمة arp لطلب عنوان Ethernet من csam مضيف الإنترنت. يرد Csam بعنوان Ethernet الخاص به (في هذا المثال ، عناوين Ethernet موجودة في أحرف استهلالية وعناوين إنترنت في حالة الأحرف الصغيرة).

هذا يبدو أقل لزوماً إذا فعلنا ذلك tcpdump -n :

ARP الذي لديه 128.3.254.6 يخبر 128.3.254.68رد ARp هو 128.3.254.6 في تمام الساعة 02: 07: 01: 00: 01: c4

لو فعلنا ذلك tcpdump -e ، حقيقة أن الحزمة الأولى يتم بثها والثانية هي نقطة إلى نقطة ستكون مرئية:

RTSG Broadcast 0806 64: arp who-has csam tell rtsgCSAM RTSG 0806 64: arp csam reply is at at CSAM

بالنسبة للحزمة الأولى ، يشير هذا إلى أن عنوان مصدر Ethernet هو RTSG ، وأن الوجهة هي عنوان بث Ethernet ، وأن حقل النوع يحتوي على hex 0806 (type ETHER_ARP) ، وأن الطول الإجمالي 64 بايت.

الحزم TCP (ملاحظة: الوصف التالي يفترض الإلمام ببروتوكول TCP الموصوف في RFC-793. إذا لم تكن على دراية بالبروتوكول ، فلن يكون هذا الوصف أو tcpdump مفيدًا لك كثيرًا) . الشكل العام لخط بروتوكول tcp هو:

src> dst: flags data-seqno ack window options options

SRC و التوقيت الصيفي هي عناوين ومنافذ IP للمصدر والوجهة. أعلام هي مزيج من S (SYN) ، F (FIN) ، P (PUSH) أو R (RST) أو مفردة "." (لا أعلام). بيانات seqno يصف الجزء من حيز التسلسل الذي تغطيه البيانات في هذه الحزمة (انظر المثال أدناه). الكلية الاسترالية هو رقم تسلسل من البيانات التالية المتوقعة الاتجاه الآخر على هذا الاتصال. نافذة او شباك هو عدد البايتات من مساحة المخزن المؤقت للتلقي المتوفرة في الاتجاه الآخر على هذا الاتصال. URG يشير إلى وجود بيانات "عاجلة" في الحزمة. خيارات هي خيارات tcp محاطة بأقواس زاوية (على سبيل المثال ، ).

Src ، dst ، و الأعلام هي دائما موجودة. ﺗﻌﺘﻤﺪ اﻟﺤﻘﻮل اﻷﺧﺮى ﻋﻠﻰ ﻣﺤﺘﻮﻳﺎت رأس ﺑﺮوﺗﻮﻛﻮل tcp ﻟﻠﺤﺰﻣﺔ وﺗﻜﻮن ﻣﺨﺮﺟﺔ ﻓﻘﻂ إذا ﻛﺎن ذﻟﻚ ﻣﻨﺎﺳﺒًﺎ.

هنا هو الجزء الافتتاحي من rlogin من المضيف rtsg تستضيف CSAM .

rtsg.1023> csam.login: S 768512: 768512 (0) win 4096 csam.login> rtsg.1023: S 947648: 947648 (0) ack 768513 win 4096 rtsg.1023> csam.login:. ايك 1 فوز 4096rtsg.1023> csam.login: P 1: 2 (1) ack 1 win 4096csam.login> rtsg.1023:. ايك 2 فوز 4096rtsg.1023> csam.login: P 2:21 (19) ack 1 win 4096csam.login> rtsg.1023: P 1: 2 (1) ack 21 win 4077csam.login> rtsg.1023: P 2: 3 (1) ack 21 win 4077 urg 1csam.login> rtsg.1023: P 3: 4 (1) ack 21 win 4077 urg 1

السطر الأول يقول أن منفذ tcp 1023 على rtsg أرسل حزمة إلى المنفذ تسجيل الدخول على csam. الS يشير إلى أن SYN تم تعيين العلم. رقم تسلسل الحزمة كان 768512 ولم يتضمن أي بيانات. (الترميز هو "الأول: الأخير (nbytes)" ، والذي يعني "أرقام التسلسل أول ما يصل إلى ولكن ليس بما في ذلك الاخير الذي nbytes بايت من بيانات المستخدم '.) لم يكن هناك ack بدعم أصبعي ، كانت نافذة استقبال المتاحة 4096 بايت ، وكان هناك خيار حجم قطعة الحد الأقصى طلب mss من 1024 بايت.

رد Csam مع حزمة مماثلة إلا أنه يتضمن ack piggybacked لـ SYN لـ rtsg. Rtsg ثم aSs csam's SYN. ال '.' يعني لم يتم تعيين أي علم. لا تحتوي الحزمة على بيانات حتى لا يوجد رقم تسلسل للبيانات. لاحظ أن رقم تسلسل ack هو عدد صحيح صغير (1). المرة الأولى تشبدومب يرى tcp "محادثة" ، فإنه يطبع رقم التسلسل من الحزمة. في حزم لاحقة من المحادثة ، تتم طباعة الفرق بين رقم تسلسل الحزمة الحالي ورقم التسلسل الأولي هذا. وهذا يعني أن أرقام التسلسل بعد الأول يمكن تفسيرها على أنها مواقع بايت نسبي في دفق بيانات المحادثة (مع أول بايت للبيانات يكون كل اتجاه '1'). ستتجاوز "-S" هذه الميزة ، مما يؤدي إلى إخراج أرقام التسلسل الأصلية.

في السطر السادس ، يرسل rtsg csam 19 بايتًا من البيانات (البايت من 2 إلى 20 في الجانب rtsg -> csam للمحادثة). يتم تعيين علامة PUSH في الحزمة. في السطر السابع ، يشير csam إلى أنه تم استلام البيانات المرسلة بواسطة rtsg للأعلى ولكن ليس بما في ذلك البايت 21. ويبدو أن معظم هذه البيانات يجلس في مخزن مأخذ التوصيل حيث أن نافذة استقبال csam قد حصلت على 19 بايت أصغر. يرسل Csam أيضًا بايت واحد من البيانات إلى rtsg في هذه الحزمة. في السطرين التاسع والتاسع ، يرسل csam وحدتي بايت من البيانات العاجلة والمدفوعة إلى rtsg.

إذا كانت اللقطة صغيرة بما يكفي تشبدومب لم يلتقط رأس TCP الكامل ، فإنه يفسر أكبر قدر ممكن من الرأس ، ثم يقوم بالإبلاغ عن "| برنامج التعاون الفني "للإشارة إلى أن الباقي لا يمكن تفسيره. إذا كان الرأس يحتوي على خيار زائف (أحدهما بطول إما صغير جدًا أو بعيدًا عن نهاية الرأس) ، تشبدومب تقاريره كـ " سوء اختيار "ولا يفسر أي خيارات أخرى (لأنه من المستحيل معرفة المكان الذي يبدأون فيه). إذا كان طول الرأس يشير إلى وجود خيارات ولكن طول مخطط بيانات IP ليس طويلاً بما يكفي لأن تكون الخيارات موجودة بالفعل ، تشبدومب تقاريره كـ " طول القرص الصلب سيئة ''.

التقاط الحزم مع مجموعات علم معينة. توجد ثماني بتات في قسم وحدات البت للتحكم في رأس TCP:

CWR | اللجنة الاقتصادية لأوروبا URG | ACK | PSH | RST | SYN | FIN

لنفترض أننا نريد مشاهدة الحزم المستخدمة في إنشاء اتصال TCP. تذكر أن بروتوكول TCP يستخدم بروتوكول مصافحة ثلاثي الاتجاهات عندما يقوم بتهيئة اتصال جديد ؛ يكون تسلسل الاتصال فيما يتعلق بتقنية التحكم TCP:

  1. يرسل المتصل SYN.
  2. يستجيب المستلم مع SYN و ACK.
  3. يرسل المتصل ACK.

نحن الآن مهتمون بالتقاط الحزم التي لديها مجموعة بت SYN فقط (الخطوة 1). لاحظ أننا لا نريد الحزم من الخطوة 2 (SYN-ACK) ، مجرد SYN الأولي العادي. ما نحتاجه هو تعبير مرشح صحيح لـ تشبدومب .

تذكر بنية رأس TCP بدون خيارات:

0 15 31-----------------------------------------------------------------| منفذ المصدر | ميناء المقصد-----------------------------------------------------------------| رقم التسلسل |-----------------------------------------------------------------| رقم الإشعار |-----------------------------------------------------------------| HL | rsvd | C | E | U | A | P | R | S | F | حجم النافذة |-----------------------------------------------------------------| اختباري TCP | مؤشر عاجل |-----------------------------------------------------------------

تحمل رأس TCP عادة 20 ثمانية من البيانات ، ما لم تكن هناك خيارات. يحتوي السطر الأول من الرسم البياني على الثمانيات من 0 إلى 3 ، ويعرض السطر الثاني الثمانيات 4-7 ، إلخ.

بدءاً من العد 0 ، ترد بتات التحكم TCP ذات الصلة في octet 13:

0 7| 15| 23| 31----------------|---------------|---------------|----------------| HL | rsvd | C | E | U | A | P | R | S | F | حجم النافذة |----------------|---------------|---------------|----------------| | الثالث عشر ثمانية | | |

دعونا نلقي نظرة فاحصة على الثماني لا. 13:

| | |---------------| | C | E | U | A | P | R | S | F | |---------------| |7 5 3 0|

هذه هي بتات التحكم TCP التي نحن مهتمون. لقد قمنا بترقيم البتات في هذا العدد من 0 إلى 7 ، من اليمين إلى اليسار ، لذا فإن بت PSH هو رقم البت 3 ، بينما بت URG هو رقم 5.

أذكر أننا نريد التقاط الحزم مع مجموعة SYN فقط. لنرى