ثلاث أدوات مختلفة تُبلِغ عن ثلاث نسخ مكررة مختلفة، وواحدة فقط منها حدث شبكي يمكنك التصرف بناءً عليه. إعادة إرسال TCP هي مُرسِل يعيد إرسال نطاق، وACK مكرر هو مُستقبِل يكرر إقرارًا، وإسقاط إعادة تشغيل ESP هو ارتباط أمني يرفض رقم تسلسل سبق أن قبله. لا يستلزم أي من الثلاثة أيًا من الآخرين. اقرأ كل عدّاد عند الطبقة التي تنتجه قبل أن تجمعها في قصة.

ثلاثة عدّادات لا تقيس أبدًا الحدث نفسه

تعني علامة إعادة إرسال TCP أن المُرسِل وضع نطاق تسلسل على السلك مرة أخرى. الفقد أحد أسباب ذلك، وقد يكون الالتقاط الذي بحوزتك ببساطة فاقدًا للحزمة الأصلية أو للإقرار الذي يفسر التوقيت. وACK المكرر هو تكرار المُستقبِل لإقرار تراكمي وفق قواعد استرداد TCP، وهو ليس كتابة تطبيقية مكررة ولا نسخة ثانية من البيانات.

يعمل ESP في فضاء تسلسلي خاص به. كل ارتباط أمني يرقّم الحزم التي يرسلها، ويحتفظ المستقبل بنافذة من الأرقام التي سبق أن قبلها، لذا تُهمَل حزمة ESP التي تصل مرتين بمقتضى تلك القواعد وحدها. لذلك تنتقل قطعة TCP المعاد إرسالها في حزمة ESP جديدة برقم تسلسل جديد، وهو سلوك صحيح في الطبقتين. يمكن أن تبدو البايتات نفسها جديدة في عدّاد وقديمة في آخر، ولا تكذب أي من الطبقتين.

ما يستطيع المحلل رؤيته وما لا يستطيع

ابدأ بمفردات المحلل، لأن أسماء المرشحات تصف ملاحظات لا تفاصيل داخلية للنهايات. العدّ بالأسماء نفسها التي تستخدمها الأداة يبقيك صادقًا حول ما قِيس فعلاً. العدّ من التقاط غير مكتمل هو عدّ لما نجا، لا لما حدث على السلك.

tshark -r trace.pcap -Y "tcp.analysis.retransmission" | wc -l
tshark -r trace.pcap -Y "tcp.analysis.duplicate_ack" | wc -l

اقرأ المعلومات الخبيرة بجانب تلك الأرقام، لأن تحذيرات المجموع الاختباري والترتيب تغيّر مقدار الوزن الذي تستحقه. يمكن أن يُظهر مسار مدمج من مستشعرين إطارًا واحدًا مرتين، وعدّ النسختين يختلق حدث استرداد لم يحدث قط.

عدّادات ESP تعيش في حالة النواة

أرقام تسلسل ESP تنتمي إلى الارتباط الأمني لا إلى تدفق TCP، لذا فالبوابة هي مكان السؤال. يسرد بيان الحالة عدّادات الحزم والأخطاء لكل ارتباط أمني لا يستطيع أي التقاط إعادة بنائها.

ip -s xfrm state
tshark -r trace.pcap -Y "esp" -T fields -e esp.seq | head

RFC 4303 يعرّف رقم التسلسل ونافذة منع إعادة التشغيل التي تستهلكه، ولهذا يرتفع العدّاد حتى عندما لا يكون هناك خطأ. أرقام التسلسل الخارجية الرتيبة التي لا يقابلها شذوذ في TCP تشير إلى مُرسِل مختلف أو مسار مكرر بدلًا من عاصفة إعادة إرسال. الالتقاط الخارجي لنفق مشفّر يخفي عادة أرقام تسلسل TCP الداخلية، لذا لا يمكنه إثبات ما فعله المكدس الداخلي. التقط داخل النفق فقط حيث تسمح السياسة، ولا تعطّل أبدًا منع إعادة التشغيل لإسكات تحذير غير ذي صلة.

حيث يغيّر موقع الرصد الإجابة

قبل التصعيد، اكتب كيف أُخذ الالتقاط: الواجهة، وهل أبلغت عملية الالتقاط عن إسقاطات، وهل الطوابع الزمنية قابلة للمقارنة بين المستشعرات. لا يستطيع موقع رصد واحد رؤية طرفي مسار، لذا فأي عبارة عن سلوك المستقبل هي استنتاج لا قياس. المسار المأخوذ على البوابة والمسار المأخوذ على المضيف سيختلفان في الترتيب تحت الحمل، وذلك الاختلاف ينتمي عادة إلى الالتقاط لا إلى النفق. ربط رؤيتين هو ما يحوّل العدّ إلى دليل.

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

قراءة الأرقام بالترتيب الصحيح

ابدأ من الطبقة التي طُرح عندها السؤال: تحذير TCP يُجاب عنه من التقاط TCP، وإسقاط ESP يُجاب عنه من عدّادات الارتباط الأمني على البوابة. عندئذ فقط اسأل هل تصف الرؤيتان الحزمة نفسها. الاستنتاج الذي يحتاج الطبقتين ينبغي أن يسمّيهما، لأن ادعاءً عن النفق يقوم على علامة TCP وحدها هو تخمين.

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

مقالات ذات صلة