ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) je protokol hlášení chyb, který síťová zařízení, jako jsou směrovače, používají ke generování chybových zpráv na zdrojovou IP adresu, když problémy se sítí brání doručování IP paketů. ICMP vytváří a odesílá zprávy na zdrojovou IP adresu, což naznačuje, že brána k internetu, jako je router, služba nebo hostitel, nelze dosáhnout pro doručení paketů. Jakékoli síťové zařízení IP má schopnost odesílat, přijímat nebo zpracovávat zprávy ICMP.

ICMP není transportní protokol, který odesílá data mezi systémy.

zatímco ICMP není používán pravidelně v aplikacích koncových uživatelů, je používán správci sítě k řešení problémů s připojením k internetu v diagnostických nástrojích včetně ping a traceroute.

k čemu se ICMP používá?

ICMP je protokol síťové vrstvy používaný směrovači, zprostředkovatelskými zařízeními a hostiteli ke komunikaci chybových informací nebo aktualizací jiným směrovačům, zprostředkovatelským zařízením a hostitelům.

ICMP zprávy jsou odesílány v několika scénářích. Pokud například jedno zařízení odešle zprávu, která je příliš velká pro zpracování příjemce, příjemce tuto zprávu zruší a odešle zprávu ICMP zpět ke zdroji. Dalším příkladem je, když síťová brána najde kratší trasu pro cestu zprávy. Když k tomu dojde, je odeslána zpráva ICMP a paket je přesměrován na kratší trasu.

ICMP se také používá pro diagnostiku sítě, konkrétně terminálové nástroje ping a traceroute.

echo message diagram
když hostitel odešle zprávu typu 8 echo, server odpoví zprávou typu 0 echo reply, protože je dosažitelná.
  • Traceroute. Nástroj traceroute se používá k zobrazení fyzické cesty směrování mezi dvěma internetovými zařízeními, která spolu komunikují. Mapuje cestu z jednoho routeru na druhý-někdy se tomu říká hop. Použití traceroute k diagnostice problémů se sítí může správcům pomoci najít zdroj zpoždění sítě.
  • Ping. Nástroj ping je jednodušší traceroute. Vysílá ping-také označované jako echo request messages-a pak měří množství času, který zpráva potřebuje k dosažení cíle a návratu ke zdroji. Tyto odpovědi se nazývají echo reply messages. Ping jsou užitečné pro shromažďování informací o latenci o konkrétním zařízení. Na rozdíl od traceroute však ping neposkytuje obrazové mapy rozvržení směrování. Nástroj ping je často využíván také pro určité útoky typu denial of service (DoS).

široce používaný internetový protokol verze 4 nebo třída adres IPv4 a novější IPv6 používají podobné verze protokolu ICMP-ICMPv4 a ICMPv6.

cílový nedostupný diagram
hostitel a se pokouší odeslat IP paket hostiteli B. hostitel B je nedostupný, takže router odpoví zprávou ICMP typu 3.

jak ICMP funguje?

ICMP je jedním z hlavních protokolů sady IP. ICMP však není přidružen k žádnému protokolu transportní vrstvy, jako je Transmission Control Protocol (TCP) nebo User Datagram Protocol (UDP). Jedná se o protokol bez připojení, což znamená, že zařízení nemusí před odesláním zprávy otevírat spojení s cílovým zařízením. To kontrastuje například s protokolem TCP, kde musí být navázáno spojení před odesláním zprávy, což dokazuje, že obě zařízení jsou připravena prostřednictvím handshake TCP.

ICMP zprávy jsou přenášeny jako datagramy a skládají se z hlavičky IP, která zapouzdřuje data ICMP. Datagram, podobně jako paket, je samostatná nezávislá entita dat. Ber to jako balíček nesoucí kus větší zprávy v síti. ICMP pakety jsou IP pakety s ICMP v datové části IP. Zprávy ICMP také obsahují celou hlavičku IP z původní zprávy, takže koncový systém ví, který paket selhal.

hlavička ICMP se objeví za hlavičkou paketu IPv4 nebo IPv6 a je identifikována jako IP protokol číslo 1. Protokol obsahuje tři parametry, vysvětlené níže. Následující tři parametry jsou data ICMP a původní záhlaví IP identifikující, který paket selhal.

parametry ICMP

parametry ICMP existují v záhlaví paketu a pomáhají identifikovat chyby v paketu IP, ke kterému se vztahují. Parametry jsou jako přepravní štítek na obalu. Poskytují identifikační informace o paketu a datech, které obsahuje. Protokoly a síťové nástroje přijímající zprávu ICMP tak vědí, jak s paketem zacházet.

prvních 32 bitů záhlaví paketu každé zprávy ICMP obsahuje tři informační pole nebo parametry. Tyto tři parametry jsou následující:

  1. Typ. Prvních 8 bitů jsou typy zpráv. Některé běžné typy zpráv zahrnují následující:
      1. Typ 0 — Echo odpověď
      2. typ 3 — Destination unreachable
      3. Typ 8 — Echo
      4. Typ 5 — Redirect

    typ poskytuje stručné vysvětlení toho, k čemu je zpráva určena, takže přijímající síťové zařízení ví, proč dostává zprávu a jak s ní zacházet. Například Echo typu 8 je dotaz, který hostitel odešle, aby zjistil, zda je k dispozici potenciální cílový systém. Po přijetí zprávy ozvěny může přijímající zařízení poslat zpět odpověď ozvěny (Typ 0), což znamená, že je k dispozici.

    Internet Assigned Numbers Authority (IANA) poskytuje seznam všech typů zpráv, které ICMP pakety používají.

  2. kód. Dalších 8 bitů představuje kód typu zprávy, který poskytuje další informace o typu chyby.
  3. kontrolní součet. Posledních 16 bitů poskytuje kontrolu integrity zprávy. Kontrolní součet zobrazuje počet bitů v celé zprávě a umožňuje nástroji ICMP zkontrolovat konzistenci s hlavičkou zprávy ICMP, aby se ujistil, že byl doručen celý rozsah dat.

další částí záhlaví ICMP je ukazatel. Skládá se z 32 bitů dat, které upozorňují na problém v původní zprávě IP. Konkrétně ukazatel identifikuje umístění bajtu v původní zprávě IP, která způsobila generování problémové zprávy. Přijímací zařízení se dívá na tuto část záhlaví, aby určilo problém.

poslední částí paketu ICMP je původní datagram. Skládá se z až 576 bajtů v IPv4 a 1 280 bajtů v IPv6 a obsahuje kopii původní zprávy IP obsahující chyby.

schéma paketů ICMP
záhlaví paketů ICMP přichází za hlavičkou IPv4 nebo IPv6. Obsahuje tři části: Typ, kód a kontrolní součet. Za hlavičkou následuje ukazatel, který identifikuje problém v původní zprávě a poté přichází původní datagram.

ICMP v DDoS útocích

v distribuovaných dos (DDoS) útocích útočníci přemohou cíl nežádoucím provozem, takže cíl nemůže poskytovat služby svým uživatelům. Existuje několik způsobů, jak může útočník použít ICMP k provedení těchto útoků, včetně následujících:

  • Ping smrti. Útočník odešle IP paket větší, než je počet bajtů povolených IP. Na cestě k zamýšlenému cíli je nadměrný paket roztříštěný. Když jej však přijímací zařízení znovu sestaví, velikost překročí limit, což způsobí přetečení vyrovnávací paměti a zamrzne nebo havaruje přijímací stroj. Novější zařízení mají obranu proti tomuto útoku staršího typu,ale starší síťová zařízení jsou stále zranitelná.
  • ICMP flood attack. Někdy se nazývá ping flood attack, cílem tohoto útoku je přemoci cílové zařízení pakety echo request. Každý paket žádosti o ozvěnu musí být zpracován cílem a reagovat na něj zprávami odpovědi ozvěny. To vysává všechny zdroje cílového počítače a způsobuje odmítnutí služby všem ostatním uživatelům cílového počítače.
  • šmoulí útok. Při Šmoulovém útoku, útočník odešle ICMP paket se zfalšovanou zdrojovou IP adresou, a zařízení síťové vrstvy odpoví na paket, odeslání zfalšované adresy záplavu paketů. Stejně jako ping of death, útoky Šmoulů pravděpodobně fungují na neohraničeném starším vybavení.

útoky DDoS založené na ICMP se staly stále častějším kybernetickým útokem. Zjistěte více o DDoS útocích obecně a o tom, jak se v posledních letech staly takticky rozmanitějšími.

Leave a Reply