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

بناء الجملة الأساسي لتصفية المنفذ

لالتقاط حركة المرور على منفذ معين، استخدم port الكلمة الرئيسية:

الأمر
sudo tcpdump port 80

يلتقط هذا كل حركة المرور (الواردة والصادرة) على المنفذ 80 (HTTP).

منافذ المصدر والوجهة

يمكنك تحديد ما إذا كنت تريد التصفية حسب منفذ المصدر أو الوجهة:

الأمر
## Capture traffic FROM port 443
sudo tcpdump src port 443

## Capture traffic TO port 443
sudo tcpdump dst port 443

منافذ متعددة

لمراقبة المنافذ المتعددة استخدم or أو portrange:

الأمر
## Capture HTTP and HTTPS traffic
sudo tcpdump port 80 or port 443

## Capture a range of ports
sudo tcpdump portrange 8000-8080

الجمع بين مرشحات المنافذ والمعايير الأخرى

ادمج مرشحات المنافذ مع مرشحات المضيف أو البروتوكول باستخدام عوامل التشغيل المنطقية:

الأمر
## Capture SSH traffic from specific host
sudo tcpdump port 22 and host 192.168.1.100

## Capture DNS traffic (UDP port 53)
sudo tcpdump udp and port 53

## Exclude specific port
sudo tcpdump not port 22

خيارات مفيدة

قم بتحسين مخرجات tcpdump باستخدام هذه الخيارات:

الأمر
## Save capture to file
sudo tcpdump port 80 -w capture.pcap

## Show packet contents in ASCII and hex
sudo tcpdump port 443 -X

## Limit number of packets
sudo tcpdump port 25 -c 100

## Don't resolve hostnames (faster)
sudo tcpdump port 80 -n

حالات الاستخدام الشائعة

  • حركة مرور الويب: sudo tcpdump port 80 or port 443
  • البريد الإلكتروني: sudo tcpdump port 25 or port 587 or port 993
  • قاعدة البيانات: sudo tcpdump port 3306 (MySQL) أو port 5432 (بوستجري إس كيو إل)
  • SSH: sudo tcpdump port 22

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

التقاط الإستراتيجية التي تتوسع

يتجنب سير عمل tcpdump الجيد عمليات الالتقاط العملاقة غير المفيدة:

  1. تحديد الفرضية (أي المضيف/المنفذ/البروتوكول)
  2. بناء مرشح ضيق
  3. الحد من عدد الحزم أو مدتها
  4. احفظ pcap لتحليل أعمق في Wireshark

مثال:

الأمر
sudo tcpdump -n -i eth0 host 10.0.0.15 and port 443 -c 500 -w tls-check.pcap

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

يلتقط المخزن المؤقت الحلقي للحوادث الطويلة

بالنسبة للمشاكل المتقطعة، استخدم الملفات الدوارة:

الأمر
sudo tcpdump -i eth0 port 443 -C 20 -W 10 -w web-%Y%m%d%H%M%S.pcap

يؤدي ذلك إلى إبقاء التخزين تحت السيطرة مع الحفاظ على نوافذ حركة المرور الحديثة.

مخاطر التصفية الشائعة

الأقواس المفقودة مع and / or

يمكن أن تفاجئك أسبقية منطق التصفية. شروط المجموعة بوضوح:

الأمر
sudo tcpdump '(port 80 or port 443) and host 192.168.1.20'

التقاط بدون -n

تؤدي عمليات البحث العكسي لنظام DNS إلى إبطاء عملية الالتقاط وإضافة الضوضاء. استخدم -n في جلسات استكشاف الأخطاء وإصلاحها ما لم يكن تحليل الاسم مطلوبًا.

الالتقاط على واجهة خاطئة

التحقق من الواجهة أولاً (ip a / ifconfig) قبل الافتراض eth0 نشط.

تذكير بالأمان والامتثال

قد تتضمن عمليات التقاط الحزم بيانات الاعتماد وملفات تعريف الارتباط والرموز المميزة والبيانات الشخصية. التعامل مع ملفات pcap باعتبارها عناصر حساسة:

  • تقييد الوصول
  • التشفير في حالة الراحة
  • حذف بعد التحقيق

المحصلة النهائية (التشغيلية)

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

نمط الفرز السريع لانقطاع الخدمة

عند ظهور الخدمة معطلة:

  1. التقاط سلوك SYN/SYN-ACK على منفذ الخدمة
  2. تأكيد وصول الحزم إلى الواجهة الصحيحة
  3. قارن بين اللقطات من جانب العميل والخادم
  4. التحقق من صحة عدادات/سجلات جدار الحماية

يخبرك هذا بسرعة ما إذا كان الفشل في المسار أو جدار الحماية المضيف أو عملية الخدمة.

خلاصة القول (الاستجابة للحادث)

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