Tietoverkot

ICMP (Internet Control Message Protocol)

Helppo
15 min

Mikä on ICMP?

Internet Control Message Protocol (ICMP) on verkkoprotokolla joka on suunniteltu tarjoamaan palautetta ja virheenraportointimekanismeja, joiden avulla voidaan vaihtaa tärkeää tietoa verkon tilasta ja ratkaista yhteyksien ongelmatilanteita.

ICMP-viestityypit ja koodit

ICMP-viestejä on erilaisia, ja ne on luokiteltu eri tyyppeihin ja koodeihin. Jokaisella viestityypillä on oma tarkoituksensa ja merkityksensä. Esimerkkejä yleisistä ICMP-viestityypeistä ovat:

  • Echo Request (ping)
  • Echo Reply (ping-vastaus)
  • Destination Unreachable (kohde tavoittamattomissa)
  • Time Exceeded (aikakatkaisu).

Ping

Ping, joka lienee monelle jo tuttu, on hyödyllinen työkalu, jota käytetään verkkojen yhteyksien testaamiseen ja saavutettavuuden arviointiin.

Pingin toiminta perustuu ICMP Echo Request (kaikupyyntö) ja Echo Reply (kaikuvastaus) -viesteihin. Ping-työkalu lähettää Echo Request -viestin määritettyyn kohdelaitteeseen, ja kohdelaitteen tulisi vastata Echo Reply -viestillä, jos se on käytettävissä ja tavoitettavissa.

  1. Lähettävä laite muodostaa ICMP Echo Request -viestin, joka sisältää tietyn tunnisteen ja lähettäjän tiedot.
  2. ICMP Echo Request -viesti lähetetään määriteltyyn kohdelaitteeseen.
  3. Kohdelaitteen vastaanottaessa ICMP Echo Request -viestin, se luo ICMP Echo Reply -viestin, joka sisältää saman tunnisteen ja vastaajan tiedot.
  4. ICMP Echo Reply -viesti lähetetään takaisin lähettävälle laitteelle.
  5. Lähettävä laite vastaanottaessaan ICMP Echo Reply -viestin tarkistaa tunnisteen ja vahvistaa yhteyden toimivuuden.

Traceroute

Traceroute on hyödyllinen työkalu, jota käytetään verkkojen reitityspolun ja solmujen seuraamiseen. Traceroute käyttää UDP-datagrammeja ja ICMP Time Exceeded -viestejä seuratakseen reitityspolkua.

Kun UDP-datagrammi saavuttaa verkkolaitteen, jossa sen TTL-arvo saavuttaa nollan, solmu lähettää ICMP Time Exceeded -viestin takaisin lähettäjälle. Ja kun lopulta datagrammi saavuttaa määränpääin ilman että TTL on loppu, Jos reitityspolku ei pääse määränpäähän, kohdesolmu lähettää ICMP Destination Unreachable -viestin.

  1. Traceroute alkaa lähettämällä UDP-datagrammin ensimmäiselle reitittimelle, jossa TTL-arvo on 1.
  2. Ensimmäinen reititin lähettää ICMP Time Exceeded -viestin, jossa ilmoitetaan, että TTL on ylitetty.
  3. Traceroute lähettää saman UDP-paketin uudestaan, mutta tällä kertaa TTL-arvo on 2.
  4. Tällä kertaa UDP-datagrammi pääsee yhden hypyn (hop) pidemmälle, ja toinen reititin matkan varrella palauttaa ICMP Time Exceeded -viestin.
  5. Prosessi jatkuu, kunnes ICMP-paketti saavuttaa määränpääsolmun, joka vastaa ICMP Destination Unreachable -viestillä. Tähän syynä on, että traceroute käyttää UDP-datagrammissa satunnaista UDP-porttia joka lähes varmasti ei ole auki. Eli siis toisin sanoen yrityksestä yhdistää UDP-porttin joka ei ole kuuntelemassa tulee vastauksena ICMP "Destination Unreachable" viesti.
  6. Näiden ICMP-viestien perusteella Traceroute palauttaa tiedot jokaisesta hyppysolmusta ja niiden viiveajoista.

Testaa oppimaasi

Miten Ping-työkalu toimii?

Miten Traceroute-työkalu toimii?

hakatemia pro

Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.

Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.