Traceroute

Traceroute  er et hjælpecomputerprogram designet til at bestemme ruterne for data i TCP/IP- netværk . Traceroute kan bruge forskellige kommunikationsprotokoller afhængigt af enhedens operativsystem. Disse protokoller kan være UDP , TCP , ICMP eller GRE . Windows-computere bruger ICMP-protokollen, mens Linux-operativsystemer og Cisco-routere bruger UDP-protokollen.

Traceroute er inkluderet i de fleste moderne netværksoperativsystemer . På Microsoft Windows -systemer kaldes dette program tracert , og på GNU/Linux- , Cisco IOS- og Mac OS -systemer  kaldes det traceroute .

Lad os overveje et eksempel på, hvordan programmet fungerer i Windows-operativsystemet. Tracert - programmet sender data til den angivne netværksvært, samtidig med at den viser information om alle mellemroutere , hvorigennem dataene passerede på vej til målværten. I tilfælde af problemer med levering af data til enhver node, giver programmet dig mulighed for at bestemme præcis, hvilken del af netværket der havde problemer. Det skal bemærkes, at programmet kun virker i retning fra kilden til pakkerne og er et meget råt værktøj til fejlfinding på netværket. På grund af de særlige forhold ved driften af ​​routingprotokoller på internettet falder omvendte ruter ofte ikke sammen med direkte, og dette gælder for alle mellemliggende knudepunkter i sporet. Derfor kan ICMP -svaret fra hver mellemknude tage sin egen rute, fare vild eller ankomme med en lang forsinkelse, selvom det i virkeligheden ikke sker med pakker, der er adresseret til den endelige knude. Derudover begrænser mellemroutere ofte antallet af ICMP -svar pr. tidsenhed, hvilket fører til falske tab.

Sådan fungerer tracerouten

For at bestemme mellemroutere sender traceroute en række ICMP-pakker (standard 3 pakker) til målværten, hvilket øger værdien af ​​TTL ("time to live")-feltet med 1 for hvert trin. Dette felt angiver normalt det maksimale antal routere, som en pakke kan krydse. Den første batch af pakker sendes med en TTL på 1, og derfor sender den første router en ICMP "tid overskredet i transit" -meddelelse tilbage , der indikerer, at dataene ikke kunne leveres. Traceroute fanger adressen på routeren, såvel som tiden mellem afsendelse af en pakke og modtagelse af et svar (denne information vises på computerskærmen ). Tracerouten gensender derefter rækken af ​​pakker, men med en TTL på 2, hvilket får den første router til at formindske pakkernes TTL med én og videresende dem til den anden router. Den anden router, der har modtaget pakker med TTL=1, returnerer også "tid overskredet under transit" .

Processen gentages, indtil pakken når destinationsknuden. Når der modtages et svar fra denne node, betragtes sporingsprocessen som afsluttet.

På slutværten kasseres et IP-datagram med TTL = 1 ikke og forårsager ikke en ICMP timeout-meddelelse , men skal returneres til applikationen. Destinationsankomst er defineret som følger: datagrammer sendt af traceroute indeholder en UDP -pakke med et kendt ubrugt portnummer på destinationsværten. Portnummeret vil være 33434 + (maksimalt hop til vært)  - 1. På destinationen vil UDP-modulet returnere ICMP "port unreachable" fejlmeddelelser, når det modtager sådanne datagrammer. Traceroute behøver således kun at registrere, at en ICMP-fejlmeddelelse af denne type er ankommet for at vide, at den har fuldført sit arbejde.

Windows-eksempel

Programmet startes fra kommandolinjen. For at gøre dette skal du indtaste det. For operativsystemer i Windows-familien er der flere måder at starte kommandolinjen på:

  1. Start - Kør - Skriv "cmd" i kolonnen "Åbn" og klik på OK.
  2. Tastkombination Win (knap med Windows-logoet) + R (skal trykkes ned samtidigt) - Skriv "cmd" i kolonnen "Åbn" og klik OK.
  3. Start - Alle programmer (eller blot "Programmer", afhængigt af versionen af ​​operativsystemet) - Systemværktøjer - Kommandoprompt.

Skriv i vinduet, der åbnes:

tracert eksempel.net

Hvor tracert er et kald til programmet, og example.net  er et hvilket som helst domænenavn eller IPv4 -adresse.

C:\Documents and Settings\Administrator>tracert en.wikipedia.org Traceroute til rr.esams.wikimedia.org [91.198.174.2] med et maksimalt antal hop 30: 1 1 ms <1 ms <1 ms vpn4.kras.gldn [10.10.1.14] 2 2 ms <1 ms <1 ms C7604-BRAS4-FTTB.ranetka.ru [80.255.150.41] 3 1 ms 1 ms 4 ms C76-External.ranetka.ru [80.255.128.162] 4 1 ms <1 ms <1 ms pe-l.Krasnoyarsk.gldn.net [195.239.173.37] 5 79 ms 79 ms 98 ms cat01.Stockholm.gldn.net [194.186.157.62] 6 131 ms 131 ms 132 ms ams-ix.2ge-2-1.br1-knams.wikimedia.org [195.69.145.176] 7 131 ms 131 ms 131 ms te-8-2.csw1-esams.wikimedia.org [91.198.174.254] 8 133 ms 134 ms 133 ms rr.esams.wikimedia.org [91.198.174.2] Sporet er komplet.

Linux-eksempel

I UNIX / Linux -systemer er der tilstande, hvor programmet kun kan køres som superbrugerrod (administrator). Disse tilstande inkluderer den vigtige ICMP -sporingstilstand (tast -I).

I alle andre tilfælde kan traceroute køre på vegne af en almindelig almindelig bruger. Samtidig er standardparametrene forskellige fra distribution til distribution, selvom nøglen -U( UDP ) traditionelt er skrevet i hjælpen som sådan. I nogle RedHat-baserede distributioner bruges standarden faktisk -I, så hvis kommandoen fra følgende eksempel giver en besked om manglende rettigheder, prøv at udtrykke nøglen -U.

[bruger@localhost ~]$ traceroute www.ru traceroute til www.ru (194.87.0.50), 30 hop max, 38 byte pakker 1 mygateway.ar7 (192.168.1.1) 0,777 ms 0,664 ms 0,506 ms 2 L0.ghsdr04 (213.227.224.91) 15.661ms 15.867ms 31.426ms 3 213.227.224.1 (213.227.224.1) 16.797 ms 18.221 ms 16.756 ms 4dg (213.186.216.161) 53.068ms 39.163ms 38.283ms 5br13 (213.186.193.43) 40.156 ms 39.768 ms 42.803 ms 6 aggr (62.221.40.169) 37.884 ms 38.712 ms 37.207 ms 7 edge-3GE-216dot1q.kiev.ucomline.net (213.130.30.182) 39.723 ms 38.039 ms 41.261 ms 8 ae0-202.RT771-001.kiv.retn.net (81.222.15.1) 40.029 ms 37.088 ms 40.039 ms 9 ae0-3.RT502-001.msk.retn.net (81.222.15.1) 128.932 ms 122.043 ms 121.612 ms 10 GW-Demos.retn.net (81.222.8.46) 120.023 ms 121.135 ms 119.493 ms 11 iki-1-vl10.demos.net (194.87.0.83) 119.074 ms 119.784 ms 123.607 ms 12 www.ru (194.87.0.50) 120.358 ms 122.545 ms 119.399 ms

Firewall problemer

En almindelig misforståelse er, at traceroute, ligesom ping , kun virker over ICMP. I denne henseende modtager nybegyndere administratorer, der har aktiveret ICMP-protokollen i firewallen, et fungerende ping og en ikke-fungerende traceroute. For at løse denne situation skal du desuden tillade UDP-pakker til porte højere end 33434 i firewallen (nogle kilder angiver, at det er nok at angive et portområde fra 33434 til 33534).

Alternativer og tilføjelser til traceroute

  • tracepath  er et program, der ligner traceroute, men kan bygge asymmetriske spor og har nogle andre forskelle.
  • mtr  — Et interaktivt program, der konstant kan vise opdaterede sporstatistikker.
  • tracemap  er et program, der giver dig mulighed for at spore stien til flere værter på én gang og præsentere de resulterende data i form af et grafisk kort.
  • tcptraceroute ( tracetcp ) - et program, der ligner traceroute, men designet til at diagnosticere TCP - forbindelser; i stedet for UDP - pakker bruger den TCP - pakker til at åbne en forbindelse ( SYN | ACK ) med den angivne tjeneste ( webserver , port 80 som standard) for værten af ​​interesse ; som følge heraf får vi information om tidspunktet for passage af denne type TCP-pakker gennem routere og information om tilgængeligheden af ​​tjenesten på værten af ​​interesse, eller i tilfælde af problemer med pakkelevering ser vi, hvor de er opstået på ruten.

Se også

Links