Ping-kommandot är ett mycket användbart verktyg när du snabbt vill kontrollera om det finns ett Lager 3-anslutningsproblem mellan två enheter i nätverket. Det visar alltså om det finns kommunikation, men inte var längs vägen ett eventuellt problem uppstår.
Det är här traceroute kommer in i bilden.
Traceroute används för att spåra paketens väg genom nätverket och därmed identifiera var ett problem inträffar. Kommandot skickar ut test-paket som stegvis passerar genom varje router – så kallade hops – på väg mot destinationen. Resultatet blir en lista över de routrar som paketen passerar, vilket gör det möjligt att se hur långt paketen kommer och vid vilken enhet kommunikationen bryts eller fördröjs.
På så sätt kompletterar traceroute ping-kommandot: medan ping bekräftar att en anslutning finns, visar traceroute var i vägen det eventuella felet ligger.
Syntaxen för traceroute-kommandot varierar något mellan olika operativsystem, vilket illustreras i figuren nedan.

Tracert i Windows
Nedan visas ett exempel på hur utdata från kommandot tracert ser ut på en Windows 10-dator:
C:\Users\PC-A> tracert 10.1.1.10
Tracing route to 10.1.1.10 over a maximum of 30 hops:
1 2 ms 2 ms 2 ms 192.168.10.1
2 * * * Request timed out.
3 * * * Request timed out.
4 * * * Request timed out.
^C
C:\Users\PC-A>
Obs: Använd Ctrl + C för att avbryta ett tracert kommando i Windows.
Vi ser här att det enda lyckade svaret kommer från R1:s gateway (192.168.10.1).
Därefter följer tre rader med asterisker (*), vilket innebär att tidsgränsen gick ut – alltså att nästa router inte svarade.
Detta tyder på att det finns ett problem någonstans utanför det lokala nätverket, eller att mellanliggande routrar är konfigurerade att inte svara på ICMP-förfrågningar.
I det här exemplet verkar felet ligga mellan R1 och R2.
Traceroute i Cisco IOS
Utdata från kommandot traceroute i Cisco IOS skiljer sig något från motsvarande kommando i Windows.
Studera topologin och exempel på utdata från R1, så ser du hur traceroute-resultatet presenteras i IOS-miljö.

R1# traceroute 10.1.1.10 Type escape sequence to abort. Tracing the route to 10.1.1.10 VRF info: (vrf in name/id, vrf out name/id) 1 209.165.200.226 1 msec 0 msec 1 msec 2 209.165.200.230 1 msec 0 msec 1 msec 3 10.1.1.10 1 msec 0 msec R1#
I det här exemplet ser vi att traceroute framgångsrikt når PC B, vilket bekräftar att Lager 3-anslutningen fungerar hela vägen från source till destinationen.
Om det däremot uppstår en timeout vid något steg i spårningen, tyder det på att ett problem finns längs vägen. Till exempel, om PC B 10.1.1.10 inte är tillgänglig, skulle traceroute-kommandot visa följande utdata:
R1# traceroute 10.1.1.10 Type escape sequence to abort. Tracing the route to 10.1.1.10 VRF info: (vrf in name/id, vrf out name/id) 1 209.165.200.226 1 msec 0 msec 1 msec 2 209.165.200.230 1 msec 0 msec 1 msec 3 * * * 4 * * * 5 *
Obs: Använd Ctrl + Shift + 6 för att avbryta en traceroute i Cisco IOS.
Hur traceroute skiljer sig mellan operativsystem
Det är viktigt att förstå att olika operativsystem använder olika metoder när de utför en traceroute.
Den underliggande tekniken skiljer sig alltså beroende på plattform:
- Windows använder ICMP Echo Requests, på samma sätt som ping-kommandot.
- Cisco IOS och Linux använder däremot UDP-paket med ogiltiga portnummer. När dessa paket når sin slutdestination, skickar den mottagande enheten tillbaka ett ICMP Port Unreachable-meddelande som svar.
Denna skillnad i hur traceroute fungerar påverkar hur brandväggar och mellanliggande routrar hanterar och filtrerar traceroute-trafiken. I vissa fall kan det innebära att traceroute fungerar i ett operativsystem men blockeras i ett annat – trots att själva nätverksanslutningen är intakt.
Extended Traceroute
Precis som det finns en utökad ping (Extended Ping), finns det också en utökad traceroute (Extended Traceroute). Med detta kommando kan en administratör justera olika parametrar och skapa mer specifika tester. Det är särskilt användbart vid felsökning av till exempel:
- routing-loopar,
- felaktig nästa hopp-router,
- eller när du vill identifiera var paket tappas eller blockeras, till exempel av en brandvägg.
Tracert i Windows
I Windows kan du ange vissa parametrar direkt i kommandoraden. Det är dock inte ett interaktivt kommando – du måste själv skriva alla alternativ. Följande exempel visar de tillgängliga parametrarna i Windows:
C:\Users\PC-A> tracert /?
Usage: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
Options:
-d Do not resolve addresses to hostnames.
-h maximum_hops Maximum number of hops to search for target.
-j host-list Loose source route along host-list (IPv4-only).
-w timeout Wait timeout milliseconds for each reply.
-R Trace round-trip path (IPv6-only).
-S srcaddr Source address to use (IPv6-only).
-4 Force using IPv4.
-6 Force using IPv6.
C:\Users\PC-A>
Extended Traceroute i Cisco IOS
I Cisco IOS är kommandot extended traceroute interaktivt, vilket betyder att systemet vägleder dig steg för steg genom olika inställningar – på samma sätt som vid extended ping.
Du startar kommandot genom att skriva traceroute utan att ange någon IP-adress i privileged EXEC-läget.
Därefter visar IOS en serie frågor där du kan ange olika parametrar, till exempel source-adress, timeout, antal försök (probes) och maximalt antal hopp (TTL) som ska användas i testet.
Obs: Tryck på Enter för att acceptera standardvärdena som visas inom hakparenteser.
Till exempel anta att du vill testa anslutningen till PC B från R1:s LAN-nätverk.
Detta test kan visserligen göras direkt från PC A, men med en utökad traceroute på R1 kan du själv bestämma vilken source-adress traceroute ska använda.

I exemplet nedan konfigureras traceroute så att source-adressen sätts till R1:s LAN-interface G0/0/1 (192.168.10.1):
R1# traceroute Protocol [ip]: Target IP address: 10.1.1.10 Ingress traceroute [n]: Source address: 192.168.10.1 DSCP Value [0]: Numeric display [n]: Timeout in seconds [3]: Probe count [3]: Minimum Time to Live [1]: Maximum Time to Live [30]: Port Number [33434]: Loose, Strict, Record, Timestamp, Verbose[none]: Type escape sequence to abort. Tracing the route to 192.168.10.10 VRF info: (vrf in name/id, vrf out name/id) 1 209.165.200.226 1 msec 1 msec 1 msec 2 209.165.200.230 0 msec 1 msec 0 msec 3 * 10.1.1.10 2 msec 2 msec R1#
Utdata visar att paketet till slut når destinationen 10.1.1.10, även om ett av hoppen inte svarade. Det bekräftar att anslutningen fungerar, men att det kan finnas en router som inte svarar på ICMP-förfrågningar längs vägen.