- بروتوكول ICMP:
بروتوكول رسائل التحكم بالإنترنت (ICMP) هو عبارة عن مجموعة من قواعد الاتصال التي تستخدمها الأجهزة للإبلاغ عن أخطاء نقل البيانات عبر الشبكة. يمكن أن تحدث بعض الأخطاء غير المتوقعة أثناء تبادل الرسائل بين المرسل والمتلقي. على سبيل المثال، يمكن أن تكون الرسائل طويلة جداً، أو قد تصل حزم البيانات غير مرتبة بحيث لا يتمكن المتلقي من تجميعها. في مثل هذه الحالات، يستخدم المتلقي ICMP لإبلاغ المرسل برسالة خطأ ويطلب إعادة إرسال الرسالة.
وكما أن بروتوكول رسائل التحكم بالإنترنت (ICMP) يُعتبر بروتوكول طبقة شبكة تستخدمه أجهزة الشبكة لتشخيص مشكلات اتصال الشبكة. يتم استخدام ICMP بشكل أساسي لتحديد ما إذا كانت البيانات تصل إلى وجهتها المقصودة في الوقت المناسب أم لا. بشكل عام، يتم استخدام بروتوكول ICMP على أجهزة الشبكة، مثل أجهزة التوجيه. وكما تعد ICMP أمراً بالغ الأهمية للإبلاغ عن الأخطاء واختبارها، ولكن يمكن استخدامها أيضاً في هجمات رفض الخدمة الموزعة (DDoS).
- أنواع الرسائل التي يتم إنشاؤها بواسطة ICMP:
- رسائل الطلب والرد: يُستخدم هذا النوع من الرسائل لتأكيد الاتصال بين جهازين متصلين بالشبكة. يتم إرسال رسالة الطلب بواسطة أحد الأجهزة ويتم إرسال رسالة الرد بواسطة الجهاز الآخر لتأكيد الاتصال. مثال على ذلك هو الأمر “ping”.
- إعادة توجيه الرسائل: يُستخدم هذا النوع من الرسائل لإعادة توجيه تدفق حركة مرور الشبكة عبر مسار أكثر كفاءة. إذا تلقى جهاز التوجيه حزماً موجهة إلى شبكة متصلة بجهاز توجيه آخر، فيمكن لجهاز التوجيه المصدر إرسال رسالة إعادة توجيه إلى الجهاز المصدر لإرسال الحزم مباشرة إلى جهاز التوجيه النهائي.
- تجاوز الوقت الرسائل: يُستخدم هذا النوع من الرسائل لإبلاغ الجهاز المصدر بأنه لم يتم تسليم الحزمة بسبب انتهاء المهلة. إذا تلقى جهاز التوجيه حزمة ولم يتمكن من تسليمها إلى وجهتها خلال فترة زمنية معينة، فسيرسل جهاز التوجيه رسالة “تم تجاوز الوقت” إلى الجهاز المصدر.
- رسائل الوجهة التي لا يمكن الوصول إليها: يُستخدم هذا النوع من الرسائل لإبلاغ الجهاز المصدر بأنه لم يتم تسليم الحزمة لأن الوجهة لا يمكن الوصول إليها. إذا تلقى جهاز التوجيه حزمة ولم يتمكن من العثور على طريق إلى الوجهة، فسيرسل جهاز التوجيه رسالة “لا يمكن الوصول إلى الوجهة” إلى الجهاز المصدر.
- رسائل ICMP التي يستخدمها الأمر Ping:
يُعد بروتوكول رسائل التحكم بالإنترنت (ICMP) جزءاً لا يتجزأ من كيفية عمل الإنترنت. يتم استخدام ICMP لإرسال رسائل الخطأ والتحكم بين أجهزة الشبكة. أحد الأوامر الأكثر استخداماً في سطر الأوامر لنظام التشغيل Windows وأنظمة التشغيل الأخرى هو الأمر ping. يتم استخدام Ping للتحقق من الاتصال بين أجهزة الشبكة ولتحديد زمن وصول الشبكة. ولكن ما نوع رسائل ICMP التي يستخدمها أمر ping؟
- يرسل أمر ping حزم طلب الارتداد إلى عنوان IP محدد. تحتوي هذه الحزم على معلومات حول وقت إرسال الحزمة وتسلسل البيانات العشوائية. يستجيب الجهاز الوجهة لهذه الحزم بحزمة رد الارتداد التي تحتوي على نفس المعلومات الموجودة في حزمة الطلب الأصلية. إذا لم يستجب الجهاز الوجهة لحزم طلب الصدى، فهذا يعني أن الاتصال بين الأجهزة غير ممكن.
- كما يستخدم الأمر ping رسائل طلب صدى ICMP ورد الارتداد لتحديد اتصال الشبكة وزمن الاستجابة. تعد رسائل ICMP هذه جزءاً من مجموعة رسائل التحكم بالإنترنت (ICMP) ويتم استخدامها لإعلام أجهزة الشبكة بالأخطاء ومشكلات الاتصال. تُستخدم رسائل ICMP أيضاً لإعلام أجهزة الشبكة بمشكلات ازدحام الشبكة ومشكلات أخرى تتعلق بجودة الشبكة.
وإن هذه الرسائل تنشأ في طبقة ال IP Layer وإن ال IP يقوم بتغليف رسالة ICPM المناسبة في ترويسة جديدة لIP (وذلك لاسترداد رسالة ICMP لل Host المرسل الأصلي) ونقل ال Datagram الناتج في الحالة الطبيعية. وعلى سبيل المثال، كل جهاز توجيه ال IP Datagram يحتاج إلى إنقاص الزمن الباقي للحياة (TTL) الذي هو حقل في الترويسة بمقدار واحد. وإذا وصلت قيمة ال TTL إلى الصفر فإن رسالة
ICMP (Time to line exceeded in transit) ترسل إلى مصدر ال Datagram.و كل رسالة ICMP تغلف مباشرة من خلال IP Datagram وحيد.
الترويسة:
Bits | 160-167 | 168-175 | 176-183 | 184- 191 |
160 | Type | Code | Checksum | |
192 | سطر | سطر | سطر | سطر |
إن ترويسة ال ICPM تبدأ بعد البت 160 من ترويسة ال IP.
- خصائص عمل بروتوكول ICMP:
- بروتوكول رسائل التحكم في الإنترنت “ICMP” هو بروتوكول قياسي للإنترنت يُستعمل لجمع وقت الاستجابة، وتوافر الخدمة ومعلومات فقدان الحزمة لأجهزة الشبكة مثل أجهزة التوجيه على شبكة”IP”.
- يجمع مسبار “ICMP” هذه المعلومات عن طريق إرسال طلبات ارتداد “ICMP” على فترات زمنية محددة من قبل المستخدم وانتظار جهاز الشبكة لإرجاع استجابة ارتداد “ICMP”.
- يجب أن تحتوي استجابة الارتداد على رسالة “ICMP” الكاملة من طلب الارتداد عندما لا يواجه طلب الارتداد أية مشكلات في الشبكة.
- في حالة مصادفة حالة خطأ، مثل عدم إمكانية الوصول إلى جهاز التوجيه المحدد في طلب الارتداد، تعود استجابة الصدى مصحوبة بخطأ “ICMP” في الحزمة.
- إذا تم تعطيل الأمر “ping” على أحد الأجهزة يقوم مسبار “ICMP” بإنشاء رسالة “Q0S” لا يمكن الوصول إليها.
- يُنشئ مسبار “ICMP” رسائل “QoS” بناءً على بيانات الاستجابة التالية وهي متوسط وقت الاستجابة الشاشة الافتراضية ووقت الاستجابة الأقصى، ووقت الاستجابة الأدنى ومحاولات ناجحة ومحاولات فاشلة والنسبة المئوية لفقدان الحزم الشاشة الافتراضية وتوفر الخدمة الشاشة الافتراضية.
- يُمكن نشر مسبار “ICMP” على أي روبوت، حيث يتم تشغيل المجس “ppm v3.0” أو أحدث.وتكوين فحص “ICMP” باستخدام وحدة تحكم المشرف فقط، ويمكن لهذا المجس مراقبة ما يصل إلى “50000 مورد” في حوالي “5 دقائق” .
- استخدم خيار التحقق من عامل التصفية في واجهة المستخدم الرسومية لـ “ICMP” لتصفية الموارد المعروضة في جزء التنقل، حيث يقتصر على عرض ما يصل إلى “255 من الموارد” في المرة الواحدة.
- يتم عرض الإنذارات التي تم إنشاؤها من مسبار “ICMP” في “Infrastructure Manager” أو في التقارير المعروضة في “CA Unified Management Portal”.
- وظائف بروتوكول ICMP:
بروتوكول رسائل التحكم بالإنترنت (ICMP) هو بروتوكول مهم لطبقة الشبكة في شبكات الكمبيوتر. فإنه يوفر آلية موحدة لأجهزة الشبكة لنقل المعلومات الحيوية، مثل حالة الاتصال والشبكة. تستطيع جميع الأجهزة المتصلة بالشبكة، بما في ذلك أجهزة التوجيه وأجهزة نقطة النهاية، معالجة رسائل ICMP. تم تكييف ICMP للعمل مع كل من IPv4 وIPv6.ومن حالات استخدامه ووظائفه:
- الإعلان عن أخطاء الشبكة:
تبلغ رسائل أخطاء ICMP عن الأخطاء التي تواجه الشبكة، مثل الوجهات التي يتعذر الوصول إليها أو المُهَل الزمنية أو مشكلات التجزئة. الرسائل مهمة بشكل خاص لبروتوكول مخطط بيانات المستخدم (UDP)، الذي يتسم بنموذج اتصالات بدون اتصال. وبما أن UDP لا يوفر تسليماً موثوقاً به ومرتباً للحزم. فعند إرسال حزمة UDP، من المحتمل أن تضيع الحزمة، أو قد تصل ويصاحبها أخطاء مثل أخطاء المجموع الاختباري. في حالة حدوث ذلك، يرسل المتلقي رسائل الإبلاغ عن أخطاء ICMP مرة أخرى إلى المرسل لإبلاغه بالمشكلة.
وعلى سبيل المثال عندما يتعذر الوصول إلى مضيف أو شبكة بسبب فشل الارتباط أو لسبب آخر، ويتم الإبلاغ عن حزمة طبقة النقل الموجهة إلى رقم منفذ بدون إرفاق مستقبل عبر “ICMP”.
- الإعلان عن ازدحام الشبكة:
عندما يستقبل جهاز التوجيه الحزم بمعدل أسرع بكثير مما يمكنه إعادة التوجيه ويبدأ في تخزين عدد كبير جداً من الحزم، فإنّه سينشئ رسائل إخماد مصدر “ICMP” وتطلب هذه الرسائل الموجهة إلى المرسل إبطاء معدل إرسال الحزم.
- استكشاف الأخطاء وإصلاحها:
تدعم “ICMP” وظيفة الصدى التي ترسل حزمة في رحلة ذهاباً وإياباً بين مضيفين، وتُعد “PING” أداة شائعة لإدارة الشبكة، حيث تقوم “Ping” بإرسال سلسلة من الحزم وتقيس متوسط أوقات الذهاب والإياب ونسب فقدان الحوسبة.
حيث “PING” هي اختصار لـ “Packet Internet or Inter-Network Groper”.
- التشخيص:
يمكنك استخدام ICMP لتشخيص الشبكة. وهو يُستخدم بشكل شائع لأمري ping وtraceroute.
يختبر الأمر ping إمكانية الوصول إلى أجهزة الشبكة عن طريق إرسال حزم طلبات ارتداد ICMP إلى الجهاز المستهدف. إذا كان الجهاز قابلاً للوصول، فإنه يُرجع الرد على ارتداد ICMP. ويتحقق بشكل موثوق من زمن استجابة الشبكة، ويضمن توفر الجهاز.
يتتبع الأمر traceroute المسار الذي تسلكه الحزم من المصدر إلى الوجهة. للقيام بذلك، يرسل الأمر رسالتي طلب الارتداد والرد على الارتداد إلى الوجهة المستهدفة.
تحتوي طلبات الارتداد على قيمة مدة البقاء (TTL)، التي تنخفض بمقدار وحدة واحدة في كل مرة تمر فيها الحزمة عبر أحد أجهزة التوجيه. عندما تصل الحزمة إلى جهاز توجيه وقيمة TTL تساوي صفراً، يُرسل جهاز التوجيه رسالة ICMP مرة أخرى إلى المصدر.
تحتوي الرسالة على معلومات عن المسار الذي سلكته الحزمة. يكشف الأمر traceroute عن المسار الدقيق للحزمة، الذي يمكن أن يوفر لك إحصاءات عن أداء الشبكة.
5.أمان الشبكة:
يمكنك استخدام ICMP للكشف عن حركة مرور الشبكة غير المصرح بها، والسماح بحركة المرور المعتمدة فقط عبر الشبكة. تستخدم جدران الحماية ICMP للسماح بأنواع معينة من حركة المرور أو حظرها. ويستخدم مسؤولو الشبكة أيضاً أدوات مراقبة ICMP لتتبع حالة أجهزة الشبكة واتصالها واكتشاف الأجهزة غير المعروفة.
ويمكنك أيضاً استخدامه لتحديد أنماط حركة المرور غير المعتادة التي قد تشير إلى نشاط غير مصرح به.
- مبدأ عمل بروتوكول ICMP:
– تُوفر رسائل “ICMP” طريقة للشبكة والنظام لإخطار عنوان “IP” المصدر وهو نهاية الترحيل إذا كان المضيف البعيد وهو الطرف المستقبل لا يتلقى أي حزم تم إرسالها.
– يتم استخدام جهاز توجيه لإرسال الرسالة الشائعة “Destination Unreachable” إلى مضيف المصدر.
– سيؤدي ذلك بعد ذلك إلى إرساله إلى الجهاز أو البرنامج الذي أرسل حزم البيانات أولاً.ستتيح رسائل الخطأ هذه للبرنامج معرفة أنّ هناك مشكلة في اتصال الشبكة.
– بمجرد أن يتلقى البرنامج المصدر المعلومات التي تفيد بأنّ بعض حزم البيانات هذه لم تصل إلى المتلقي، فإنّه يقوم بإعادة إرسال هذه المعلومات إلى المستلم.
– كوظيفة رئيسية لا يتم استخدام “ICMP” بالضرورة بشكل منتظم من قبل الأفراد في تطبيقات المستخدم النهائي، ولكن يتم استخدامه من قبل العديد من مسؤولي الشبكة من أجل استكشاف أي أخطاء موجودة في اتصالات الإنترنت وإصلاحها من خلال تشخيص الأداة المساعدة.يتم استخدام البروتوكول الرئيسي الذي تستخدمه “ICMP” بواسطة الأجهزة الوسيطة والموجهات وحتى المضيفين من أجل التواصل في حالة حدوث خطأ، وإجراء التحديثات على أجهزة التوجيه والأجهزة الوسيطة والمضيفين.
– في هذه الحالة يستخدم “IPv4″ و”IPv6” إصدارات مماثلة من بروتوكول “ICMP”، والتي تسمى “ICMPv4“ و”ICMP6”.
– فيما يتعلق بكيفية ارتباط “ICMP” برؤوس الحزم المختلفة، يظهر رأس “ICMP” بعد رأس حزمة “IPv4” أو “IPv6” أثناء التعرف عليه بواسطة رقم بروتوكول، ويحتوي هذا البروتوكول المعقد على ثلاثة مكونات رئيسية وهي المكون الرئيسي الذي يتعرف على رسائل “ICMP”، والكود الثانوي الذي يحتوي على بيانات ومعلومات حول هذا النوع المعين من الحقول، والمجموع الاختباري الذي يساعد بالفعل في اكتشاف المشكلة المعينة التي تم تقديمها أثناء النقل.
– وكما يعمل بروتوكول رسائل التحكم بالإنترنت (ICMP) عادةً بالتزامن مع بروتوكولات الشبكة الأخرى مثل TCP/IP أو بروتوكول مخطط بيانات المستخدم (UDP). تتبادل المضيفات وأجهزة التوجيه رسائل ICMP أو حزم ICMP عند حدوث أحداث معينة في الشبكة.
– تتضمن حزمة ICMP عنوان حزمة ICMP وقسم بيانات ICMP.
- عنوان حزمة ICMP:
يحتوي عنوان ICMP على معلومات حول نوع الحزمة، ورمزها، والمجموع الاختباري، والمعرِّف. عند إرسال حزم ICMP، يقرأ متلقي الرسالة معلومات العنوان. ويتخذ الإجراء المناسب استناداً إلى نوع الحزمة.
على سبيل المثال، إذا كان النوع عبارة عن طلب ارتداد، فإن المتلقي يرسل رد ارتداد بالبيانات نفسها. أما إذا كان النوع عبارة عن تعذر الوصول إلى الوجهة، فإن المتلقي يرد برسالة تفيد بتعذر الوصول إلى الوجهة.
- قسم بيانات ICMP:
يتضمن قسم البيانات في رسالة ICMP معلومات مثل عنوان IP الخاص بالوجهة أو سبب العطل. ويحتوي أيضاً على رموز الأخطاء أو الرموز الرقمية التي تحدد الأخطاء.
إليك بعض الأمثلة:
- يشير رمز تعذر الوصول إلى الوجهة (النوع الثالث) إلى أنَّ المتلقي غير موجود على الشبكة.
- يُرسل رمز إعادة التوجيه (النوع الخامس) رسالة تشير إلى مسار أفضل إلى الوجهة إلى جهاز توجيه آخر.
- يختبر رمزاً طلب الارتداد والرد على الارتداد (النوعان الثامن والعاشر) الاتصال بين الأجهزة.
- تُظهر رسالة تجاوز الوقت أن الحزمة تجاوزت الحد الأقصى للوقت للوصول إلى الوجهة.
- تُشير رسالة Parameter Problem “مشكلة في المعلمة” إلى الوقت الذي يواجه فيه جهاز التوجيه مشكلة في عنوان حقل IP.
- تُرسَل الرسالة Source Quench “كبح المصدر” عندما يواجه جهاز التوجيه ازدحاماً ويحتاج إلى الحد من عدد الحزم التي يستقبلها.
- هجمات ICMP:
يُعتبر بروتوكول رسائل التحكم في الإنترنت (ICMP) أحد البروتوكولات المنتشرة والمستخدمة على نطاق واسع. يُستخدم هذا البروتوكول بشكلٍ رئيسي من خلال أجهزة الكمبيوتر المتصلة عبر الشبكات لإرسال رسائل خطأ متنوعة.
يُحاول المهاجمون عن بُعد استغلال نقاط ضعف بروتوكول ICMP.فهو بروتوكول مصمم للاتصال أحادي الاتجاه ولا يتطلب أي مصادقة. وهذا يمكّن المهاجمون عن بُعد من شن الهجمات التي تُعرف باسم “هجمات رفض الخدمة” (DoS)، أو الهجمات التي تمنح الأفراد غير المصرّح بهم صلاحية الوصول إلى الحزم الواردة والصادرة.
ومن أمثلة هجمات ICMP هجمات الإغراق بالطرق وهجمات ICMP_ECHO وهجمات رفض الرد بعد القرصنة على أحد المواقع. وتكون أجهزة الكمبيوتر المعرضة لهجمات ICMP أبطأ بكثير من غيرها (وهذا ينطبق على كل التطبيقات التي تستخدم الإنترنت)، كما أنها تعاني من مشكلات عند الاتصال بالإنترنت.
- هجمات رفض الخدمة “DOS”:
DoS أو رفض الخدمة هي محاولة لجعل كمبيوتر أو شبكة غير متوفرة لمستخدميها المقصودين. تتم إعاقة الاتصال بين المستخدمين المصابين، ولا يمكن استمراره بطريقة وظيفية. تحتاج أجهزة الكمبيوتر المعرضة لهجمات DoS عادة إلى إعادة تشغيل لتعمل بشكل صحيح.
وفي معظم الحالات، تكون الأهداف خوادم ويب ويكون الغرض عدم جعلها متوفرة لمستخدمين خلال مدة زمنية معينة.
المراجع:
- موقع help.eset.com.
- موقع amazon.com.
- موقع cloudflare.com.
- موقع marefa.org.