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

يمكننا التحقق من جاهزية البرنامج وإصدار مكتبة المعالجة libpcap المعتمدة عبر تنفيذ الأمر tcpdump --version.
تتميز أداة tcpdump بقدرتها الفائقة على تتبع البيانات المتدفقة عبر بطاقات الشبكة في الزمن الحقيقي، مع تفكيك الترويسات وتحليل مختلف البروتوكولات عبر سطر الأوامر بمرونة عالية.
⚙️ [أهم المعاملات والخيارات التشغيلية]
-i : تحديد واجهة الشبكة المراد التقاط الحزم من خلالها.-n : تعطيل الاستعلام العكسي لأسماء النطاقات وعرض عناوين IP الرقمية مباشرة لتسريع الأداء وتفادي التأخير.-nn : منع تحويل كل من عناوين المضيفين وأرقام المنافذ إلى مسميات الخدمات القياسية، والإبقاء عليها كأرقام صريحة.-c : إيقاف عملية الالتقاط تلقائياً بمجرد استلام العدد المحدد من الحزم.-v : تفعيل وضع الإخراج المفصل لعرض مؤشرات مثل TTL والمعرّفات وترويسات البروتوكولات، مع إمكانية استخدام -vv أو -vvv لمزيد من التفاصيل الدقيقة.-w : تصدير البيانات الخام الملتقطة إلى ملف بصيغة pcap متوافق مع أدوات التحليل المتقدمة مثل Wireshark.-r : قراءة ملفات pcap المسجلة مسبقاً وعرض محتواها على شاشة الطرفية.-A : إظهار حمولة الحزم (Payload) بتنسيق نصي مقروء ترميزه ASCII.-X : فك تشفير الحزم وعرض الترويسات والحمولة بنظام السداسي عشر (Hex) وبترميز ASCII جنباً إلى جنب.-D : استعراض قائمة بجميع واجهات الشبكة المتاحة في النظام والمهيأة لعمليات الرصد.

عند تنفيذ الأمر tcpdump -D، يعرض النظام جرداً شاملاً لكافة المنافذ والواجهات المتوفرة، مقرونة بأرقامها التسلسلية وحالات تشغيلها.
تتضمن المخرجات عادةً واجهة الاتصال الخارجي مثل eth0، والواجهة الافتراضية الشاملة any التي ترصد كامل الحركة عبر النظام، إضافةً إلى واجهة التكرار الحلقي المحلي lo؛ وتُستخدم هذه التسميات كمدخلات مباشرة للمعامل -i أثناء تحديد نطاق الفحص.

التقاط حزم واجهة التكرار الحلقي (Loopback) عملياً
لتوليد حركة مرور تجريبية خاضعة للمراقبة على الواجهة المحلية، نُطلق أمر البينغ ping -c 4 127.0.0.1 > /dev/null 2>&1 & في الخلفية لإنشاء حزم بروتوكول ICMP.

يُوجّه الأمر tcpdump -i lo -c 4 -n أداة الرصد لاستهداف واجهة التكرار الحلقي (lo) حصراً، حيث يقتنص 4 حزم (-c 4) مع إبراز العناوين بصيغتها الرقمية الخالصة دون اللجوء لحل أسماء النطاقات (-n).
وتبرز النتائج بنجاح تفاصيل تبادل رسائل طلب الصدى (Echo Request) ورد الصدى (Echo Reply) بين العنوان الذاتي 127.0.0.1، متضمنةً الطوابع الزمنية الدقيقة، والأرقام التسلسلية، وحجم البيانات في كل حزمة.

تصفية تدفق البيانات بحسب المنافذ ونوع البروتوكول
لبدء جلسة اتصال آمنة واختبار اعتراض حركة المنفذ 443، نقوم بإرسال طلب ويب مشفر عبر تنفيذ الأمر curl -s https://example.com > /dev/null 2>&1 & في الخلفية.

يقوم الأمر tcpdump -i any -c 4 -nn 'tcp port 443' بالتنصت الشامل على كافة الواجهات النشطة (-i any) لجمع 4 عينات فقط (-c 4) من حركة TCP الموجهة أو الصادرة عبر المنفذ 443 ('tcp port 443')، مع إجبار المخرجات على إبقاء العناوين والمنافذ كأرقام صريحة (-nn).
تُظهر مخرجات الطرفية بدقة تفاصيل المحادثة الشبكية بين الخادم الخارجي (172.66.147.243.443) والجهاز المحلي (172.18.0.2)، كاشفةً رايات بروتوكول TCP، والأرقام التتابعية، وقيم الإشعار بالاستلام (ACK)، إضافة إلى أحجام مقاطع البيانات المنقولة.

لتسليط الضوء على فرز بروتوكولات معينة دون غيرها، نُنشئ اتصالات تشخيصية نحو خادم DNS عام بتشغيل الأمر ping -c 2 8.8.8.8 > /dev/null 2>&1 & كعملية خلفية.

يقوم المعامل المرشح في الأمر tcpdump -i any -c 2 -n 'icmp' بمراقبة كل الواجهات (-i any) لاقتناص حزمتين (-c 2) تتبعان لبروتوكول رسائل التحكم بالإنترنت حصراً ('icmp') دون حل العناوين (-n).
وتبرز النتائج المسجلة نجاح التقاط حزم الطلب والرد بين البيئة المحلية (172.18.0.2) وخادم غوغل (8.8.8.8)، مع توثيق معرف الحزمة (id) ورقمها التسلسلي (seq) والطول الإجمالي للمحتوى بدقة تامة.

حفظ الحزم بصيغة PCAP وتحليل بنية المحتوى
نبدأ بتوليد سيل جديد من الحزم لتجربة التصدير، وذلك بإرسال 3 طلبات صدى محلياً عبر الأمر ping -c 3 127.0.0.1 > /dev/null 2>&1 & الذي يعمل في الخلفية.

يتولى الأمر tcpdump -i lo -c 3 -w /tmp/traffic_sample.pcap رصد 3 حزم (-c 3) تعبر الواجهة المحلية (lo) وحفظ تدفقها الثنائي الخام مباشرة في الملف المحدد (/tmp/traffic_sample.pcap).
تكمن الفائدة الجوهرية لهذا الأسلوب في تفادي طباعة البيانات على الطرفية وتفويت أي تفاصيل، مما يتيح أرشفة حركة المرور لمراجعتها لاحقاً أو تمريرها إلى أدوات الفحص الجنائي الرقمي والشبكي مثل Wireshark.

باستخدام الأمر tcpdump -r /tmp/traffic_sample.pcap -n -X، نقوم باسترجاع الملف المحفوظ (-r) وقراءة سجلاته بالأرقام الأصلية (-n)، مع تفعيل العرض المزدوج للحمولة والترويسات بنظامي السداسي عشر ورموز ASCII الصريحة (-X).
يمنحنا هذا العرض نظرة معمقة وفاحصة على تشريح حزم ICMP، حيث تتجاور البيانات الثنائية مع تمثيلها الحرفي، مما يتيح كشف محتويات البيانات المنقولة وتتبع أي خلل أمني أو بنيوي بسهولة.

عقب الانتهاء من الفحص والتحليل، يُستحسن تنظيف البيئة والتخلص من ملف الالتقاط التجريبي عبر الأمر rm -f /tmp/traffic_sample.pcap.

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