Traceroute (også kendt som tracert i Windows) er et netværksværktøj, der bestemmer stien, der tages af pakker på tværs af internettet eller et privat netværk ved at bruge Internet Control Message Protocol (ICMP) Echo Request og Echo Reply-meddelelser. Traceroute hjælper med at lokalisere, hvor potentielle netværksproblemer, såsom latenstid, pakketab eller overbelastning, kan opstå langs stien mellem to netværksenheder.
Det generelle koncept for, hvordan traceroute bruger ICMP ECHO-anmodninger til stisporing, er som følger:
1. Traceroute starter med at sende en ICMP ECHO-anmodningsmeddelelse med en lav Time-to-Live (TTL) værdi, typisk startende ved 1. TTL-feltet i en IP-pakke angiver, hvor mange netværksenheder (routere eller switche) pakken kan passere igennem før det kasseres.
2. ICMP ECHO-anmodningen sendes til den destinations-IP-adresse, som brugeren ønsker at spore ruten til.
3. Hver netværksenhed undervejs, der modtager ICMP ECHO-anmodningen, nedsætter TTL-værdien med 1. Hvis TTL når 0, før pakken når sin destination, sender enheden en ICMP Time Exceeded-meddelelse tilbage med den originale pakke inkluderet.
4. Traceroute modtager ICMP Time Exceeded-meddelelserne og udtrækker IP-adressen og andre relevante oplysninger fra de netværksenheder, der svarede. Denne information bruges til at bestemme den sti, som pakkerne tager.
5. Traceroute fortsætter med at sende ICMP ECHO-anmodninger med gradvist stigende TTL-værdier, indtil destinations-IP-adressen er nået, eller indtil en maksimal TTL-værdi er nået. Dette gør det muligt for traceroute at identificere hele ruten, som pakkerne tager.
Ved at analysere de svar, der er modtaget fra netværksenhederne langs stien, kan traceroute vise en liste over mellemliggende hop (netværksenheder), som pakkerne krydser, sammen med den tid, det tager for hvert hop og ethvert pakketab, der er stødt på. Disse oplysninger hjælper netværksadministratorer og brugere med at fejlfinde problemer med netværksforbindelser, identificere latenspunkter og bestemme den bedste vej mellem to noder i et netværk.
Det er værd at bemærke, at mens traceroute primært bruger ICMP ECHO-anmodninger, kan nogle versioner også bruge andre protokoller, såsom User Datagram Protocol (UDP) eller Transmission Control Protocol (TCP), til stisporing. Derudover kan tracert-kommandoen på Windows-systemer bruge TCP i stedet for ICMP som standard.