كيفية استخدام tcpdump و 6 أمثلة

كيفية استخدام tcpdump و 6 أمثلة

هل تحاول التقاط حزم البيانات لتحليل حركة المرور على شبكتك؟ ربما تكون مسؤول خادم واجه مشكلة وتريد مراقبة البيانات المنقولة على الشبكة. مهما كان الموقف ، فإن الأداة المساعدة tcpdump Linux هي ما تحتاجه.





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





ما هو الأمر tcpdump؟

Tcpdump هي أداة قوية لمراقبة الشبكة تسمح للمستخدم بتصفية الحزم وحركة المرور على الشبكة بكفاءة. يمكنك الحصول على معلومات مفصلة تتعلق بـ TCP / IP والحزم المنقولة على شبكتك. Tcpdump هي أداة مساعدة لسطر الأوامر ، مما يعني أنه يمكنك تشغيلها على خوادم Linux بدون عرض.





يمكن لمسؤولي النظام أيضًا دمج الأداة المساعدة tcpdump مع كرون من أجل أتمتة المهام المختلفة مثل التسجيل. نظرًا لأن ميزاته العديدة تجعله متعدد الاستخدامات تمامًا ، يعمل tcpdump كأداة لاستكشاف الأخطاء وإصلاحها بالإضافة إلى أداة أمان.

كيفية تثبيت tcpdump على نظام Linux

بينما ستجد في معظم الأوقات أن tcpdump مثبتًا مسبقًا على نظامك ، فإن بعض توزيعات Linux لا تأتي مع الحزمة. لذلك ، قد تضطر إلى تثبيت الأداة يدويًا على نظامك.



يمكنك التحقق مما إذا كان tcpdump مثبتًا على نظامك باستخدام ملف أي أمر.

which tcpdump

إذا كان الإخراج يعرض مسار دليل ( / usr / bin / tcpdump ) ، ثم تم تثبيت الحزمة على نظامك. ومع ذلك ، إذا لم يكن الأمر كذلك ، فيمكنك القيام بذلك بسهولة باستخدام مدير الحزم الافتراضي على نظامك.





لتثبيت tcpdump على توزيعات تعتمد على دبيان مثل Ubuntu:

sudo apt-get install tcpdump

يعد تثبيت tcpdump على CentOS أمرًا سهلاً أيضًا.





sudo yum install tcpdump

على التوزيعات القائمة على القوس:

sudo pacman -S tcpdump

للتثبيت على Fedora:

sudo dnf install tcpdump

لاحظ أن حزمة tcpdump تتطلب libcap تبعية ، لذا تأكد من تثبيته على نظامك أيضًا.

أمثلة على Tcpdump لالتقاط حزم الشبكة على نظام Linux

الآن بعد أن قمت بتثبيت tcpdump بنجاح على جهاز Linux الخاص بك ، فقد حان الوقت لمراقبة بعض الحزم. نظرًا لأن tcpdump يتطلب أذونات المستخدم المتميز لتنفيذ معظم العمليات ، فسيتعين عليك إضافة سودو لأوامرك.

1. سرد كافة واجهات الشبكة

للتحقق من واجهات الشبكة المتاحة لالتقاطها ، استخدم ملف علم باستخدام الأمر tcpdump.

tcpdump -D

تمرير - واجهات قائمة علم كوسيطة سيعيد نفس الناتج.

tcpdump --list-interfaces

سيكون الإخراج عبارة عن قائمة بجميع واجهات الشبكة الموجودة على نظامك.

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

tcpdump --interface any

سيعرض النظام الإخراج التالي.

كيف تجعل الكمبيوتر المحمول الخاص بك أفضل للألعاب

متعلق ب: ما هو نموذج ربط الأنظمة المفتوحة؟

2. تنسيق الإخراج tcpdump

بدءًا من السطر الثالث ، يشير كل سطر من الإخراج إلى حزمة معينة تم التقاطها بواسطة tcpdump. هذا ما يبدو عليه إخراج الحزمة الواحدة.

17:00:25.369138 wlp0s20f3 Out IP localsystem.40310 > kul01s10-in-f46.1e100.net.https: Flags [P.], seq 196:568, ack 1, win 309, options [nop,nop,TS val 117964079 ecr 816509256], length 33

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

الإخراج يحتوي على المعلومات التالية.

  1. الطابع الزمني للحزمة المستلمة
  2. اسم الواجهة
  3. تدفق الحزم
  4. اسم بروتوكول الشبكة
  5. عنوان IP وتفاصيل المنفذ
  6. أعلام TCP
  7. رقم تسلسل البيانات في الحزمة
  8. بيانات Ack
  9. بحجم النافذه
  10. طول الحزمة

الحقل الأول ( 17: 00: 25.369138 ) يعرض الطابع الزمني عند قيام نظامك بإرسال الحزمة أو استلامها. يتم استخراج الوقت المسجل من التوقيت المحلي لنظامك.

لماذا اتصالي بطيء جدا

يشير الحقلان الثاني والثالث إلى الواجهة المستخدمة وتدفق الحزمة. في المقتطف أعلاه ، wlp0s20f3 هو اسم الواجهة اللاسلكية و خارج هو تدفق الحزمة.

يتضمن الحقل الرابع المعلومات المتعلقة باسم بروتوكول الشبكة. بشكل عام ، ستجد بروتوكولين- IP و IP6 ، حيث يشير IP إلى IPV4 و IP6 هو IPV6.

يحتوي الحقل التالي على عناوين IP أو اسم نظام المصدر والوجهة. عناوين IP متبوعة برقم المنفذ.

يتكون الحقل السادس في الإخراج من أعلام TCP. هناك العديد من العلامات المستخدمة في إخراج tcpdump.

اسم العلمقيمةوصف
مشهدسبدأ الاتصال
نهايةFانتهى الاتصال
يدفعصيتم دفع البيانات
RSTصتمت إعادة تعيين الاتصال
واحسرتاه.إعتراف

يمكن أن يحتوي الإخراج أيضًا على مجموعة من عدة أعلام TCP. على سبيل المثال، FLAG [ص.] لتقف على حزمة FIN-ACK.

بالانتقال إلى أبعد من ذلك في مقتطف الإخراج ، يحتوي الحقل التالي على رقم التسلسل ( seq 196: 568 ) من البيانات الموجودة في الحزمة. تحتوي الحزمة الأولى دائمًا على قيمة عدد صحيح موجب ، وتستخدم الحزم التالية رقم التسلسل النسبي لتحسين تدفق البيانات.

يحمل الحقل التالي رقم الإقرار ( ack 1 ) ، أو رقم Ack بسيط. تحتوي الحزمة التي تم التقاطها في جهاز المرسل على 1 كرقم إقرار. في نهاية جهاز الاستقبال ، رقم Ack هو قيمة الحزمة التالية.

يلائم الحقل التاسع في الإخراج حجم النافذة ( فوز 309 ) ، وهو عدد البايتات المتوفرة في المخزن المؤقت للاستقبال. هناك العديد من الحقول الأخرى التي تتبع حجم النافذة ، بما في ذلك الحد الأقصى لحجم الجزء (MSS).

الحقل الأخير ( الطول 33 ) يحتوي على طول الحزمة الإجمالية التي تم التقاطها بواسطة tcpdump.

3. الحد من عدد الحزم الملتقطة

أثناء تشغيل الأمر tcpdump للمرة الأولى ، قد تلاحظ أن النظام يستمر في التقاط حزم الشبكة حتى تقوم بتمرير إشارة مقاطعة. يمكنك تجاوز هذا السلوك الافتراضي بتحديد عدد الحزم التي تريد التقاطها مسبقًا باستخدام ملف علم.

tcpdump --interface any -c 10

سوف يلتقط الأمر المذكور أعلاه عشر حزم من أي واجهة شبكة نشطة.

4. تصفية الحزم على أساس الحقول

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

لالتقاط حزم TCP فقط ، اكتب:

tcpdump --interface any -c 5 tcp

وبالمثل ، إذا كنت تريد تصفية الإخراج باستخدام رقم المنفذ:

tcpdump --interface any -c 5 port 50

سيسترد الأمر المذكور أعلاه الحزم المرسلة عبر المنفذ المحدد فقط.

للحصول على تفاصيل الحزمة لمضيف معين:

tcpdump --interface any -c 5 host 112.123.13.145

إذا كنت تريد تصفية الحزم المرسلة أو المستلمة من قبل مضيف معين ، فاستخدم src أو إلخ حجة مع الأمر.

tcpdump --interface any -c 5 src 112.123.13.145
tcpdump --interface any -c 5 dst 112.123.13.145

يمكنك أيضًا استخدام العوامل المنطقية و و أو لدمج تعبيرين أو أكثر معًا. على سبيل المثال ، للحصول على الحزم التي تنتمي إلى IP المصدر 112.123.13.145 واستخدم المنفذ 80 :

tcpdump --interface any -c 10 src 112.123.13.145 and port 80

يمكن تجميع التعبيرات المعقدة معًا باستخدام أقواس على النحو التالي:

tcpdump --interface any -c 10 '(src 112.123.13.145 or src 234.231.23.234) and (port 45 or port 80)'

5. عرض محتوى الحزمة

يمكنك استعمال ال -إلى و -x إشارات باستخدام الأمر tcpdump لتحليل محتوى حزمة الشبكة. ال -إلى العلم لتقف على ASCII تنسيق و -x يدل السداسي عشري صيغة.

لعرض محتوى حزمة الشبكة التالية التي يلتقطها النظام:

tcpdump --interface any -c 1 -A
tcpdump --interface any -c 1 -x

الموضوعات ذات الصلة: ما هو فقدان الحزمة وكيفية إصلاح سببها؟

6. حفظ بيانات الالتقاط في ملف

إذا كنت تريد حفظ بيانات الالتقاط لأغراض مرجعية ، فإن tcpdump موجود لمساعدتك. فقط قم بتمرير -في ضع علامة بالأمر الافتراضي لكتابة الإخراج إلى ملف بدلاً من عرضه على الشاشة.

tcpdump --interface any -c 10 -w data.pcap

ال .pcap امتداد الملف لتقف على التقاط الحزمة البيانات. يمكنك أيضًا إصدار الأمر المذكور أعلاه في الوضع المطول باستخدام ملف -الخامس علم.

tcpdump --interface any -c 10 -w data.pcap -v

لقراءة أ .pcap ملف باستخدام tcpdump ، استخدم ملف -r علم متبوعًا بمسار الملف. ال -r تمثل يقرأ .

متجر google play على أوقد النار
tcpdump -r data.pcap

يمكنك أيضًا تصفية حزم الشبكة من حزم البيانات المحفوظة في الملف.

tcpdump -r data.pcap port 80

مراقبة حركة مرور الشبكة على Linux

إذا تم تكليفك بمهمة إدارة خادم Linux ، فإن الأمر tcpdump يعد أداة رائعة لتضمينها في ترسانتك. يمكنك بسهولة إصلاح المشكلات المتعلقة بالشبكة عن طريق التقاط الحزم المرسلة على شبكتك في الوقت الفعلي.

ولكن قبل كل ذلك ، يجب أن يكون جهازك متصلاً بالإنترنت. بالنسبة للمبتدئين في نظام Linux ، قد يكون الاتصال بشبكة Wi-Fi عبر سطر الأوامر أمرًا صعبًا بعض الشيء. ولكن إذا كنت تستخدم الأدوات الصحيحة ، فهذا أمر سريع.

يشارك يشارك سقسقة بريد الالكتروني كيفية الاتصال بشبكة Wi-Fi من خلال محطة Linux الطرفية باستخدام Nmcli

هل تريد الاتصال بشبكة Wi-Fi من خلال سطر أوامر Linux؟ إليك ما تحتاج لمعرفته حول الأمر nmcli.

اقرأ التالي
مواضيع ذات صلة
  • لينكس
  • حماية
  • شبكة الطب الشرعي
نبذة عن الكاتب ديبيش شارما(79 المقالات المنشورة)

Deepesh هو محرر جونيور لنظام Linux في MUO. يكتب أدلة إعلامية على نظام Linux ، بهدف توفير تجربة سعيدة لجميع الوافدين الجدد. لست متأكدًا من الأفلام ، ولكن إذا كنت تريد التحدث عن التكنولوجيا ، فهو الرجل المناسب لك. في أوقات فراغه ، يمكنك أن تجده يقرأ الكتب أو يستمع إلى أنواع موسيقية مختلفة أو يعزف على جيتاره.

المزيد من Deepesh Sharma

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك