Introduktion till traceroute
Linux traceroute-kommando är ett nätverksfelsökningsverktyg som hjälper oss att bestämma antalet hopp och paket som krävs för att nå en destination. Den används för att visa hur data överförs från en lokal maskin till en fjärrdator. Att ladda en webbsida är ett av de vanligaste exemplen på traceroute. En webbsida som laddas överför data via ett nätverk och routrar. Tracerouten kan visa rutter, IP-adresser och värdnamn för routrar över ett nätverk. Det kan vara användbart för att diagnostisera nätverksproblem.
Inom datoranvändning är tracert och traceroute kommandon för datornätverksdiagnostik för att visa möjliga rutter och mäta paketöverföringsfördröjningar över IP-nätverket. Rutthistoriken registreras som paketets tur och retur-tid från alla på varandra följande värdar på rutten; medeltidssumman i varje hopp är den totala tid som spenderas för att skapa anslutningen.
java-strängformatering
Traceroute-kommandot fortsätter såvida inte varje skickat paket förloras mer än två gånger; anslutningen försvinner och sökvägen kan inte utvärderas. Å andra sidan mäter ping-kommandot endast de senaste tur- och returtiderna genom destinationspunkten. Ibland har verktyget ett liknande namn, tracert6 och traceroute6, för IPv6.
Syntax:
traceroute [OPTION...] HOST
Alternativ:
Följande kommandoradsalternativ stöds av kommandot traceroute:
-f, --first-hop=NUM: Den används för att ställa in det initiala hoppavståndet.
-g, --gateways=GATES: Den används för att visa en lista över gateways för routing av lös källa.
-I, --icmp: Det är specificerat att använda ICMP ECHO som en sond.
-m, --max-hop=NUM: Den används för att ställa in maximalt antal hopp, standard är 64.
-M, --type=METOD: Den specificerar METOD (icmp eller udp) för traceroute-operationer, standardmetoden är udp.
-p, --port=PORT: Den är definierad för att använda destination PORT-port, standard PORT är 33434.
-q, --tries=NUM: Den används för att vidarebefordra NUM sondpaket per hopp, standard är 3.
--resolve-hostnames: Det används för att lösa värdnamnen.
-t, --tos=NUM: Den används för att ställa in typen av tjänst (TOS) till NUM.
-w, --wait=NUM: Den används för att vänta i sekunder på ett svar, standard är 3.
-?, --hjälp: Den används för att visa hjälpmanualen som innehåller en kort beskrivning av kommandoradsalternativ och användning som stöds.
--användande: Den visar ett kort användningsmeddelande.
-V, --version: Den används för att visa versionsinformationen för tracerouten.
Låt oss ta en titt på det snabba indexet för ämnet:
amplitudmodulering
- Installera traceroute-kommandot
- Hur fungerar det?
- Spåra rutten med Ipv6
- Spåra rutten med Ipv4
- Inaktivera IP-adress och värdnamnsmappning
- Ställ in antalet frågor per hopp
- Ställ in väntetiden för svar
- Ange vilket gränssnitt som ska användas
- Ställ in det initiala TTL-värdet
- Ställ in det maximala antalet hopp
- Få hjälp
Implementeringar av traceroute
Traceroute-kommandot är tillgängligt på flera moderna operativsystem. På Unix-liknande system som Linux, macOS och FreeBSD är det tillgängligt som ett verktyg för kommandoraden. Traceroute är också grafiskt tillgängligt i Network Utilities-sviten i macOS; dessa verktyg har föråldrats sedan publiceringen av macOS Big Sur.
ReactOS och Microsoft Windows erbjuder ett program som heter tracert som implementerar en liknande ruttspårningsfunktion. Windows NT-baserade operativsystem erbjuder också PathPing, som kan kombinera ping-kommandots funktionalitet med tracert. ReactOS-utgåvan integrerades av Get Murphy, och den är licensierad på GPL.
Som standard skickar traceroute en beställning av UDP-paket (User Datagram Protocol) på Unix-liknande operativsystem, med portdestinationsnummer från 33434 till 33534. Traceroute-implementeringarna som levereras med macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD och Linux har alternativet att använda ICMP Echo Request-paket som TCP och UDP med ICMP- eller TCP SYN-paket. Som standard överför tracert ICMP Echo Request-paket på Windows istället för UDP-paketet traceroute-överföringar.
Användning av traceroute
De flesta implementeringar har åtminstone några alternativ för att definiera antalet frågor som ska överföras per hopp, väntetid på svar, hoppgräns och använd port. Om vi inte anropar traceroute med specificerade alternativ, visar den listan med tillgängliga alternativ, medan man traceroute-kommandot representerar fler detaljer, såsom felflaggor.
Ursprunget till traceroute
Traceroutens manualsida säger att det faktiska traceroute-programmet specificerades av Van Jacobson 1987 från en rekommendation av Steve Deering, med specifikt övertygande korrigeringar och rekommendationer från C. Philip Wood, Ken Adelman och Tim Seaver. Mike Muuss, pingprogrammets författare, säger att tracerouten specificerades med stöd av kärnan ICMP som han hade kodat tidigare för att aktivera råa ICMP-sockets medan han initialt specificerade pingprogrammet.
Begränsningar av traceroute
Begränsningarna för traceroute är ökända och bör beaktas när du använder verktyget. En traceroute känner till exempel igen vägar på gränssnittsnivå men inte på ruttnivå. Andra begränsningar uppstår när routrar inte svarar på undersökning eller när routrar inkluderar en begränsning för ICMP-svar.
Traceroute kan representera en väg som inte existerar i existensen av trafikbelastningsbalansering. För att minimera detta problem finns en traceroute-modifiering tillgänglig som kallas Paris-traceroute, som hanterar undersökningsflödesidentifieraren för att ignorera lastbalansering.
Installera traceroute-kommandot
Traceroute är inte ett standardverktyg för Linux systemet. För att använda tracerouten måste vi installera den manuellt. För att installera det, kör ett av följande kommandon:
sudo apt install inetutils-traceroute sudo apt install traceroute
Ovanstående kommandon kommer att installera traceroute-verktyget på vårt system. Efter den lyckade installationen kommer utdata att se ut så här:
Hur fungerar det?
För att spåra rutten för en ansluten nätverksvärd, skicka namnet på servern eller IP-adressen som du vill ansluta. Till exempel, för att spåra rutten för servern 'javatpoint.com', kör följande kommando:
traceroute javatpoint.com
Ovanstående kommando visar hopp, paket och mycket annan information om den givna rutten. Tänk på följande utdata:
Från ovanstående utdata kan vi se flera saker. låt oss förstå varje del av resultatet:
- Den första raden visar värdnamnet och IP-adressen som ska nås, hopp som kommer att göras av traceroute-kommandot och storleken på paketen som ska skickas.
- Från den andra raden visar varje rad ett hopp till destinationen. Och värdnamnet följt av värdens IP-adress, tur och retur tid. Rundturstiden är summan av tid det tar för en signal att skickas och tiden det tar att svara till värden.
- Som standard skickar den tre paket för varje värd, så tre svarstider listas.
- Symbolen '*' representerar paketförlusten. Paketförlusten sker på grund av ett nätverksavbrott, hög trafik till nätverksöverbelastning eller kanske brandväggen tappar trafik. Vid mycket förlust av paket kommer tracerouten att visa felet som 'destinationen är inte nådd.'
Spåra rutten med IPv6
Alternativet '6' används för att spåra rutten till ett värdnätverk med hjälp av Ipv6-protokollet. Tänk på kommandot nedan:
traceroute6 google.com
Ovanstående kommando kommer att spåra rutten till 'google.com' med hjälp av Ipv6-protokollet. Tänk på följande utdata:
Spåra rutten med hjälp av IPv4
Alternativet '4' används för att spåra rutten till ett värdnätverk med hjälp av Ipv6-protokollet. Tänk på kommandot nedan:
traceroute 4 google.com
Ovanstående kommando kommer att spåra rutten till 'google.com' med hjälp av Ipv6-protokollet. Tänk på följande utdata:
Inaktivera IP-adress och värdnamnsmapping
Alternativet 'n' används för att inaktivera IP-adress och värdnamnsmappning. Tänk på kommandot nedan:
polymorfism java
traceroute n google.com
Ovanstående kommando kommer att producera utdata enligt följande:
Ställ in antalet frågor per hopp
Alternativet '-q' används för att ställa in antalet frågor per hopp. Tänk på kommandot nedan:
traceroute -q 2 google.com
Ovanstående kommando kommer att producera utdata enligt följande:
Ställ in väntetiden för svar
Alternativet '-w' används för att ställa in svarsväntetiden i traceroute. Den kommer att ange väntetiden i sekunder för att svara på en sond. Tänk på kommandot nedan:
traceroute -w 1 google.com
Från ovanstående kommando är svarsväntetiden 1 sekund. Det kommer att producera utdata enligt följande:
Ange vilket gränssnitt som ska användas
Alternativet 'i' används för att ställa in nätverksgränssnittet som traceroute ska använda. Om den inte är inställd kommer den att ställa in gränssnittet enligt routingtabellen. Tänk på kommandot nedan:
traceroute i wlp3s0b1 google.com
Ovanstående kommando kommer att producera utdata enligt följande:
Ställ in det initiala TTL-värdet
Vi kan ställa in det initiala TTL-värdet (time to live) annat än standardvärdet. Det kommer att hoppa över en del humle. Vanligtvis är den inställd på ett, två, tre och så vidare för respektive uppsättning tester. Så, om vi ställer in den på sju, kommer det första testet att göra ett försök med hopp sju och hoppa över hopp från ett till sex. Tänk på kommandot nedan:
traceroute -f 7 google.com
Ovanstående kommando går direkt till hopp sju. Tänk på följande utdata:
char till heltal java
Ställ in det maximala antalet hopp
Alternativet '-m' används för att ställa in det maximala antalet hopp för paketet att nå destinationen. Standardvärdet för det maximala antalet hopp är 30. Tänk på kommandot nedan:
traceroute -m 7 google.com
Ovanstående kommando kommer att ställa in 7 maximala hopp för paketet att nå destinationen. Tänk på följande utdata:
Få hjälp
För att visa hjälpmanualen som innehåller en sammanfattning av användning och alternativ som stöds, kör följande kommando:
traceroute --help
Kommandot ovan visar hjälpen. Det kommer att producera utdata enligt följande:
Vi kan också komma åt manualsidorna genom att utföra mankommandot enligt följande:
man traceroute
Ovanstående kommando visar manualsidan för traceroute-kommandot. Det kommer att se ut så här:
Bläddra på sidan för att läsa mer och tryck på 'q'-tangenten för att lämna manualsidan.