نظرة عامة
تركز هذه التدوينة على استعراض آلية عمل الأمر ctstat المخصص لمتابعة إحصائيات تتبع الاتصالات (conntrack) ضمن نواة لينكس ونظام Netfilter. ستتعرف على كيفية استغلال هذه الأداة بكفاءة لرصد مؤشرات الأداء الحية واكتشاف الاختناقات الناجمة عن طفرات حركة المرور أو تسريب الجلسات في بيئات الإنتاج.
تجهيز البيئة وتفعيل وحدة conntrack في النواة
لبدء العمل مع الأداة، يتعين أولاً التأكد من توافر حزمة iproute2 وبرمجية conntrack المسؤولة عن التعامل مع طبقة تتبع الاتصالات:

بعد اكتمال التثبيت، نُحمّل وحدة النواة nf_conntrack لتمكين محرك تتبع الاتصالات من تجميع الإحصائيات ورصد الجلسات العابرة عبر الشبكة:

للتحقق من تمركز الأمر ctstat داخل المسارات التنفيذية للنظام وجاهزيته للاستخدام، ننفذ الأمر which ctstat:
تُعد ctstat واجهة استعلام خفيفة لقراءة جدول إحصائيات conntrack دورياً دون إجهاد النواة، وتدعم خيارات تشغيلية محددة:
⚙️ [أبرز الخيارات المتاحة]
-c, --count : تحديد عدد دورات جمع الإحصائيات قبل الخروج تلقائياً.-i, --interval : ضبط الفاصل الزمني بين التحديثات بالثواني.-h, --help : استعراض قائمة الخيارات والإرشادات المتاحة.-V, --version : عرض إصدار الأداة الحالي.

الاستخدام الأساسي والاطلاع على الخيارات
للتعرف السريع على صيغة الأوامر وكافة المتغيرات المدعومة من قِبل الأداة، يمكن استدعاء شاشة المساعدة عبر الأمر ctstat --help:
يوفر هذا الخيار ملخصاً شاملاً للمعاملات التي تتيح تخصيص الفواصل الزمنية وفلترة البيانات المعروضة.

إذا أردت الحصول على لقطة فورية سريعة لحالة الاتصالات الراهنة دون الدخول في وضع المراقبة المستمرة، يمكنك تمرير الخيار -c 1 لتنفيذ دورة قراءة واحدة فقط:
يعرض هذا الأمر الإحصائيات الحالية مباشرة ثم يُنهي الجلسة تلقائياً.

رصد التدفق الدوري وتتبع تأثير حركة المرور
لمتابعة تطور حالة الجلسات بفواصل زمنية محددة، ننفذ الأمر ctstat -i 2 -c 3 الذي يقوم بتحديث النتائج كل ثانيتين لثلاث مرات متتالية قبل التوقف:
تساعد هذه الميزة في ملاحظة التغيرات الديناميكية على مستوى الاتصالات خلال نافذة زمنية قصيرة.

لاختبار استجابة العدادات وتحفيز النواة على تسجيل اتصالات جديدة، نقوم بإرسال طلب ويب صامت إلى خادم خارجي عبر الأمر curl -s https://www.google.com > /dev/null:

عقب تدفق البيانات، نتحقق من التحديثات التي طرأت على مؤشرات التتبع بتشغيل الأمر ctstat -i 1 -c 2:
يوضح هذا الإجراء التبدل في أرقام الجلسات بمعدل قراءة كل ثانية لمرتين متتابعتين، مما يؤكد تفاعل النواة مع الجلسة المنشأة حديثاً.

تصفية الحقول المستهدفة ومطابقة قراءات النواة
عند الرغبة في التركيز على مقاييس محددة وتجاوز البيانات غير الضرورية، يوفر الخيار -k إمكانية انتقاء أعمدة معينة؛ حيث نطلب هنا متابعة الحقول entries,searched,found مرتين متتاليتين عبر الأمر ctstat -k entries,searched,found -c 2:
يتيح هذا الأسلوب عزل إجمالي الجلسات النشطة وعمليات البحث عنها بكفاءة عالية وقراءة مريحة.

وللتأكد من مطابقة النتائج مع الحالة الفعلية المسجلة داخل نظام الملفات الافتراضي للنواة، نقرأ مباشرة ملف العداد عبر الأمر cat /proc/sys/net/netfilter/nf_conntrack_count:
تتيح هذه الخطوة مقارنة القيمة المباشرة لعدد الجلسات مع رقم entries الظاهر في مخرجات ctstat للتحقق التام من دقة البيانات.

بهذا نكون قد استعرضنا كيفية توظيف أداة ctstat في رصد وتحليل سلوك تتبع الاتصالات تحت بيئة لينكس. يمنحك الاستخدام المنتظم لهذه الأداة قدرة استباقية على اكتشاف تشبع جداول الاتصال وحماية الخوادم وجدران الحماية من الانهيار أثناء فترات الحمل العالي.