JungleLabs Insights

Hur man använder Traceroute för att diagnostisera nätverksanslutningsproblem

Artikel

När en webbplats, server eller online-tjänst inte svarar är det inte alltid tydligt var problemet ligger. Din dator kan vara ansluten till det lokala nätverket, men destinationen förblir oförskyllig. Problemet kan ligga i din hemrouter, din internetleverantörs nätverk, ett avlägset nätverk eller själva målservern.

Traceroute är ett nätverksdiagnostiskt verktyg som hjälper till att visa vilken väg paket tar från din enhet mot en målplats. Den visar mellanliggande router, ofta kallade hopp, och mäter hur lång tid det tar för svar från varje en. Detta kan hjälpa dig att identifiera var vägen ändras, där fördröjningar börjar eller där svar upphör att visas.

Traceroute visar inte alla detaljer om hur internetroutning fungerar, och en timeout innebär inte automatiskt att en router eller länk är trasig. Många routrar begränsar eller filtrerar svar som traceroute bygger på. Ändå blir det till en användbar första steg i felsökning när du förstår vad utdata kan och inte kan säga.

Den här guiden förklarar hur traceroute fungerar, hur du kör den på Windows, macOS och Linux, och hur du tolkar vanliga resultat. Om du lär dig nätverksgrunder hjälper det också till att förstå rollen hos en standardgateway och hur IP-adressintervall är organiserade i undernät.

Vad är Traceroute?

Traceroute är ett kommandoradsverktyg som försöker identifiera de router som en paket passerar genom på vägen till en målplats. På Windows kallas det inbyggda verktyget tracert. På macOS och de flesta Linux-distributionerna kallas det tracerouteNamnen är olika, men deras huvudsakliga syfte är liknande.

Verktyget skickar en serie prov med gradvis ökade hopgränser. En hopgräns anger ett paket hur många router det får passera innan det måste kasseras. I IPv4 kallas detta fält för Livetid, eller TTL. I IPv6 kallas det the Hoppgräns.

När en router vidarebefintar ett paket minskar den TTL eller Hop Limit. När värdet når noll, kastar routern bort paketet och kan skicka ett svar till källan. Traceroute använder dessa svar för att identifiera successiva routrar. Efter att verktyget har lärt sig om den första hoppet, skickar det en annan prov med ett högre gräns, sedan en till, och fortsätter mot målet.

Traceroute mäter tiden mellan att skicka en sondering och att ta emot ett svar. Den skickar normalt flera sonderingar för varje hopp, vilket är anledningen till att utdata ofta innehåller tre svarsintervall. De här talen mäter tiden för en sondering och svar att resa mellan din enhet och den svarande routern. De mäter inte bara tiden som ägnas åt att bearbeta paketet inne i den där routern.

Vad visar en Traceroute?

Ett typiskt resultat har en numrerad rad för varje hopp. Det första hoppet är vanligtvis din lokala router eller ett annat första enhet på det lokala nätverket. Senare hopp kan tillhöra din internetleverantör, transitnätverk, värdleverantörer eller målnätverket.

Ett förenklat exempel kan se ut så här:

traceroute till example.com, 30 hopp max

 1  192.168.1.1       2,1 ms   1,8 ms   2,0 ms
 2  100.64.0.1        8,4 ms   8,1 ms   8,6 ms
 3  203.0.113.10     13,2 ms  12,9 ms  13,5 ms
 4  *                 *        *
 5  198.51.100.20    25,6 ms  25,1 ms  26,0 ms

Kolumnen till vänster anger hop-nummeret. Nästa värde är adress eller namn på den router som svarade. De övriga värdena är svars-tider för de prov som skickades vid den hoppen. I detta exempel svarade hop 4 inte på prov, men hop 5 gjorde det.

En svarande hop är bevis på att en undersökning fick ett svar från det här steget. Det bevisar inte att alla andra delar av vägen är friska. På samma sätt bevisar en hop som inte svarar inte att nätverkskretsen är nedstängd. Enheten kan vara konfigurerad för att vidarebefordra trafik, medan den ignorerar eller begränsar diagnostiska undersökningar.

Traceroute kan också visa olika vägar vid olika tillfällen. Nätverksruttering ändras när nätverk justerar rutter, balanserar trafik, hanterar avbrott eller tillämpar policy. En rutt som observeras i en spårning är en ögonblicksbild, inte en permanent karta.

Så här kör du Traceroute på Windows

Windows innehåller tracert. Öppna Kommandotolken eller PowerShell och ange en värdnamn eller IP-adress:

tracert example.com

Windows löser värdnamnet till en IP-adress och visar sedan de hopp som det kan observera. Du kan använda -d för att förhindra tracert från att lösa routeradresser till namn:

tracert -d example.com

Använda -d kan göra resultat snabbare eftersom Windows hoppa över omvänd DNS-lookup för mellanliggande adresser. Detta är användbart när du bryr dig om vägen och tiden snarare än namnen som är kopplade till varje router.

Du kan begränsa det maximala antalet hopp med -h och ange väntetiden för varje svar med -wTill exempel:

tracert -d -h 20 -w 2000 example.com

Detta kommando hoppa över namnuppsökningar, stoppar efter högst 20 hopp och väntar upp till 2 000 millisekunder på ett svar för varje prov. Om en målplats är långt borta eller om vägen är långsam kan en låg gräns för hopp avbryta spåret innan det når målplatsen.

För att testa en viss IP-adress snarare än ett värdnamn, kör:

tracert -d 203.0.113.25

När du jämför resultat, testa samma mål konsekvent. En spårning till ett domännamn och en spårning till en viss IP-adress kan följa olika vägar om domänen löser till olika servrar.

Så här kör du Traceroute på macOS

På macOS, öppna Terminal och kör:

spårning example.com

För att visa numeriska adresser utan att försöka tolka namn, använd:

traceroute -n example.com

Du kan begränsa det maximala antalet hopp med -m och justera väntetiden med -wTill exempel:

traceroute -n -m 20 -w 2 example.com

Det kräver numeriskt utdata, begränsar spåret till 20 hopp och väntar upp till två sekunder på ett svar vid varje hopp. De exakta alternativen kan variera något mellan implementationer, kontrollera den lokala manualen om ett kommandos alternativ inte känns igen:

man traceroute

Traceroute kan ta lite tid att sluta eftersom den skickar flera prov vid varje hopp och väntar på svar. Om det verkar stanna vid en rad kan det vara väntar på svar från router som inte svarar på dessa prov.

Så här kör du traceroute på Linux

Många Linux-distributionar inkluderar traceroute, men vissa kan kräva att du installerar den först. En enkel test är:

spårning example.com

För att undvika omvända DNS-sökningar och visa endast numeriska adresser, använd:

traceroute -n example.com

Du kan också ange ett maximum antal hopp och väntetid för svar:

traceroute -n -m 20 -w 2 example.com

På Linux beror de tillgängliga kommandoalternativen på den installerade traceroute-implementeringen. Om kommandot saknas, använd din distributions pakethanterare för att installera det lämpliga paketet, eller använd en tillgänglig alternativ såsom spårning.

För IPv6-mål stöder många Linux-system:

traceroute -6 example.com

Om domänen har både IPv4- och IPv6-poster kan verktyget välja en adressfamilj som standard. För att jämföra banorna bör du köra separata IPv4- och IPv6-spårningar där det stöds. Detta kan hjälpa till att identifiera om ett anslutningsproblem påverkar en adressfamilj men inte den andra.

Hur man läser varje hop

Börja med att kontrollera den första hoppet. På ett hemnätverk är det ofta den lokala routern. Om den första hoppet svarar snabbt kan din enhet åtminstone nå en router på det lokala nätverket. Om den inte svarar, bevisar det inte ensamt en lokal fel eftersom routern kan filtrera diagnostiska svar. Kontrollera om andra lokala enheter och internettjänster fungerar innan du drar en slutsats.

Nästa steg är att jämföra svars_tiderna när vägen fortskrider. En plötslig och konsekvent ökning som fortsätter genom senare hopp kan peka på en förändring i vägen eller ett ställe där nätverksfördröjning börjar. Dock kan en hög svars_tid vid en router följt av lägre tider vid senare routers ofta spegla hur den här routern hanterar diagnostiktrafik, inte nödvändigtvis en fördröjning som påverkar vidarebefintad trafik.

Sök efter den sista hop som svarar, men behandla det som en ledtråd snarare än en definitiv felplats. Nästa router kan filtrera prov, returvägen kan vara annorlunda eller så kan målnätverket blockera typen av svar som traceroute förväntar sig.

Slutligen, jämför flera körningar och testa vidare en andra målplats i samma tjänst eller nätverk om möjligt. En ensam spårning kan påverkas av tillfälliga fördröjningar eller filtrering. Mönster över upprepade tester är mer informativa än en ensam isolerad utgång.

Vad betyder en stjärna?

En stjärna (*) betyder att traceroute inte fick något svar på den undersökningen inom väntetiden. En router kan fortfarande ha skickat vidare undersökningen mot målet. Det kan helt enkelt ha vägrat att skicka ett diagnostiskt svar.

Rutare och brandväggar begränsar ofta Internet Control Message Protocol (ICMP)-meddelanden eller andra diagnostiska svar för att skydda prestanda och minska oönskad trafik. Vissa nätverk tillåter vanlig programtrafik medan de filtrerar spårningssökningar. Som ett resultat kan en spårning visa ett eller flera asterisktecken och sedan fortsätta med svarande hopp senare i vägen.

Om varje hopp efter en viss punkt visar asterisker kan vägen vara filtrerad vid den punkten, måladressen kan vara otillgänglig eller så kan returtrafik blockeras. För att skilja på dessa fall, testa det faktiska tjänsten med relevant program, till exempel en webbläsare eller SSH-klient, och jämför spårning med andra mål.

Förståelse av svarstider och latens

Traceroutes tidsvärden visar hur lång tid det tog för en soner att nå en svarande hop och för svaret att återgå. De inkluderar nätverksfördröjning i båda riktningarna och kan påverkas av trängsel, köning och routerns svarspolicy.

Ett högt värde vid en hop kan vara bedrägligt. Rutter prioriterar att skicka vidare transittrafik snarare än att svara på diagnostiska paket som är riktade till sig själva. En router kan ta lång tid att svara på en traceroute samtidigt som den skickar vanlig trafik snabbt. Om följande hopp visar lägre svarstider är det mindre sannolikt att det höga värdet representerar en beständig fördröjning i datavägen.

En mer användbar mönster är en fördröjningsökning som börjar vid en hop och förblir synlig vid senare hopp och destinationen över flera tester. Även då kan traceroute ensamt inte bevisa den exakta orsaken. Den kan visa var man ska undersöka vidare, till exempel en leverantörsöverföring, en överbelastad länk eller en avlägsen nätverksdel.

Vanliga Traceroute-mönster

Om den första hoppet svarar men senare hopp inte gör det, kan den lokala nätverket fungera medan ett senare nätverk filtrerar diagnostisk trafik. Kontrollera om måltjänsten själv är nåbar innan du antar att anslutningen är avbruten.

Om spåret når destinationen men programmet fortfarande misslyckas, kan nätverkspaden fungera medan tjänsten har ett annat problem. Servern kan avvisa anslutningar, programmet kan vara otillgängligt eller en brandvägg kan blockera den specifika porten.

Om spåret stannar vid samma punkt varje gång och destinationen också är ofångbar, kan den sista nätverkskompont som svarar hjälpa till att förfina var man ska söka support. Det identifierar inte nödvändigtvis den enhet som ansvarar, eftersom filtrering och asymmetriska återkommande vägar kan göra den uppenbara stannpunkten missledande.

Om IPv4 fungerar men inte IPv6, eller tvärtom, kör separata spårningar för varje adressfamilj. De två vägarna kan använda olika leverantörer, routerar, brandväggsprinciper eller målservrar. Att jämföra dem kan avslöja om problemet är specifikt för en sida av nätverket.

Traceroute och Tracert är inte identiska

Kommandona tracert och traceroute fungerar med liknande syfte, men deras undersökningsmetoder och alternativ kan skilja sig beroende på operativsystem och implementering. Windows tracert använder ofta ICMP Echo-prober. Unix-like implementationer kan använda UDP som standard, med vissa som stöd för ICMP- eller TCP-probemod.

Detta är viktigt eftersom en brandvägg kan tillåta en typ av prov och blockera en annan. Två verktyg kan därför ge olika utdata även om de körs från samma dator till samma mål.

Vissa traceroute-implementeringar låter dig välja provmetoden. Till exempel kan Linux-versioner stödja alternativ för UDP, ICMP eller TCP-prov. TCP-baserad spårning kan vara användbar när vanliga prov filtreras men en viss TCP-tjänst är tillgänglig. Alternativssyntaxen varierar, så konsultera den lokala manualen innan du förlitar dig på ett specifikt flagg.

När du delar resultat med en nätverksadministratör eller leverantör, inkludera operativsystem, kommando, alternativ, mål och ungefärlig tid för testet. Detta sammanhang hjälper dem att tolka skillnader mellan spår.

Traceroute vs Ping

Ping testar om en målplats svarar på en viss typ av nätverksprova och mäter resa-tillbaka-tid. Det är användbart för att kontrollera grundläggande tillgänglighet, men visar inte den mellanliggande vägen.

Traceroute försöker avslöja sekvensen av svarande router mot en målplats. Det kan hjälpa till att förfina var svar stoppar eller där ett fördröjningsmönster börjar, men det är mer känsligt för filtrering och router-svarsprinciper.

Dessa verktyg svarar på olika frågor. Använd ping för att testa om en målplats svarar. Använd traceroute för att undersöka vägen mot den. Ingen av dessa verktyg ensam garanterar att en webbplats eller applikation är hälsosam, eftersom programspecifika problem kan uppstå även när grundläggande nätverksprov lyckas.

En praktisk felsökningsarbetsflöde

Börja med att bekräfta målnamn och adress. Om du använder en värdnamn, kontrollera att det löses korrekt. Kör sedan traceroute och notera tiden, adressfamiljen, kommandonläget och målplatsen.

Testa samma mål flera gånger. Om utdata förändras kraftigt kan problemet vara tillfälligt eller så kan vägen ha ändrats. Om spåret är stabilt men programmet misslyckas, kontrollera om tjänsten lyssnar, om en brandvägg blockerar dess port och om servern returnerar ett fel.

Jämför med ett annat mål som värd av samma leverantör eller i samma region. Om flera mål visar en liknande problemstart vid samma punkt ger det en starkare indikation på att den påverkade nätverkssektionen bör få uppmärksamhet.

Om du rapporterar problemet till en internetleverantör eller värdtjänst, ge istället för att bara säga "traceroute misslyckas" det råa utdata. Inkludera destination, tid, operativsystem och om själva måltjänsten är ofångbar. Dessa detaljer gör rapporten lättare att undersöka.

Begränsningar med Traceroute

Traceroute visar inte alla router på Internet. Vissa nätverk döljer eller filtrerar sina svar, och vissa vägar använder tekniker som gör att hop-informationen är ofullständig. Lastfördelning kan också skicka olika prov längs olika vägar, så närliggande rader kan inte alltid representera en stabil slut-till-slut-väg.

Svarsvaraktigheter är inte direkt mätningar av hur snabbt routern vidarebefordrar normal trafik. De mäter tiden för provet och svaret, och routrar kan behandla dessa diagnostiska paket annorlunda än vanlig programtrafik.

Traceroute bevisar inte heller vem som äger en routeradress, identifiera den exakta orsaken till paketförlust eller bekräfta att en väg är auktoriserad. Offentlig ruting och registreringsdata kräver separata kontroller. För en mer omfattande granskning av en offentlig IPv4- eller IPv6-resurs, använd Kontroll av IP-resursberedskap.

Vanliga frågor

Är traceroute säkert att använda?

Traceroute är ett standarddiagnostiskt verktyg som skickar nätverksprover mot en målplats. Att köra några tester för felsökning är normalt. Undvik att generera överflödigt trafik eller undersöka system du inte administrerar med hög hastighet.

Varför visar traceroute en annan väg varje gång?

Nätverk kan ändra vägar, använda belastningsutjämning eller rikta trafik genom olika leverantörer. Undersökningstrafik kan också hanteras annorlunda än vanlig programtrafik. Små vägskilnader indikerar inte automatiskt ett fel.

Betyder ett asterisk att en router är nere?

Ingen. Det betyder att traceroute inte fick något svar på den förfrågan inom tidsgränsen. Routern kan fortfarande vidarebefordra trafik samtidigt som den filtrerar eller begränsar diagnostiska svar.

Varför stoppar traceroute innan det når en webbplats?

Mål nätverket eller en mellanliggande brandvägg kan blockera provtypen. Webbplatsen kan fortfarande nås genom normal HTTPS-trafik. Testa tjänsten själv innan du drar slutsatsen att vägen är otillgänglig.

Kan traceroute identifiera var pakethastighet sker?

Det kan hjälpa till att identifiera var svar slutar, men kan inte alltid bevisa var programtrafik förloras. Jämför flera körningar, senare hopp och den faktiska tjänsten. Verktyg som mtr kan ge upprepade mätningar, men deras utdata måste också tolkas noggrant.

Kan jag köra traceroute till en IPv6-adress?

Ja. Windows, macOS och Linux stödjer IPv6-routspårning, även om kommandonamn och alternativ skiljer sig. På Linux, traceroute -6 stöds vanligtvis. På Windows, tracert can trace IPv6 when given an IPv6 destination.

Traceroute hjälper dig att se vilka routrar som svarar när trafik reser från din enhet mot en målplats. Den första hoppet är ofta din lokala gateway, och senare hopp kan tillhöra din internetleverantör och andra nätverk innan de når målet.

Använd tracert på Windows och traceroute på macOS eller Linux. Kontrollera den första hoppet, jämför svarsmönster över senare hopp och upprepa testet när resultaten ser ovanliga ut. Asterisker och isolerade höga svarsfördröjningar är vanliga och bevisar inte automatiskt att ett nätverk är trasigt.

De mest användbara slutsatserna kommer från att kombinera traceroute med programtest, DNS-kontroller, upprepade mätningar och rapporter från andra användare eller nätverk. Behandla utdata som bevis som hjälper till att leda undersökningen, snarare än en fullständig diagnos i sig själv.

För att förstå den lokala nätverksdel av sökvägen, fortsätt med vår guide till standardgateway. För offentlig adress och routningssökningar, se the Kontroll av IP-resursberedskap.