Hva er Traceroute og hva bruker du det til?

Når du bruker internett, er det veldig lett å glemme at det er mange fungerende deler og servere som bidrar til å holde World Wide Web i live. Hver pakke du sender, fra en chat-melding til et kattebilde, må reise gjennom sentraler og servere for å nå målet.

Dessverre er det ingenting som minner deg bedre om dette oppsettet enn når du ikke lenger kan koble til et nettsted. Årsaken kan være et sted på din side, på nettstedets side eller et sted midt i mellom. Og den beste måten å finne ut hvor problemet sitter på er ved å bruke Traceroute.

Hva er Traceroute?

Traceroute er en måte å spore ruten datapakkene dine tar når de tar seg gjennom internett. Ethvert moderne operativsystem kan spore en rute.

Når du starter en Traceroute, forteller du den hvilken nettside eller server du vil spore en rute til. Vanligvis er dette en nettadresse du prøver å nå, men du kan også mate den med en IP-adresse hvis du vil.

Når du har startet Traceroute, sender den pakker mot den angitte destinasjonen. Den logger deretter pakkens reiser og sender informasjonen tilbake til PC-en din, som så viser deg hvor de skal.

Dette er veldig nyttig hvis du prøver å finne en feil på nettverket. Hvis en server eller utveksling er nede, vil Traceroute støte på problemet og rapportere tilbake at noe ikke fungerer som det skal. Du kan deretter bruke denne informasjonen til å bedre diagnostisere hva som går galt.

Hvordan virker Traceroute?

Traceroute er en praktisk måte å diagnostisere nettverksfeil. Traceroutes oppfinnelse er imidlertid alt takket være en smart utnyttelse ved å bruke en pakkes «Time-to-Live»-variabel.

Hva er en pakkes «Time-to-Live»?

Ideelt sett når en datamaskin sender en pakke fra ett sted til et annet, kommer den dit uten problemer. Den tar den raskeste ruten den kan fra punkt A til punkt B og setter seg ikke fast eller holdes oppe.

Dessverre kan nettverk være kresne ting. Hvis en ingeniør gjør en feil mens han setter opp en server, er det mulig for pakker å sendes i en uendelig sløyfe mellom servere. Og hvis det skjer for ofte, kan et nettverk bli fylt med pakker som går rundt og rundt for alltid.

De smarte hodene bak datapakken kom opp med en løsning for å fikse dette, kalt «time-to-live» eller «TTL.» Hver pakke, før den sendes ut i det store ukjente, får et tall større enn 0 for sin TTL-verdi. Hvis denne verdien noen gang treffer 0, anses pakken som «død» og blir ødelagt.

Når pakken sendes av gårde, vil den gjøre flere stopp på forskjellige servere. Hver gang den ankommer en server, trekker den en av TTL-verdien. Vanligvis er denne TTL-verdien satt til et tall der pakken har mer enn nok tid til å nå sin destinasjon før den treffer 0. Men hvis pakken går inn i en løkke, vil TTL til slutt reduseres til pakken utløper.

Når en pakke utløper, sender serveren den ender med det som kalles en «ICMP Time Exceeded»-melding hjem. Dette er i hovedsak en melding om at pakken har møtt sin utidige død og forteller brukeren hvor pakken utløp for å hjelpe med feilsøking.

Hvordan en pakkes tid til å leve lot Traceroute fungere

Denne ICMP Time Exceeded-meldingen er nøkkelen til å få Traceroute til å fungere. For å starte sender Traceroute ut en pakke med en TTL satt til 1. Dette betyr at den forlater PC-en din, kommer til den første serveren, trekker en fra TTL-en, merker at den har en TTL på 0 og utløper.

Serveren som håndterer pakken på det tidspunktet sender deretter en ICMP Time Exceeded-melding tilbake til PC-en din, sammen med plasseringen. PC-en din logger deretter serverens plassering som det første trinnet mot målet ditt.

Den sender deretter en pakke med en TTL satt til 2, 3, og så videre til pakken ankommer destinasjonen din. Hver pakke vil utløpe på neste trinn i passasjen, og hver server underveis vil rapportere den utløpte pakken, og gi PC-en din informasjonen den trenger for å gi en anelse om hvor pakkene dine går.

Hva brukes Traceroute til?

På et grunnleggende nivå lar Traceroute deg ta en titt på hvordan pakker beveger seg rundt i et nettverk. Enten du er en nettverksingeniør som dobbeltsjekker for å se at alt flyter som det skal, eller du bare er interessert i hvordan pakkene dine reiser når du besøker Google, er Traceroute veien å gå.

Det er imidlertid også nyttig for å oppdage feil i systemet. Hvis Traceroute prøver å kontakte en server som ikke svarer, vil den legge merke til at pakken den sendte av ikke har utløst et svar på en stund. Når det har gått nok tid, erklærer Traceroute at «Forespørselen ble tidsavbrutt», noe som betyr at svaret ikke kom innen den tildelte tiden.

En tidsavbruddsforespørsel betyr selvfølgelig ikke alltid at serveren er nede; noen ganger liker ikke serveren Traceroute-forespørsler og blokkerer dem når de kommer gjennom. Men hvis du er relativt sikker på at ingen servere i kjeden skal blokkere en Traceroute, er det en god måte å diagnostisere en nettside eller server som ikke svarer når du prøver å koble til den.

Hva er forskjellen mellom Traceroute og Ping?

Teknisk dyktige lesere vil oppdage at Traceroute høres veldig ut som et annet hendig nettverksverktøy, Ping. Men mens de to funksjonene overlapper litt, bruker folk dem av forskjellige grunner.

Som vi dekket ovenfor, hjelper Traceroute deg med å finne ut hvor en pakke går når den forlater PC-en din. I mellomtiden forteller Ping deg om PC-en din kan nå en bestemt server, og hvor lang tid det tar å komme dit.

Som sådan, hvis du vil se alle deler av nettverkskjeden, er Traceroute der den er. I mellomtiden, hvis du bare vil se om en server svarer, kan du pinge den. Riktignok kan du gjøre det med Traceroute også, men du må vente en stund før den endelig kommer til serveren din før du får svaret du leter etter.

Hvordan utføre en Traceroute

Som vi sa tidligere, kan alle større operativsystemer utføre en Traceroute. Det er like enkelt som å åpne en kommandoterminal og skrive inn Traceroute-kommandoen.

For macOS trenger du bare å åpne Terminal og skrive inn «traceroute», etterfulgt av URL-en eller IP-adressen til destinasjonen. Det er det samme på Linux, men du må kanskje installere Traceroute først før du kan kjøre det.

Kjører traceroute-kommandoen på Linux.

På Windows-operativsystemer fungerer det på samme måte, bortsett fra at funksjonen kalles «tracert». Vi dekket tracert og andre kommandoer i guiden vår om kommandoer for å administrere trådløse nettverk på Windows, så sørg for å lese den hvis du vil lære om verktøyene du har til rådighet.

Bildekreditt: Michel Bakni/Wikimedia Commons

Spor pakkene dine med Traceroute

Hvis du vil se hvor pakkene dine går etter at de forlater PC-en din, er Traceroute veien å gå. Enten du vil diagnostisere et nettverksproblem eller bare er nysgjerrig på å se hvor pakkene dine drar til, er det enkelt å sette opp en og se dataene gå.