logo

Linux traceroute-opdracht

Inleiding tot traceroute

Linux traceroute command is een hulpprogramma voor het oplossen van netwerkproblemen dat ons helpt bij het bepalen van het aantal hops en pakketten dat nodig is om een ​​bestemming te bereiken. Het wordt gebruikt om weer te geven hoe de gegevens van een lokale machine naar een externe machine worden verzonden. Het laden van een webpagina is een van de meest voorkomende voorbeelden van de traceroute. Bij het laden van een webpagina worden gegevens overgedragen via een netwerk en routers. De traceroute kan de routes, IP-adressen en hostnamen van routers over een netwerk weergeven. Het kan handig zijn voor het diagnosticeren van netwerkproblemen.

Bij computers zijn tracert en traceroute de opdrachten voor computernetwerkdiagnostiek om mogelijke routes weer te geven en vertragingen bij de pakkettransit over het IP-netwerk te meten. De routegeschiedenis wordt geregistreerd als de retourtijd van pakketten van alle opeenvolgende hosts in de route; de gemiddelde tijdsom in elke hop is de totale tijd die is besteed aan het tot stand brengen van de verbinding.

Het traceroute-commando gaat door tenzij elk verzonden pakket meer dan twee keer verloren gaat; de verbinding is verbroken en het pad kan niet worden geëvalueerd. Aan de andere kant meet het ping-commando alleen de laatste retourtijden via het bestemmingspunt. Soms heeft de tool een vergelijkbare naam, tracert6 en traceroute6, voor IPv6.

Syntaxis:

 traceroute [OPTION...] HOST 

Opties:

De volgende opdrachtregelopties worden ondersteund door de opdracht traceroute:

-f, --eerste-hop=NUM: Het wordt gebruikt om de initiële sprongafstand in te stellen.

-g, --gateways=POORT: Het wordt gebruikt om een ​​lijst met gateways voor losse bronroutering weer te geven.

volledige opteller

-I, --icmp: Er is gespecificeerd om ICMP ECHO als sonde te gebruiken.

-m, --max-hop=NUM: Het wordt gebruikt om het maximale aantal hops in te stellen, de standaardwaarde is 64.

-M, --type=METHODE: Het specificeert de METHODE (icmp of udp) voor traceroute-bewerkingen, de standaardmethode is udp.

-p, --port=POORT: Het is gedefinieerd om de bestemmingsPOORT-poort te gebruiken, de standaardPOORT is 33434.

-q, --pogingen=NUM: Het wordt gebruikt om NUM testpakketten per hop door te sturen, de standaardwaarde is 3.

--resolve-hostnamen: Het wordt gebruikt om de hostnamen op te lossen.

-t, --tos=GETAL: Het wordt gebruikt om het type service (TOS) in te stellen op NUM.

-w, --wacht=NUM: Het wordt gebruikt om binnen enkele seconden op een antwoord te wachten, de standaardwaarde is 3.

tekenreeks concat java

-?, --hulp: Het wordt gebruikt om de Help-handleiding weer te geven die een korte beschrijving bevat van de ondersteunde opdrachtregelopties en het gebruik ervan.

--gebruik: Er wordt een kort gebruiksbericht weergegeven.

-V, --versie: Het wordt gebruikt om de versie-informatie van de traceroute weer te geven.

Laten we eens kijken naar de snelle index van het onderwerp:

  • Installeer het traceroute-commando
  • Hoe werkt het?
  • Traceer de route met behulp van IPv6
  • Traceer de route met behulp van IPv4
  • Schakel het toewijzen van IP-adressen en hostnamen uit
  • Stel het aantal query's per hop in
  • Stel de responswachttijd in
  • Geef de te gebruiken interface op
  • Stel de initiële TTL-waarde in
  • Stel het maximale aantal hop in
  • Hulp krijgen

Implementaties van traceroute

De opdracht traceroute is beschikbaar op verschillende moderne besturingssystemen. Op Unix-achtige systemen zoals Linux, macOS en FreeBSD is het beschikbaar als hulpmiddel voor de opdrachtregel. Traceroute is ook grafisch toegankelijk binnen de Network Utilities-suite in macOS; deze hulpprogramma's zijn verouderd sinds de publicatie van macOS Big Sur.

ReactOS en Microsoft Windows bieden een programma aan genaamd tracert dat een soortgelijke routetraceringsfunctie implementeert. Bovendien bieden Windows NT-gebaseerde besturingssystemen PathPing, dat de functionaliteit van de ping-opdracht kan combineren met tracert. De ReactOS-editie werd geïntegreerd door Get Murphy en is gelicentieerd onder de GPL.

Standaard verzendt traceroute een bestelling van UDP-pakketten (User Datagram Protocol) op Unix-achtige besturingssystemen, met poortbestemmingsnummers variërend van 33434 tot 33534. De traceroute-implementaties die worden geleverd met macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD en Linux hebben de optie om ICMP Echo Request-pakketten zoals TCP en UDP te gebruiken met behulp van ICMP- of TCP SYN-pakketten. Standaard draagt ​​tracert ICMP Echo Request-pakketten over op Windows in plaats van de traceroute-overdrachten van UDP-pakketten.

Gebruik van traceroute

De meeste implementaties hebben op zijn minst enkele opties om het aantal over te dragen queries per hop, de wachttijd op een antwoord, de hoplimiet en de gebruikte poort te definiëren. Als we traceroute niet aanroepen met gespecificeerde opties, wordt de lijst met beschikbare opties weergegeven, terwijl de opdracht man traceroute meer details vertegenwoordigt, zoals de foutvlaggen.

Oorsprong van traceroute

Op de handleidingpagina van de traceroute staat dat het eigenlijke traceroute-programma in 1987 door Van Jacobson werd gespecificeerd op basis van een aanbeveling van Steve Deering, met specifiek overtuigende oplossingen en aanbevelingen van C. Philip Wood, Ken Adelman en Tim Seaver. Mike Muuss, de auteur van het ping-programma, stelt dat de traceroute werd gespecificeerd met de steun van kernel ICMP die hij eerder had gecodeerd om onbewerkte ICMP-sockets te activeren terwijl hij aanvankelijk het ping-programma specificeerde.

Beperkingen van traceroute

De beperkingen van traceroute zijn berucht en er moet rekening mee worden gehouden bij het gebruik van de tool. Een traceroute herkent bijvoorbeeld paden op interfaceniveau, maar niet op routeniveau. Andere beperkingen doen zich voor wanneer routers niet reageren op onderzoek of wanneer routers een beperking voor ICMP-reacties opnemen.

Traceroute vertegenwoordigt mogelijk een pad dat niet bestaat in het geval van verkeersbelastingsverdeling. Om dit probleem te minimaliseren is er een traceroute-modificatie beschikbaar, bekend als Paris-traceroute, die de onderzoeksstroom-ID beheert om de taakverdeling te negeren.

Installeer het traceroute-commando

De traceroute is geen standaardhulpprogramma van de Linux systeem. Om de traceroute te gebruiken, moeten we deze handmatig installeren. Om het te installeren, voert u een van de volgende opdrachten uit:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Met de bovenstaande opdrachten wordt het traceroute-hulpprogramma op ons systeem geïnstalleerd. Na de succesvolle installatie ziet de uitvoer er als volgt uit:

Linux-traceroute

Hoe werkt het?

Om de route van een verbonden netwerkhost te traceren, geeft u de naam door van de server of het IP-adres waarmee u verbinding wilt maken. Om bijvoorbeeld de route van de server 'javatpoint.com' te traceren, voert u de onderstaande opdracht uit:

 traceroute javatpoint.com 

Met het bovenstaande commando worden hops, pakketten en veel andere informatie over de gegeven route weergegeven. Beschouw de onderstaande uitvoer:

Linux-traceroute

Uit de bovenstaande uitvoer kunnen we verschillende dingen zien. laten we elk deel van de uitvoer begrijpen:

  • De eerste regel toont de hostnaam en het IP-adres dat moet worden bereikt, de hops die zullen worden geprobeerd door het traceroute-commando en de grootte van de te verzenden pakketten.
  • Vanaf de tweede regel geeft elke regel een sprong naar de bestemming weer. En de hostnaam gevolgd door het IP-adres van de host, retourtijd. De roundtrip-tijd is de som van de tijd die nodig is voordat een signaal wordt verzonden en de tijd die nodig is om op de host te reageren.
  • Standaard verzendt het drie pakketten voor elke host, dus er worden drie responstijden vermeld.
  • Het '*'-symbool vertegenwoordigt het pakketverlies. Het pakketverlies wordt veroorzaakt door een netwerkstoring, veel verkeer naar het netwerk of misschien laat de firewall het verkeer vallen. Bij veel pakketverlies zal de traceroute de fout weergeven als 'bestemming is niet bereikt'.

Traceer de route met behulp van IPv6

De optie '6' wordt gebruikt om de route naar een hostnetwerk te traceren met behulp van het IPv6-protocol. Overweeg het onderstaande commando:

 traceroute6 google.com 

Het bovenstaande commando traceert de route naar 'google.com' met behulp van het IPv6-protocol. Beschouw de onderstaande uitvoer:

Linux-traceroute

Traceer de route met behulp van IPv4

De optie '4' wordt gebruikt om de route naar een hostnetwerk te traceren met behulp van het IPv6-protocol. Overweeg het onderstaande commando:

 traceroute 4 google.com 

Het bovenstaande commando traceert de route naar 'google.com' met behulp van het IPv6-protocol. Beschouw de onderstaande uitvoer:

Linux-traceroute

Schakel IP-adres en hostnaamtoewijzing uit

De 'n'-optie wordt gebruikt om de toewijzing van het IP-adres en de hostnaam uit te schakelen. Overweeg het onderstaande commando:

samenvoegende sortering
 traceroute n google.com 

Het bovenstaande commando produceert de uitvoer als volgt:

Linux-traceroute

Stel het aantal query's per hop in

De '-q' optie wordt gebruikt om het aantal queries per hop in te stellen. Overweeg het onderstaande commando:

 traceroute -q 2 google.com 

Het bovenstaande commando produceert de uitvoer als volgt:

Linux-traceroute

Stel de responswachttijd in

De '-w' optie wordt gebruikt om de responswachttijd in traceroute in te stellen. Het specificeert de wachttijd in seconden voor het reageren op een sonde. Overweeg het onderstaande commando:

 traceroute -w 1 google.com 

Bij de bovenstaande opdracht is de responswachttijd 1 seconde. Het zal de uitvoer als volgt produceren:

Linux-traceroute

Geef de te gebruiken interface op

De 'i'-optie wordt gebruikt om de netwerkinterface in te stellen die traceroute moet gebruiken. Als dit niet is ingesteld, wordt de interface ingesteld volgens de routeringstabel. Overweeg het onderstaande commando:

 traceroute i wlp3s0b1 google.com 

Het bovenstaande commando produceert de uitvoer als volgt:

Linux-traceroute

Stel de initiële TTL-waarde in

We kunnen de initiële TTL-waarde (time to live) anders instellen dan de standaardwaarde. Het zal een aantal hop overslaan. Meestal wordt dit ingesteld op één, twee, drie, enzovoort voor de betreffende reeks tests. Dus als we dit op zeven zetten, zal de eerste test de sprong zeven proberen en de sprongen van één naar zes overslaan. Overweeg het onderstaande commando:

 traceroute -f 7 google.com 

Het bovenstaande commando gaat rechtstreeks naar hop zeven. Beschouw de onderstaande uitvoer:

rohit shetty-acteur
Linux-traceroute

Stel het maximale aantal hop in

De optie '-m' wordt gebruikt om het maximale aantal hops in te stellen voordat het pakket de bestemming bereikt. De standaardwaarde voor het maximale aantal hops is 30. Bekijk het onderstaande commando:

 traceroute -m 7 google.com 

Met het bovenstaande commando worden er maximaal 7 hops ingesteld voordat het pakket de bestemming bereikt. Beschouw de onderstaande uitvoer:

Linux-traceroute

Hulp krijgen

Om de helphandleiding weer te geven die een samenvatting van het gebruik en de ondersteunde opties bevat, voert u de onderstaande opdracht uit:

 traceroute --help 

Met het bovenstaande commando wordt de hulp weergegeven. Het zal de uitvoer als volgt produceren:

Linux-traceroute

We hebben ook toegang tot de handleidingpagina's door het commando man als volgt uit te voeren:

 man traceroute 

Met het bovenstaande commando wordt de handleiding van het traceroute-commando weergegeven. Het zal er als volgt uitzien:

Linux-traceroute

Blader door de pagina om meer te lezen en druk op de 'q'-toets om de handleidingpagina te verlaten.