هنگامی که اطلاعات از طریق اینترنت منتقل می شود، سیستم های کامپیوتری داده ها را با استفاده از پروتکل پروتکل کنترل انتقال / پروتکل اینترنت (TCP/IP) ارسال و دریافت می کنند. اگر مشکلی در اتصال وجود داشته باشد، پیام های خطا و وضعیت مربوط به اتصال با استفاده از ICMP که بخشی از پروتکل اینترنت است ارسال می شود.
زمانی که یک رایانه از طریق اینترنت به سیستم دیگری متصل می شود (مانند یک اتصال کامپیوتر خانگی به یک وب سرور برای مشاهده سایت اینترنتی (Website)، ممکن است فرآیندی سریع و آسان به نظر برسد. در حالی که اتصال ممکن است در عرض چند ثانیه انجام شود، اغلب اتصالات جداگانه زیادی وجود دارد که باید اتفاق بیفتد تا کامپیوترها با موفقیت با یکدیگر ارتباط برقرار کنند.
در واقع، اگر بخواهید تمام مراحل اتصال به اینترنت را با استفاده از دستور مسیر ردیابی (Traceroute) ردیابی کنید، ممکن است تعجب کنید که اتصالات اینترنتی به همان اندازه که هستند موفق هستند. این به این دلیل است که برای هر “پرش” در طول مسیر، شبکه باید عملکردی داشته باشد و بتواند درخواستهای رایانه شما را بپذیرد.
در مواردی که مشکلی در اتصال وجود دارد، پروتکل پیام کنترل اینترنت میتواند کدهای برگشتی را به آن ارسال کند. سیستم شما توضیح می دهد که چرا اتصال ناموفق است.
این پیامها ممکن است پیامهایی مانند «شبکه غیرقابل دسترسی» برای سیستمی که از کار افتاده است، یا «دسترسی ممنوع است» برای یک سیستم امن و محافظتشده با رمز عبور باشد. ICMP همچنین ممکن است پیشنهادهای مسیریابی را برای کمک به دور زدن سیستمهای پاسخگو ارائه دهد. در حالی که ICMP می تواند انواع مختلفی از پیام ها را ارسال کند، اکثر آنها هرگز توسط کاربر دیده نمی شوند. حتی اگر پیام خطایی دریافت کردید، نرم افزاری که استفاده می کنید، مانند مرورگر وب، به احتمال زیاد قبلاً پیام را به زبان ساده (و امیدواریم با فنی کمتر) ترجمه کرده است که می توانید آن را درک کنید.
ICMP مخفف چیست؟
پروتکل پیام کنترل اینترنت یا “Internet Control Message Protocol”
کاربرد آن چیست؟
کاربرد اصلی پروتکل پیام کنترل اینترنت برای ارسال گزارش های خطا است. زمانی که دو دیوایس از طریق اینترنت یه یکدیگر متصل می شوند. ICMP در صورتی که داده های هر کدام از این دیوایس ها به مقصد نرسد، گزارش خطا مورد نظر را برای مبدا میفرستد. به عنوان مثال اگر اطلاعات ارسال شده برای یک روتر خیلی بزرگ باشد، روتر بسته را رها می کند و یک پیام ICMP مربوط به اطلاعات رها شده به مبدا ارسال می کند.
کاربرد دیگر پروتکل پیام کنترل اینترنت برای تشخیص و عیب یابی مشکلات شبکه است و که در فرایند پشتیبانی شبکه به دفعات مورد استفاده قرار می گیرد. ابزار های رایج در شبکه نظیر ping و traceroute هر دو از پروتکل ICMP استفاده می کنند. ابزار Traceroute برای نمایش مسیر ارسالی اطلاعات مورد نظر به مقصد و تعداد روتر هایی که در مسیر است مورد استفاده قرار می گیرد، همان مسیر فیزیکی واقعی روتر های متصل که درخواست ارسالی قبل از رسیدن به مقصد باید از آن عبور کند. این دستور می تواند دلیل تاخیر پکت ارسالی به مقصد را مشخص کند.
ابزار پینگ نسخه ی ساده شده از Traceroute است. پینگ در حقیقت سرعت اتصال بین دو دستگاه را تست می کند و گزارشی مبنی بر اینکه چقدر طول می کشد تا اطلاعات مورد نظر از مبدا به مقصد برسد و سپس مقصد به مبدا پاسخ دهد را ارائه می دهد.اگر چه Ping اطلاعاتی در مورد مسیریابی و روتر های بین مبدا و مقصد را نمایش نمی دهد اما هنوز یک معیار بسیار مفید برای اندازه گیری تاخیر بین دو دستگاه است. echo-request و echo-reply پیام های ICMP برای انجام عملیات پینگ است.
متأسفانه حملات در شبکه می توانند از این فرآیند سوء استفاده کنند و اختلال هایی در شبکه مانند ICMP flood attack و حمله مرگ با پینگ ایجاد کنند.
ICMP چگونه کار می کند؟
برخلاف پروتکل IP، ICMP با پروتکل لایه Transport مانند TCP یا UDP مرتبط نیست. این موضوع باعث می شود پروتکل پیام کنترل اینترنت یک پروتکل بدون نیاز به اتصال باشد. به عبارتی دیگر یک دستگاه نیازی به باز کردن پکت ارسالی برای ارسال پیام به مقصد ندارد.
این در حالی است که ترافیک معمولی توسط پروتکل IP با استفاده از پروتکل TCP انجام می شود، بدین گونه که هر دو دستگاه قبل از ارتباط و ارسال اطلاعات به یکدیگر باید با یکدیگر Handshake بکنند تا آمادگی هر دو دستگاه برای ارسال و دریافت اطلاعات سنجیده شود و قبل ارسال اطلاعات اصلی، اطلاعات دیگری را با یکدیگر به اشتراک می گذارند. همچنین ICMP یک پورت خاص را روی یک دستگاه را هدف قرار نمی دهد.
انواع پیامهای ICMP
پروتکل پروتکل پیام کنترل اینترنت شامل چندین نوع پیام مختلف است که هرکدام کاربرد خاصی دارند. این پیامها میتوانند به دو دسته کلی تقسیم شوند:
- پیامهای خطا: این پیامها برای اطلاعرسانی در مورد مشکلات ارتباطی استفاده میشوند. برخی از پیامهای خطای رایج ICMP عبارتند از:
- Destination Unreachable (مقصد غیرقابل دسترس): زمانی که یک بسته نمیتواند به مقصد خود برسد، این پیام ارسال میشود.
- Time Exceeded (زمان به پایان رسیده است): اگر یک بسته قبل از رسیدن به مقصد، زمان عمر (TTL) خود را از دست بدهد، این پیام فرستاده میشود.
- Parameter Problem (مشکل در پارامترها): هنگامی که یک بسته شامل مقادیر نادرستی در هدر IP باشد، این پیام صادر میشود.
- Source Quench (کاهش سرعت منبع): اگر دریافتکننده از بار زیاد روی شبکه رنج ببرد، میتواند با این پیام به فرستنده اطلاع دهد که سرعت ارسال را کاهش دهد.
- پیامهای اطلاعاتی: این پیامها برای نظارت و مدیریت شبکه مورد استفاده قرار میگیرند، از جمله:
- Echo Request و Echo Reply (درخواست و پاسخ پژواک): این پیامها برای اجرای دستور ping و بررسی اتصال بین دو دستگاه استفاده میشوند.
- Router Advertisement و Router Solicitation (اعلان روتر و درخواست روتر): این پیامها به دستگاههای شبکه کمک میکنند تا اطلاعات مربوط به مسیرهای پیشفرض را دریافت کنند.
استفادههای پیشرفته از ICMP
ICMP علاوه بر گزارش خطا و بررسی اتصال، در بخشهای پیشرفته شبکه نیز کاربرد دارد. برخی از این موارد عبارتند از:
- تشخیص و مدیریت مشکلات شبکه: مدیران شبکه میتوانند با استفاده از ابزارهایی مانند
ping
وtraceroute
مسیرهای شبکه را بررسی کرده و مشکلات را شناسایی کنند. - پیکربندی خودکار دستگاههای شبکه: برخی از پروتکلهای مسیریابی مانند OSPF و BGP از ICMP برای ارسال پیامهای کنترلی و تعیین بهترین مسیر استفاده میکنند.
- افزایش امنیت شبکه: فایروالها و سیستمهای تشخیص نفوذ (IDS) میتوانند از پیامهای ICMP برای شناسایی و مسدود کردن ترافیک مشکوک استفاده کنند.
تهدیدات امنیتی مرتبط با ICMP
متأسفانه، مهاجمان میتوانند از پروتکل پیام کنترل اینترنت برای حملات مخرب استفاده کنند. برخی از رایجترین حملات ICMP عبارتند از:
- ICMP Flood Attack: در این نوع حمله، مهاجم تعداد زیادی پیام ICMP Echo Request ارسال میکند تا منابع سیستم قربانی را مصرف کند و باعث اختلال در سرویسدهی شود.
- Ping of Death: در این حمله، مهاجم یک بسته ICMP با اندازهای فراتر از حد مجاز ارسال میکند که ممکن است باعث خرابی سیستم گیرنده شود.
- Smurf Attack: این حمله از ویژگی بازتاب ICMP سوءاستفاده میکند و حجم زیادی از ترافیک ICMP را به یک هدف خاص هدایت میکند.
راهکارهای مقابله با سوءاستفاده از ICMP
برای جلوگیری از حملات مبتنی بر ICMP، میتوان اقدامات زیر را انجام داد:
- فیلتر کردن پیامهای ICMP ناخواسته: فایروالها میتوانند برخی از پیامهای پروتکل پیام کنترل اینترنت مانند Echo Request را مسدود کنند تا از سوءاستفاده جلوگیری شود.
- محدود کردن نرخ ارسال بستههای ICMP: استفاده از تنظیمات امنیتی برای محدود کردن تعداد پیامهای ICMP در یک بازه زمانی مشخص میتواند به کاهش اثر حملات کمک کند.
- استفاده از IDS/IPS: سیستمهای تشخیص و جلوگیری از نفوذ میتوانند ترافیک غیرعادی ICMP را شناسایی کرده و اقدامات مناسبی انجام دهند.
نتیجهگیری
پروتکل ICMP یکی از اجزای کلیدی اینترنت است که برای گزارش خطا، عیبیابی و مدیریت ارتباطات شبکه مورد استفاده قرار میگیرد. با این حال، به دلیل ویژگیهای خاص خود، میتواند هدف حملات سایبری قرار گیرد. بنابراین، شناخت عملکرد، کاربردها و تهدیدات مرتبط با ICMP برای مدیران شبکه و متخصصان امنیت ضروری است تا بتوانند شبکههای خود را بهطور مؤثری مدیریت و محافظت کنند.