تحليل PCAP لـ TCP Keepalive وIdle Timeout: جدران الحماية، وNAT، وموازنات التحميل، والاتصالات طويلة الأمد
كيفية تحليل حزم TCP التي تحافظ على الحياة، ومهلة الخمول، وانتهاء جلسة NAT، وانقطاع اتصال جدار الحماية، وإعادة تعيين موازن التحميل، واتصالات API طويلة الأمد، وأدلة التقاط الحزم.
يمكن أن تفشل اتصالات TCP طويلة الأمد بعد دقائق أو ساعات من عدم النشاط. تجميد جلسات SSH. إعادة تعيين اتصالات قاعدة البيانات. انخفاض اتصالات WebSocket. تتوقف تدفقات RTSP TCP المشذّرة بعد فترات الخمول. يرى عملاء API الأنابيب المكسورة. يبحث المستخدمون عن "TCP keepalive pcap" و"مهلة خمول جدار الحماية" و"مهلة جلسة NAT" و"إعادة تعيين اتصال خامل لموازن التحميل" و"انقطاع اتصال TCP طويل الأمد" نظرًا لأن خطأ التطبيق غالبًا ما يظهر بعد فترة طويلة من قرار المهلة الحقيقية.
تعتبر جراحة PCAP مفيدة لأن تحقيقات مهلة الخمول تعتمد على التوقيت. أنت بحاجة إلى آخر حزمة بيانات حقيقية، وأي تحقيقات TCP keepalive، وACKs، وحزم FIN/RST، ومدة الخمول الدقيقة.
ما هو TCP keepalive
TCP keepalive عبارة عن آلية اختيارية ترسل مجسات صغيرة على اتصال خامل للتحقق مما إذا كان النظير لا يزال من الممكن الوصول إليه. ويمكنه أيضًا الحفاظ على حالة NAT وجدار الحماية على قيد الحياة إذا حدثت التحقيقات بشكل متكرر أكثر من انتهاء مهلة المربع الأوسط.
لكن حالات التخلف عن السداد غالبا ما تكون بطيئة للغاية بالنسبة للبنية الأساسية الحديثة. قد تنتهي صلاحية جدار الحماية في حالة الخمول بعد 60 ثانية بينما قد يبدأ نظام التشغيل OS TCP في وقت لاحق.
أعراض مهلة الخمول
تشمل الأعراض الشائعة ما يلي:
- يعمل الاتصال، ثم يفشل بعد فترة خمول محددة.
- تتم إعادة تعيين الطلب الأول بعد الخمول.
- يتم قطع اتصال WebSocket بعد 60 ثانية بالضبط.
- يحتوي تجمع قاعدة البيانات على اتصالات قديمة.
- يتجمد SSH من خلال NAT.
- يرسل موازن التحميل RST بعد انتهاء المهلة.
- يرسل العميل البيانات بعد الخمول ولا يتلقى أي رد.
التوقيت الدقيق هو الدليل.
FIN مقابل RST مقابل الهبوط الصامت
يمكن للصناديق الوسطى ونقاط النهاية إغلاق الاتصالات الخاملة بطرق مختلفة:
- FIN: إغلاق رشيق.
- RST: إغلاق فاشل.
- إسقاط صامت: لا توجد حزمة؛ يتم تجاهل حركة المرور في وقت لاحق.
إذا قام جدار الحماية بإسقاط الحالة بصمت، فقد تعتقد كلا نقطتي النهاية أن الاتصال لا يزال موجودًا. تقوم حزمة البيانات التالية بتشغيل عمليات إعادة الإرسال أو إعادة تعيين السلوك.
أدلة الحفاظ على قيد الحياة
في عملية التتبع، ابحث عن الحزم الصغيرة أثناء فترات الخمول. غالبًا ما تستخدم تحقيقات TCP keepalive أرقام التسلسل قبل البايت المتوقع التالي مباشرةً. قد يصنفها المحلل على أنها Keepalive.
أسئلة:
- هل تم إرسال التحفظات؟
- عدد المرات؟
- هل أقرهم النظير؟
- هل تم إعادة ضبط الصندوق الأوسط بعد البقاء على قيد الحياة؟
- هل بدأت التحقيقات بعد فوات الأوان؟
- هل انقطع الاتصال قبل فترة البقاء على قيد الحياة؟
تحميل الموازنات والوكلاء
غالبًا ما تفرض موازنات التحميل مهلات خاملة. إذا كان العميل يتوقع أن يستمر الاتصال لمدة 30 دقيقة ولكن يقوم موازن التحميل بإغلاق الاتصالات الخاملة بعد 60 ثانية، فيجب أن يرسل التطبيق نبضات القلب أو يعيد الاتصال.
يمكن أن توضح أدلة الحزمة من أرسل الإغلاق أو إعادة التعيين والمدة التي تلت آخر البيانات.
Checklist
استخدم سير العمل هذا:
- التعرف على اتصال TCP طويل الأمد.
- قم بوضع علامة على آخر حزمة بيانات للتطبيق.
- قياس وقت الخمول قبل الفشل.
- ابحث عن تحقيقات TCP keepalive.
- تحقق مما إذا كانت المجسات ACKed.
- تحديد مرسل FIN أو RST.
- إذا لم يظهر أي إغلاق، فابحث عن الإسقاط الصامت وإعادة الإرسال.
- قارن المهلة بإعدادات جدار الحماية/موازنة التحميل.
- الحفاظ على التوقيت عند التشذيب.
- ترتبط مع نبضات التطبيق.
التشخيص النهائي
تعتبر حالات فشل TCP الخاملة مشكلات توقيت. يمكن لأدلة الحزمة التمييز بين إغلاق نقطة النهاية، وانتهاء حالة جدار الحماية/NAT، وانتهاء مهلة موازن التحميل، والاحتفاظ المفقود، والاحتفاظ البطيء للغاية، والإسقاط الصامت.
تساعد جراحة PCAP في الحفاظ على الفاصل الزمني الخامل وأدلة الإغلاق/إعادة التعيين بحيث يمكن تفسير حالات فشل الاتصال طويلة الأمد بدقة.