پروتکل کنترل پیامهای اینترنتی (ICMP) چیست؟

پروتکل کنترل پیام های اینترنت (ICMP) ، یک پروتکل لایه شبکه است که برای تشخیص خطاهای ارتباطی با انجام مکانیزم کنترل خطا استفاده می شود. از آنجایی که مکانیزم IP داخلی برای ارسال پیام های خطا کنترل خاصی ندارد. برای ارائه کنترل خطا به پروتکل کنترل پیام اینترنت (ICMP) نیاز است.

روش کار ICMP در ارتباطات شبکه مشابه ارتباطاتی است که بین یک نجار در تعمیرات یک خانه و  یک فروشگاه تعمیر خانه اتفاق می‌افتد. فروشگاه گل میخ، تخته کف، مواد سقف، عایق و موارد دیگر را می فرستد، با این فرض که هر جزء و به ترتیب درست وارد می شود.

ICMP مانند ارتباط بین نجار و فروشگاه کار می کند. این پیام‌ها را از گیرنده به فرستنده درباره داده‌هایی که قرار است وارد شود، ارسال می‌کند. اگر داده به گیرنده نرسد یا به ترتیب اشتباه دریافت شود، ICMP به فرستنده اطلاع می دهد تا داده ها دوباره ارسال شوند. به این ترتیب، ICMP به سادگی یک پروتکل برای انتقال اطلاعات در مورد داده ها است، اما خود داده ها را مدیریت نمی کند.

همچنین، سطحی در مدل OSI که هفت لایه درگیر در انتقال شبکه را مشخص می کند، ندارد. درک ICMP می تواند به شما کمک کند تا متوجه شوید که چرا این ابزار ارزشمند است، اما همچنین مهم است که بدانید ICMP چگونه می تواند در حملات DDoS استفاده و به عاملی جهت تهدید سازمانها تیدیل شود.

ICMP برای چه مواردی استفاده می شود؟

ICMP برای گزارش خطاها و کوئری های مدیریتی استفاده می شود. پروتکل ICMP یک پروتکل پشتیبانی است و توسط دستگاه های شبکه مانند روترها برای ارسال پیام های خطا و اطلاعات عملیاتی استفاده می شود.
مهمترین کاربرد ICMP گزارش دادن خطاها است. به عنوان مثال، مدیریت بسته های بسیار بزرگ داده ممکن است برای یک روتر سخت باشد. در این صورت، روتر بسته داده را رها و یک پیام ICMP را به فرستنده ارسال می کند که موضوع را به او اطلاع می دهد.

یکی دیگر از کاربردهای رایج ICMP به عنوان یک ابزار تشخیصی برای ارزیابی عملکرد شبکه است. هم traceroute و هم ping از ICMP استفاده می کنند. Traceroute و ping پیام هایی هستند که در مورد اینکه آیا داده ها با موفقیت منتقل شده اند ارسال می شوند. هنگامی که از traceroute استفاده می شود، دستگاه هایی که بسته ای از داده ها برای رسیدن به مقصد از آنها عبور کرده است در گزارش نمایش داده می شوند. این شامل روترهای فیزیکی است که داده ها را مدیریت می کنند.

traceroute همچنین به شما می گوید که چقدر زمان طول کشید تا داده ها از یک دستگاه به دستگاه دیگر منتقل شوند. هر بار که داده ها بین روتر ها قرار می گیرند، این سفر به عنوان یک جهش یا hop نامیده می شود. اطلاعات آشکار شده توسط ردیابی را می توان برای فهمیدن اینکه کدام دستگاه ها در طول مسیر باعث تاخیر می شوند استفاده می شود.

پینگ شبیه به تراسروت ( a Traceroute) اما ساده تر است. گزارش می دهد که چقدر طول می کشد تا داده ها بین دو نقطه حرکت کنند. ICMP پینگ را تسهیل می کند، زیرا درخواست اکو ICMP و پاسخ اکو در طول فرآیند پینگ استفاده می شود.

ICMP همچنین برای آسیب رساندن به عملکرد شبکه استفاده می شود. این کار با استفاده از یک ICMP flood، یک حمله Smurf و یک پینگ حملات مرگ انجام می شود که دستگاهی را در شبکه تحت تأثیر قرار می دهد و از عملکرد عادی جلوگیری می کند.

چگونه از ICMP در حملات DDoS استفاده می شود؟

در یک حمله DDoS، ICMP معمولاً به چند روش مختلف استفاده می شود: از طریق حمله سیل ICMP، حمله مرگ با پینگ یا حمله Smurf.

  • حمله ICMP Flood :

در یک حمله ICMP Flood ، مهاجم سعی می کند آنقدر پینگ ارسال کند که دستگاه مورد هدف نتواند تمام بسته های درخواست اکو ICMP را مدیریت کند. از آنجایی که هر بسته نیاز به پردازش و پاسخ دارد، این امر منابع دستگاه را تخلیه می کند و از سرویس دهی به کاربران قانونی توسط دستگاه جلوگیری می کند.

  • پینگ مرگ :

حمله Ping-of-Death شامل ارسال یک پینگ بسیار بزرگ توسط مهاجم به دستگاهی است که نمی تواند پینگ هایی با آن اندازه را مدیریت کند. سپس ممکن است دستگاه خراب شود یا یخ بزند. بسته داده در حین حرکت به سمت هدف تکه تکه می شود، اما در طول فرآیند مونتاژ مجدد، دوباره کنار هم قرار می گیرد. هنگامی که به هدف می رسد، سرریز بافر وجود دارد که باعث اختلال در عملکرد دستگاه می شود. حملات پینگ مرگ بیشتر خطری برای تجهیزات قدیمی در شبکه است.

  • حمله اسمورف

در حمله Smurf، مهاجم یک بسته ICMP را ارسال می کند که دارای یک آدرس IP جعلی  است. هنگامی که تجهیزات موجود در شبکه پاسخ می دهند، هر پاسخ به آدرس IP جعلی ارسال می شود و هدف با تعداد زیادی بسته ICMP پر می شود. این نوع حمله نیز معمولاً فقط برای تجهیزات قدیمی مشکل ساز است.