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 الجيد عمليات الالتقاط العملاقة غير المفيدة:
- تحديد الفرضية (أي المضيف/المنفذ/البروتوكول)
- بناء مرشح ضيق
- الحد من عدد الحزم أو مدتها
- احفظ 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 واضحة، ثم قم بالتحليل دون الاتصال بالإنترنت. وهذا يعطي تحليلاً أسرع للأسباب الجذرية وعددًا أقل من الاستنتاجات الخاطئة.
نمط الفرز السريع لانقطاع الخدمة
عند ظهور الخدمة معطلة:
- التقاط سلوك SYN/SYN-ACK على منفذ الخدمة
- تأكيد وصول الحزم إلى الواجهة الصحيحة
- قارن بين اللقطات من جانب العميل والخادم
- التحقق من صحة عدادات/سجلات جدار الحماية
يخبرك هذا بسرعة ما إذا كان الفشل في المسار أو جدار الحماية المضيف أو عملية الخدمة.
خلاصة القول (الاستجابة للحادث)
أثناء الحوادث، يعد برنامج tcpdump مع مرشحات المنافذ الضيقة أحد أسرع الطرق للانتقال من التخمين إلى الأدلة على مستوى الحزمة.