كيفية التقاط وتحليل الحزم على سبيل المثال باستخدام Tcpdump

Kyfyt Altqat Wthlyl Alhzm Ly Sbyl Almthal Bastkhdam Tcpdump



Tcpdump هي أداة قوية لتحليل الشبكة تُستخدم لتحليل حركة مرور الشبكة في أنظمة Linux وmacOS. يستخدم مسؤولو الشبكة برنامج tcpdump للتعرف على حزم TCP/IP والتقاطها وتحليلها. ويستخدم مكتبة 'libpcap' التي تساعد في التقاط حركة مرور الشبكة بكفاءة. بالإضافة إلى ذلك، يساعد tcpdump في استكشاف أخطاء الشبكة وإصلاحها ومراقبة أنشطة الشبكة بشكل دوري. تقوم هذه الأداة بتخزين البيانات الملتقطة في ملف 'pcap'. يتم تحليل هذه الملفات بشكل أكبر باستخدام أداة تحليل حزم TCP/IP مثل Wireshark أو عبر أداة أخرى لسطر الأوامر.

في هذا الدليل، سنوضح كيفية تثبيت tcpdump على نظام Linux وكيفية التقاط وتحليل حزم TCP/IP باستخدام tcpdump.

كيفية تثبيت برنامج Tcpdump

تم تثبيت Tcpdump مسبقًا على العديد من توزيعات Linux. ولكن إذا لم يكن مثبتًا بالفعل على نظامك، فيمكنك تثبيت tcpdump على نظام Linux الخاص بك. لتثبيت tcpdump على نظام Ubuntu 22.04، استخدم الأمر التالي:







$ Sudo مناسب لتثبيت tcpdump

لتثبيت tcpdump على Fedora/CentOS، استخدم الأمر التالي:



$ Sudo dnf تثبيت tcpdump

كيفية التقاط الحزم باستخدام أمر Tcpdump

لالتقاط الحزم باستخدام tcpdump، قم بتشغيل الجهاز بامتيازات sudo باستخدام 'Ctrl+Alt+t'. تتضمن هذه الأداة خيارات ومرشحات مختلفة لالتقاط حزم TCP/IP. إذا كنت تريد التقاط كافة الحزم المتدفقة لواجهة الشبكة الحالية أو الافتراضية، فاستخدم الأمر 'tcpdump' دون أي خيار.



$ سودو تكبدمب

يلتقط الأمر المحدد حزم واجهة الشبكة الافتراضية لنظامك.





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



دعونا نفهم الإخراج.

يتيح Tcpdump تحليل رؤوس حزم TCP/IP. يظهر سطرًا واحدًا لكل حزمة، ويستمر الأمر في العمل حتى تضغط على 'Ctrl+C' لإيقافه.

يحتوي كل سطر يقدمه tcpdump على التفاصيل التالية:

  • الطابع الزمني لنظام التشغيل Unix (على سبيل المثال، 02:28:57.839523)
  • البروتوكول (IP)
  • اسم المضيف المصدر أو IP ورقم المنفذ
  • اسم المضيف الوجهة أو IP ورقم المنفذ
  • إشارات TCP (على سبيل المثال، العلامات [F.]) تشير إلى حالة الاتصال بقيم مثل S (SYN)، F (FIN)،. (ACK)، P (PUSH)، R (RST)
  • الرقم التسلسلي للبيانات الموجودة في الحزمة (على سبيل المثال، seq 5829:6820)
  • رقم الإقرار (على سبيل المثال، ack 1016)
  • حجم النافذة (على سبيل المثال، win 65535) يمثل وحدات البايت المتوفرة في المخزن المؤقت المتلقي متبوعًا بخيارات TCP
  • طول حمولة البيانات (على سبيل المثال، الطول 991)

لسرد جميع واجهات الشبكة الخاصة بنظامك، استخدم الأمر 'tcpdump' مع الخيار '-D'.

$ سودو تكبدمب -D

أو

$ tcpdump --list-interfaces

يسرد هذا الأمر جميع واجهات الشبكة المتصلة أو التي تعمل على نظام Linux الخاص بك.

التقاط حزم واجهة الشبكة المحددة

إذا كنت تريد التقاط حزم TCP/IP التي تمر عبر واجهة معينة، فاستخدم العلامة '-i' مع الأمر 'tcpdump' وحدد اسم واجهة الشبكة.

$ sudo tcpdump -i lo

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

وبالمثل، يمكنك التقاط حركة المرور في أي واجهة باستخدام الأمر التالي:

$ sudo tcpdump -i أي

التقاط الحزم باستخدام منفذ معين

يمكنك التقاط الحزم وتصفيتها عن طريق تحديد اسم الواجهة ورقم المنفذ. على سبيل المثال، لالتقاط حزم الشبكة التي تمر عبر الواجهة 'enp0s3' باستخدام المنفذ 22، استخدم الأمر التالي:

$ tcpdump -i enp0s3 المنفذ 22

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

التقط الحزم المحدودة باستخدام Tcpdump

يمكنك استخدام العلامة '-c' مع الأمر 'tcpdump' لالتقاط عدد محدد من الحزم. على سبيل المثال، لالتقاط أربع حزم في الواجهة 'enp0s3'، استخدم الأمر التالي:

$ tcpdump -i enp0s3 -c 4

استبدل اسم الواجهة باستخدام نظامك.

أوامر Tcpdump مفيدة لالتقاط حركة مرور الشبكة

فيما يلي، قمنا بإدراج بعض أوامر 'tcpdump' المفيدة التي ستساعدك في التقاط وتصفية حركة مرور الشبكة أو الحزم بكفاءة:

باستخدام الأمر 'tcpdump'، يمكنك التقاط حزم الواجهة باستخدام عنوان IP الوجهة المحدد أو عنوان IP المصدر.

$ tcpdump -i {interface-name} dst {destination-ip}

يمكنك التقاط الحزم بحجم لقطة يبلغ 65535 بايت وهو يختلف عن الحجم الافتراضي البالغ 262144 بايت. في الإصدارات الأقدم من tcpdump، كان حجم الالتقاط محدودًا بـ 68 أو 96 بايت.

$ تكبدمب -i enp0s3 -s 65535

كيفية حفظ الحزم الملتقطة في ملف

إذا كنت تريد حفظ البيانات التي تم التقاطها في ملف لمزيد من التحليل، فيمكنك القيام بذلك. فهو يلتقط حركة المرور على واجهة محددة ثم يحفظها في ملف '.pcap'. استخدم الأمر التالي لتخزين البيانات التي تم التقاطها في ملف:

$ tcpdump -i -s 65535 -w .pcap

على سبيل المثال، لدينا الواجهة 'enps03'. احفظ هذه البيانات التي تم التقاطها في الملف التالي:

$ sudo tcpdump -i enps03 -w dump.pcap

في المستقبل، يمكنك قراءة هذا الملف الملتقط باستخدام Wireshark أو أدوات تحليل الشبكة الأخرى. لذا، إذا كنت تريد استخدام Wireshark لتحليل الحزم، فاستخدم الوسيطة '-w' واحفظها في ملف '.pcap'.

خاتمة

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