تحليل يدوي ثلاثي الاتجاهات لـ TCP في Wireshark

Thlyl Ydwy Thlathy Alatjahat L Tcp Fy Wireshark



بروتوكول التحكم في الإرسال هو بروتوكول مهم جدًا في طبقة النقل لنموذج OSI أو TCP / IP. هناك العديد من المزايا في TCP مثل:

  • يقوم TCP بإعادة الإرسال إذا لم يتم التعرف على أي بيانات مرسلة من قبل المتلقي في غضون بعض الوقت.
  • ينشئ TCP بعض الاتصال قبل إرسال البيانات. نسمي هذا الاتصال بالمصافحة ثلاثية الاتجاهات.
  • TCP لديه آلية التحكم في الازدحام.
  • يمكن لـ TCP اكتشاف الخطأ باستخدام بعض الطرق.

دعونا نتعلم بشكل أساسي عن مصافحة TCP ثلاثية الاتجاهات. دعنا نتعرف أيضًا على الحقول المهمة في Wireshark للمصافحة الثلاثية.







المصافحة الثلاثية

هناك ثلاث عمليات تبادل إطارات تحدث في مصافحة ثلاثية:



  1. SYN
  2. عرض + شكر
  3. ACK

يتم دائمًا إرسال الإطار الأول بواسطة العميل إلى الخادم. دعونا نفهم هذا من خلال رسم تخطيطي بسيط:



'خدمة الزبائن'

Frame1: يرسل العميل إطار SYN إلى الخادم ----------------------------------->

<------------------------------------------- يرسل الخادم إطار SYN + ACK للعميل: Frame2

Frame3: يرسل العميل إطار ACK إلى الخادم ----------------------------------->

يمكننا رؤية هذه الإطارات الثلاثة في Wireshark. يمكن استخدام مرشح 'tcp' في Wireshark لرؤية جميع إطارات TCP. هذه لقطة شاشة للإطارات الثلاثة:





دعونا الآن نفهم الإطارات الثلاثة بالتفصيل:



SYN

يحتوي هذا الإطار على العديد من المعلومات حول قدرات العميل لإبلاغ الخادم. تُظهر لقطة الشاشة التالية جميع الحقول المهمة في إطار SYN:

فيما يلي الحقول المهمة لإطار SYN:

منفذ المصدر: 50602
ميناء الوصول: 80
رقم التسلسل: 0
رقم الإقرار: 0
طول الرأس: 32 بايت
الإشارات: 0x002 (SYN):
إقرار: لم يتم التعيين
الدفع: لم يتم التعيين
إعادة التعيين: لم يتم التعيين
المزامنة: مجموعة -----> مجموعة البت هذه لأن هذا إطار SYN.
زعنفة: لم يتم تعيينها

النافذة: 65535
مؤشر عاجل: 0
خيار TCP - الحد الأقصى لحجم المقطع: 1460 بايت
خيار TCP - مقياس النافذة: 3 (الضرب في 8)
خيار TCP - مسموح SACK

عرض + شكر

يحتوي هذا الإطار على العديد من المعلومات حول قدرات الخادم لإبلاغ العميل. تُظهر لقطة الشاشة التالية جميع الحقول المهمة في إطار SYN + ACK:

يتعرف هذا الإطار أيضًا على إطار SYN الذي تم إرساله بواسطة العميل.

فيما يلي الحقول المهمة لإطار SYN + ACK:

منفذ المصدر: 80
ميناء الوصول: 50602
رقم التسلسل: 0
رقم الإقرار: 1

طول الرأس: 32 بايت (8)
الإشارات: 0x012 (SYN ، ACK)
شكر وتقدير: Set
الدفع: لم يتم التعيين
إعادة التعيين: لم يتم التعيين
له: جلس
زعنفة: لم يتم تعيينها

النافذة: 29200
مؤشر عاجل: 0
خيار TCP - الحد الأقصى لحجم المقطع: 1412 بايت
خيار TCP - مسموح SACK
خيار TCP - مقياس النافذة: 7 (الضرب في 128)

يمكننا أن نرى أن بتات 'إقرار' و 'SYN' تم تعيينها في هذا الإطار. هذا لأن هذا الإطار هو SYN + ACK.

ACK

هذا الإطار هو الإطار الأخير للمصافحة الثلاثية وأيضًا إقرار العميل لـ SYN + ACK. تُظهر لقطة الشاشة التالية جميع الحقول المهمة في إطار ACK:

فيما يلي الحقول المهمة لإطار ACK:

منفذ المصدر: 50602
ميناء الوصول: 80
رقم التسلسل: 1
رقم الإقرار: 1
طول الرأس: 20 بايت (5)
الإشارات: 0x010 (ACK)
عاجل: غير محدد
شكر وتقدير: Set
الدفع: لم يتم التعيين
إعادة التعيين: لم يتم التعيين
المزامنة: لم يتم التعيين
زعنفة: لم يتم تعيينها

النافذة: 32768

هنا ، يتم تعيين بت 'إقرار' فقط لأن هذا هو إطار ACK.

شرح لبعض الحقول المشتركة المهمة

المنفذ 80 : لاحظنا منفذًا واحدًا ثابتًا 80 في هذا البرنامج التعليمي. ذلك لأن هذا هو التقاط HTTP وأن المنفذ 80 ثابت (من جانب الخادم) لاتصال HTTP.

رقم التسلسل : رقم التسلسل لهذا الإطار. المزامنة هي الإطار الأول لذلك لدينا 0 كرقم تسلسلي.

إشارات TCP:

إعتراف - تضبط هذه البتة إذا كان الرتل عبارة عن ACK. مثال: SYN + ACK ، إطار ACK.

SYN - يتم ضبط هذه البتة إذا كان الإطار عبارة عن SYN. مثال: SYN.

نافذة او شباك : يشارك هذا الحقل الحجم الأقصى لنافذة المرسل في وضع الاستلام. مثال: لدينا حجم نافذة 65535 بايت في إطار SYN. هذا يعني أن جهاز الاستقبال يمكنه استقبال بيانات TCP بحد أقصى 65535 بايت في أي وقت.

كيس مسموح به : يتم ضبط هذا البت إذا كان الإرسال يدعم SACK [إقرار انتقائي].

الحجم الأقصى للجزء : يمكننا أيضا أن نسميها MSS. يحدد هذا الحد الأقصى لإطار البيانات الذي يمكن أن يستقبله المرسل. مثال: نحصل على MSS كـ 1460 بايت في إطار SYN.

خاتمة

لقد تعلمنا عن مصافحة TCP ثلاثية الاتجاهات وجميع الحقول المفيدة لإطارات SYN و SYN + ACK و ACK. إذا كنت تريد معرفة المزيد عن TCP ، فيمكنك اتباع رابط RFC هذا https://tools.ietf.org/html/rfc793 .