ICMP (Internet Control Message Protocol)

ICMP (Internet Control Message Protocol) er en fejlrapporteringsprotokol, som netværksenheder såsom routere bruger til at generere fejlmeddelelser til kildens IP-adresse, når netværksproblemer forhindrer levering af IP-pakker. ICMP opretter og sender meddelelser til kildens IP-adresse, der angiver, at en port til internettet, såsom en router, service eller vært, ikke kan nås til pakkelevering. Enhver IP-netværksenhed har evnen til at sende, modtage eller behandle ICMP-meddelelser.

ICMP er ikke en transportprotokol, der sender data mellem systemer.

mens ICMP ikke bruges regelmæssigt i slutbrugerapplikationer, bruges det af netværksadministratorer til fejlfinding af internetforbindelser i diagnostiske værktøjer, herunder ping og traceroute.

hvad anvendes ICMP til?

ICMP er en netværkslagsprotokol, der bruges af routere, mellemledsenheder og værter til at kommunikere fejloplysninger eller opdateringer til andre routere, mellemledsenheder og værter.

ICMP-meddelelser sendes i flere scenarier. For eksempel, hvis en enhed sender en meddelelse, der er for stor til, at modtageren kan behandle, vil modtageren droppe denne meddelelse og sende en ICMP-meddelelse tilbage til kilden. Et andet eksempel er, når netværksporten finder en kortere rute, som meddelelsen kan køre på. Når dette sker, sendes en ICMP-meddelelse, og pakken omdirigeres til den kortere rute.

ICMP bruges også til netværksdiagnostik, specielt ping-og traceroute-terminalværktøjerne.

echo message diagram
når værten sender en type 8 echo-besked, svarer serveren med en type 0 echo-svarmeddelelse, fordi den kan nås.
  • Traceroute. Traceroute-værktøjet bruges til at vise den fysiske rutevej mellem to internetenheder, der kommunikerer med hinanden. Det kortlægger rejsen fra en router til en anden-nogle gange kaldet et hop. Brug af traceroute til at diagnosticere netværksproblemer kan hjælpe administratorer med at finde kilden til en netværksforsinkelse.
  • Ping. Ping-værktøjet er en enklere traceroute. Det sender pings – også kaldet echo-anmodningsmeddelelser-og måler derefter den tid, det tager meddelelsen at nå sin destination og vende tilbage til kilden. Disse svar kaldes echo svar beskeder. Pings er nyttige til indsamling af latensoplysninger om en bestemt enhed. I modsætning til traceroute leverer ping dog ikke billedkort over rutelayoutet. Ping-værktøjet udnyttes ofte også til visse DoS-angreb (denial of service).

den udbredte internetprotokol version 4 eller IPv4-adresseklasse og den nyere IPv6 bruger tilsvarende versioner af ICMP-protokollen-henholdsvis ICMPv4 og ICMPv6.

Destinationsdiagram
Host a forsøger at sende en IP-pakke til Host B. Host B kan ikke nås, så routeren reagerer med en type 3 ICMP-meddelelse.

Hvordan virker ICMP?

ICMP er en af de vigtigste protokoller i IP-pakken. ICMP er dog ikke forbundet med nogen transportlagsprotokol, såsom Transmission Control Protocol (TCP) eller User Datagram Protocol (UDP). Det er en forbindelsesløs protokol, hvilket betyder, at en enhed ikke behøver at åbne en forbindelse med målenheden, før du sender en besked. Dette står i kontrast til TCP, for eksempel, hvor der skal oprettes en forbindelse, før en meddelelse kan sendes, hvorved det fastslås, at begge enheder er klar via et TCP-håndtryk.

ICMP-meddelelser overføres som datagrammer og består af en IP-overskrift, der indkapsler ICMP-dataene. Et datagram, ligesom en pakke, er en selvstændig uafhængig enhed af data. Tænk på det som en pakke, der bærer et stykke af en større besked på tværs af netværket. ICMP-pakker er IP-pakker med ICMP i IP-datadelen. ICMP-meddelelser indeholder også hele IP-overskriften fra den oprindelige meddelelse, så slutsystemet ved, hvilken pakke der mislykkedes.

ICMP-overskriften vises efter IPv4-eller IPv6-pakkehovedet og identificeres som IP-protokolnummer 1. Protokollen indeholder tre parametre, forklaret nedenfor. Efter de tre parametre er ICMP-dataene og den oprindelige IP-overskrift, der identificerer, hvilken pakke der mislykkedes.

ICMP-parametre

ICMP-parametre findes i pakkehovedet, og de hjælper med at identificere fejlene i IP-pakken, som de vedrører. Parametrene er som en forsendelsesetiket på en pakke. De giver identificerende oplysninger om pakken og de data, den indeholder. På den måde ved protokollerne og netværksværktøjerne, der modtager ICMP-meddelelsen, hvordan man håndterer pakken.

de første 32 bit af hver ICMP-meddelelses pakkehoved indeholder tre informationsfelter eller parametre. Disse tre parametre er følgende:

  1. Type. De første 8 bits er meddelelsestyperne. Nogle almindelige meddelelsestyper inkluderer følgende:
      1. Type 0 — Echo svar
      2. Type 3 — Destination uopnåelig
      3. Type 8 — Echo
      4. Type 5 — Redirect

    typen giver en kort forklaring på, hvad meddelelsen er til, så den modtagende netværksenhed ved, hvorfor den får beskeden, og hvordan man behandler den. For eksempel er et type 8-ekko en forespørgsel, som en vært sender for at se, om et potentielt destinationssystem er tilgængeligt. Efter modtagelse af en Echo-meddelelse sender den modtagende enhed muligvis et Echo-svar tilbage (Type 0), hvilket indikerer, at det er tilgængeligt.

    Internet Assigned Numbers Authority (IANA) indeholder en liste over alle meddelelsestyper, som ICMP-pakker bruger.

  2. kode. De næste 8 bits repræsenterer meddelelsestypekoden, som giver yderligere oplysninger om fejltypen.
  3. kontrolsum. De sidste 16 bits giver en beskedintegritetskontrol. Kontrolsummen viser antallet af bits i hele meddelelsen og gør det muligt for ICMP-værktøjet at kontrollere, om der er overensstemmelse med ICMP-meddelelsesoverskriften for at sikre, at hele dataområdet blev leveret.

den næste del af ICMP-overskriften er markøren. Den består af 32 bit data, der påpeger problemet i den oprindelige IP-meddelelse. Specifikt identificerer markøren byte-placeringen i den oprindelige IP-meddelelse, der forårsagede genereringen af problemmeddelelsen. Modtagerenheden ser på denne del af overskriften for at finde ud af problemet.

det sidste afsnit af ICMP-pakken er det originale datagram. Den består af op til 576 bytes i IPv4 og 1.280 bytes i IPv6 og indeholder en kopi af den oprindelige fejlholdige IP-meddelelse.

ICMP pakke diagram
ICMP pakke header kommer efter IPv4 eller IPv6 header. Den indeholder tre dele: type, kode og checksum. Overskriften efterfølges af markøren, som identificerer problemet i den oprindelige meddelelse, og derefter kommer det originale datagram.

ICMP i DDoS-angreb

i distribuerede DoS-angreb (DDoS) overvælder angribere målet med uønsket trafik, så målet ikke kan levere service til sine brugere. Der er flere måder, en angriber kan bruge ICMP til at udføre disse angreb, herunder følgende:

  • Dødens Ping. Angriberen sender en IP-pakke større end antallet af bytes tilladt af IP. På vej til den tilsigtede destination er den overdimensionerede pakke fragmenteret. Men når modtagerenheden samler den igen, overstiger størrelsen grænsen, hvilket forårsager et bufferoverløb, og den modtagende maskine fryser eller går ned. Nyere enheder har forsvar mod dette angreb af ældre type, men ældre netværksenheder er stadig sårbare over for det.
  • ICMP oversvømmelse angreb. Nogle gange kaldet et ping-oversvømmelsesangreb, målet med dette angreb er at overvælde målenheden med echo-anmodningspakker. Hver echo-anmodningspakke skal behandles af målet og besvares med echo-svarmeddelelser. Dette suger op alle målcomputerens ressourcer, og det forårsager et lammelsesangreb til andre brugere af målcomputeren.
  • smølf angreb. I et Smurfangreb sender angriberen en ICMP-pakke med en forfalsket kilde-IP-adresse, og netværkslagets udstyr svarer på pakken og sender den forfalskede adresse en oversvømmelse af pakker. Ligesom ping of death er Smurfangreb mere tilbøjelige til at arbejde på uforsvaret arveudstyr.

ICMP-baserede DDoS-angreb er blevet et stadig mere udbredt cyberangreb. Find ud af mere om DDoS-angreb generelt, og hvordan de er blevet mere taktisk forskellige i de senere år.

Leave a Reply