ICMP یا Internet Control Message Protocol چیست؟
ICMP یک پروتکل لایه ی شبکه است که توسط دستگاه های شبکه به منظور تشخیص مشکلات ارتباطات شبکه مورد استفاده قرار می گیرد.
خلاصه تخصصی مقاله
ICMP یک پروتکل لایه ی شبکه است که توسط دستگاه های شبکه به منظور تشخیص مشکلات ارتباطات شبکه مورد استفاده قرار می گیرد.
موضوعات اصلی: ICMP، دستگاه، استفاده، شبکه، ping، پروتکل
ICMP یک پروتکللایهی شبکهاست که توسط دستگاههای شبکه به منظور تشخیص مشکلات ارتباطات شبکه مورد استفاده قرار میگیرد. ICMP بررسی میکند آیا دادهها به موقع به مقصد مورد نظر خود میرسند یا خیر.
به طور معمول، پروتکل ICMP در دستگاههای شبکه مانند روترها مورد استفاده قرار میگیرد. این پروتکل برای گزارش و آزمایش خطا بسیار مهم است؛ اما درحملات DDoSنیز از آن استفاده میشود.
از ICMP به چه منظوری استفاده میشود؟
هدف اصلی Internet Control Message Protocol گزارش خطا است. زمانی که دو دستگاه از طریق اینترنت با یکدیگر ارتباط برقرار میکنند، در صورت عدم رسیدن هر یک از دادهها به مقصد مورد نظر، ICMP خطاهایی را برای اشتراک با سایر دستگاههای ارسال کننده ایجاد میکند. به عنوان مثال، در صورتی که یکپکت دادهبرای روتر خیلی بزرگ باشد، روتر پکت را رها نموده و پیام ICMP را به مبدا اصلی باز میگرداند.
استفاده دیگر پروتکل ICMP در امور مربوط به تشخیص شبکه است. Traceroute و ping هر دو با این پروتکل کار میکنند. از ابزار traceroute برای نشان دادن مسیر بین دو دستگاه اینترنتی استفاده میشود.
مسیر انتخاب شده، مسیر واقعی فیزیکی روترهای متصل است که یک درخواست میبایست قبل از رسیدن به مقصد از آن عبور کند. سفر بین یک روتر و دستگاه دیگر، تحت عنوان hop شناخته میشود و traceroute نیز زمان مورد نیاز برای هر “هاپ” را در طول مسیر گزارش میکند. این امر میتواند برای تعیین منابع تاخیر شبکه مفید باشد.
ابزار ping نسخهی ساده شدهی traceroute است. یک ping سرعت اتصال بین دو دستگاه را بررسی نموده و به طور دقیق اعلام میکند که یک پکت چقدر طول میکشد تا به مقصد خود برسد و مجددا به دستگاه فرستنده برگردد.
هرچند که ping، دادههای مربوط به مسیریابی یا هاپ را ارائه نمیدهد، اما هنوز هم یک معیار بسیار مفید برای اندازهگیری تاخیر بین دو دستگاه به شمار میرود. پیامهای echo-request و echo-reply به طور معمول برای انجام یک ping مورد استفاده قرار میگیرند.
متاسفانه حملات شبکه میتوانند از این فرایند سوء استفاده کرده و ابزارهایی جهت ایجاد اختلال مانند ICMP flood attack و ping of death attack تولید نمایند.
ICMP چگونه عمل میکند؟
برخلافIP یا پروتکل اینترنتICMP با پروتکل لایهی انتقال مانندTCPیاUDPارتباطی ندارد. همین امر موجب میشود ICMP یک پروتکل بدون اتصال باشد یعنی یک دستگاه نیازی به اتصال با دستگاه دیگر قبل از ارسال پیام ICMP ندارد.
ترافیک معمولی IP با استفاده از TCP ارسال میشود. به عبارت دیگر، هر دو دستگاهی که دادهها را رد و بدل میکنند، ابتدا میبایست اطمینان حاصل کنند که هر دو دستگاه آمادهی دریافت دادهها هستند. در ضمن پروتکل ICMP برای هدف قرار دادن یک پورت خاص بر روی دستگاه مجاز نیست.
چگونه از پروتکل ICMP در حملات DDoS استفاده میشود؟
ICMP flood attack
یک ping flood یا ICMP flood زمانی رخ میدهد که مهاجم در تلاش است دستگاه مورد نظر را با پکتهای ICMP echo-request تحت فشار قرار دهد. هدف میبایست هر پکت را پردازش نموده و به آن پاسخ دهد، تا زمانی که کاربران قانونی نتوانند سرویس دریافت کنند.
حمله Ping of death
حمله ping of death زمانی رخ میدهد که مهاجم یک ping بزرگتر از حداکثر اندازهی مجاز به پکت دستگاه مورد نظر بفرستد و در نهایت موجب آسیب رساندن به دستگاه گردد.
پکت در راه رسیدن به مقصد خود، پراکنده میشود اما زمانی که هدف مجددا پکت را در اندازهی اصلی بیش از حد اصلی خود جمع کند، اندازهی پکت منجر به جریان بیش از حد خواهد شد.
حملهSmurf
درحمله smurfمهاجم یک پکت ICMP به همراه آدرس IP جعلی ارسال میکند. تجهیزات شبکه به پکتها پاسخ میدهند و پاسخها را به آدرس IP جعلی میفرستند و سیل عظیمی از پکتهای ناخواستهی ICMP را به سمت قربانی ارسال میکنند.
حملهی smurf نیز مانند ping of death تنها با تجهیزات قدیمی شبکه امکان پذیر است.
Internet Control Message Protocol تنها پروتکل لایهی شبکه نیست که در حملات لایهی 3 دیداس استفاده میشود. به عنوان مثال، مهاجمان در گذشته از پکتهای GRE استفاده میکردند.
حملات DDoS لایهی شبکه عموما تجهیزات و زیرساختهای شبکه را مورد هدف خود قرار میدهند؛ در مقابل، حملات دیداسلایهی ApplicationویژگیXNET را هدف قرار میدهند.
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.