ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) är ett felrapporteringsprotokoll som nätverksenheter som routrar använder för att generera felmeddelanden till källans IP-adress när nätverksproblem förhindrar leverans av IP-paket. ICMP skapar och skickar meddelanden till källans IP-adress som indikerar att en gateway till internet, till exempel en router, tjänst eller värd, inte kan nås för paketleverans. Alla IP – nätverksenheter har möjlighet att skicka, ta emot eller bearbeta ICMP-meddelanden.

ICMP är inte ett transportprotokoll som skickar data mellan system.

medan ICMP inte används regelbundet i slutanvändarprogram används det av nätverksadministratörer för att felsöka Internetanslutningar i diagnostiska verktyg inklusive ping och traceroute.

vad används ICMP för?

ICMP är ett nätverkslagerprotokoll som används av routrar, mellanliggande enheter och värdar för att kommunicera felinformation eller uppdateringar till andra routrar, mellanliggande enheter och värdar.

ICMP-meddelanden skickas i flera scenarier. Om en enhet till exempel skickar ett meddelande som är för stort för att mottagaren ska kunna bearbeta kommer mottagaren att släppa det meddelandet och skicka ett ICMP-meddelande tillbaka till källan. Ett annat exempel är när nätverksgatewayen hittar en kortare rutt för meddelandet att resa på. När detta händer skickas ett ICMP-meddelande och paketet omdirigeras till den kortare rutten.

ICMP används också för nätverksdiagnostik, särskilt ping-och traceroute-terminalverktygen.

echo - meddelandediagram
när värden skickar ett typ 8-eko-meddelande svarar servern med ett typ 0-eko-svarsmeddelande eftersom det kan nås.
  • Traceroute. Traceroute-verktyget används för att visa den fysiska routingsvägen mellan två internetenheter som kommunicerar med varandra. Det kartlägger resan från en router till en annan-ibland kallad en hop. Att använda traceroute för att diagnostisera nätverksproblem kan hjälpa administratörer att hitta källan till en nätverksfördröjning.
  • Ping. Ping-verktyget är en enklare traceroute. Den skickar ut pingar – även kallad echo request messages – och mäter sedan hur lång tid det tar meddelandet att nå sin destination och återgå till källan. Dessa svar kallas echo-svarsmeddelanden. Pingar är användbara för att samla latensinformation om en specifik enhet. Till skillnad från traceroute tillhandahåller ping dock inte bildkartor över routningslayouten. Ping-verktyget utnyttjas ofta också för vissa DoS-attacker (denial of service).

den allmänt använda Internet Protocol version 4, eller IPv4 adressklass, och den nyare IPv6 använder liknande versioner av ICMP-protokollet-ICMPv4 respektive ICMPv6.

Destination oåtkomligt diagram
värd A försöker skicka ett IP-paket till värd B. värd B är oåtkomligt, så routern svarar med ett ICMP-meddelande av typ 3.

hur fungerar ICMP?

ICMP är ett av de viktigaste protokollen för IP-sviten. ICMP är dock inte associerat med något transportlagerprotokoll, såsom Transmission Control Protocol (TCP) eller User Datagram Protocol (UDP). Det är ett anslutningslöst protokoll, vilket innebär att en enhet inte behöver öppna en anslutning till målenheten innan du skickar ett meddelande. Detta står i kontrast till TCP, till exempel, där en anslutning måste upprättas innan ett meddelande kan skickas, vilket fastställer att båda enheterna är klara genom ett TCP-handslag.

ICMP-meddelanden överförs som datagram och består av en IP-rubrik som inkapslar ICMP-data. Ett datagram, ungefär som ett paket, är en fristående oberoende enhet av data. Tänk på det som ett paket som bär en bit av ett större meddelande över nätverket. ICMP-paket är IP-paket med ICMP i IP-Datadelen. ICMP-meddelanden innehåller också hela IP-rubriken från det ursprungliga meddelandet, så slutsystemet vet vilket paket som misslyckades.

ICMP-rubriken visas efter IPv4-eller IPv6-pakethuvudet och identifieras som IP-protokollnummer 1. Protokollet innehåller tre parametrar, förklaras nedan. Följande tre parametrar är ICMP-data och den ursprungliga IP-rubriken som identifierar vilket paket som misslyckades.

ICMP-parametrar

ICMP-parametrar finns i pakethuvudet, och de hjälper till att identifiera felen i IP-paketet som de avser. Parametrarna är som en fraktetikett på ett paket. De ger identifierande information om paketet och de data som den innehåller. På så sätt vet protokollen och nätverksverktygen som tar emot ICMP-meddelandet hur man hanterar paketet.

de första 32 bitarna i varje ICMP-meddelandes pakethuvud innehåller tre informationsfält eller parametrar. Dessa tre parametrar är följande:

  1. Typ. De första 8 bitarna är meddelandetyperna. Några vanliga meddelandetyper inkluderar följande:
      1. Typ 0 — Eko svar
      2. typ 3 — Destination oåtkomlig
      3. Typ 8 — Eko
      4. typ 5 — omdirigera

    typen ger en kort förklaring av vad meddelandet är för så att den mottagande nätverksenheten vet varför det får meddelandet och hur man behandlar det. Ett typ 8-Eko är till exempel en fråga som en värd skickar för att se om ett potentiellt destinationssystem är tillgängligt. När du får ett Echo-meddelande kan den mottagande enheten skicka tillbaka ett Echo-svar (Typ 0), vilket indikerar att det är tillgängligt.

    Internet Assigned Numbers Authority (IANA) ger en lista över alla meddelandetyper ICMP-paket använder.

  2. kod. De nästa 8 bitarna representerar meddelandetypskoden, som ger ytterligare information om feltypen.
  3. kontrollsumma. De sista 16 bitarna ger en meddelandeintegritetskontroll. Kontrollsumman visar antalet bitar i hela meddelandet och gör det möjligt för ICMP-verktyget att kontrollera om det är förenligt med ICMP-meddelandehuvudet för att se till att hela dataområdet levererades.

nästa del av ICMP-rubriken är pekaren. Den består av 32 bitar data som påpekar problemet i det ursprungliga IP-meddelandet. Specifikt identifierar pekaren byte-platsen i det ursprungliga IP-meddelandet som orsakade genereringen av problemmeddelandet. Den mottagande enheten tittar på den här delen av rubriken för att hitta problemet.

den sista delen av ICMP-paketet är det ursprungliga datagrammet. Den består av upp till 576 byte i IPv4 och 1 280 byte i IPv6 och innehåller en kopia av det ursprungliga felinnehållande IP-meddelandet.

ICMP - paketdiagram
ICMP-pakethuvudet kommer efter IPv4-eller IPv6-rubriken. Den innehåller tre delar: typ, kod och kontrollsumma. Rubriken följs av pekaren, som identifierar problemet i det ursprungliga meddelandet, och sedan kommer det ursprungliga datagrammet.

ICMP i DDoS-attacker

i distribuerade DoS-attacker (DDoS) överväldigar angripare målet med oönskad trafik så att målet inte kan tillhandahålla service till sina användare. Det finns flera sätt som en angripare kan använda ICMP för att utföra dessa attacker, inklusive följande:

  • Ping av döden. Angriparen skickar ett IP-paket som är större än antalet byte som tillåts av IP. På vägen till sin avsedda destination är det överdimensionerade paketet fragmenterat. Men när mottagarenheten återmonterar den överskrider storleken gränsen, vilket orsakar ett buffertspill och den mottagande maskinen fryser eller kraschar. Nyare enheter har försvar mot denna attack av äldre typ, men äldre nätverksenheter är fortfarande sårbara för den.
  • ICMP översvämning attack. Ibland kallas en ping flood attack, målet med denna attack är att överväldiga målenheten med echo request-paket. Varje echo-förfrågningspaket måste behandlas av målet och besvaras med echo-svarsmeddelanden. Detta suger upp alla måldatorns resurser, och det orsakar en överbelastning till andra användare av måldatorn.
  • Smurf attack. I en Smurfattack skickar angriparen ett ICMP-paket med en falsk IP-adress, och nätverksskiktutrustningen svarar på paketet och skickar den falska adressen en flod av paket. Liksom dödens ping är Smurfattacker mer benägna att arbeta med obesvarad äldre utrustning.

ICMP-baserade DDoS-attacker har blivit en allt vanligare cyberattack. Ta reda på mer om DDoS-attacker i allmänhet och hur de har blivit mer taktiskt olika de senaste åren.

Leave a Reply