Traceroute

Traceroute  är ett verktygsdatorprogram utformat för att bestämma datavägarna i TCP/IP -nätverk . Traceroute kan använda olika kommunikationsprotokoll beroende på enhetens operativsystem. Dessa protokoll kan vara UDP , TCP , ICMP eller GRE . Windows-datorer använder ICMP-protokollet, medan Linux-operativsystem och Cisco-routrar använder UDP-protokollet.

Traceroute ingår i de flesta moderna nätverksoperativsystem . På Microsoft Windows -system kallas det här programmet tracert och på GNU/Linux- , Cisco IOS- och Mac OS -system  kallas det traceroute .

Låt oss överväga ett exempel på hur programmet fungerar i Windows-operativsystemet. Tracert - programmet skickar data till den angivna nätverksvärden, samtidigt som den visar information om alla mellanliggande routrar genom vilka data passerade på vägen till målvärden. I händelse av problem med leveransen av data till någon nod, låter programmet dig bestämma exakt vilken del av nätverket som hade problem. Det bör noteras att programmet bara fungerar i riktningen från paketets källa och är ett mycket grovt verktyg för att felsöka nätverket. På grund av särdragen i driften av routingprotokoll på Internet, sammanfaller omvända rutter ofta inte med direkta, och detta gäller för alla mellanliggande noder i spåret. Därför kan ICMP- svaret från varje mellannod ta sin egen väg, gå vilse eller anlända med en lång fördröjning, även om detta i verkligheten inte händer med paket som är adresserade till den slutliga noden. Dessutom begränsar mellanliggande routrar ofta antalet ICMP- svar per tidsenhet, vilket leder till falska förluster.

Hur tracerouten fungerar

För att fastställa mellanliggande routrar skickar traceroute en serie ICMP-paket (standard 3-paket) till målvärden, vilket ökar värdet på TTL ("time to live")-fältet med 1 för varje steg. Detta fält anger vanligtvis det maximala antalet routrar som ett paket kan passera. Den första omgången av paket skickas med en TTL på 1, och så skickar den första routern tillbaka ett ICMP - meddelande "tid överskriden under överföring" som indikerar att data inte kunde levereras. Traceroute fångar adressen till routern, såväl som tiden mellan att skicka ett paket och ta emot ett svar (denna information visas på datorskärmen ). Tracerouten sänder sedan om serien av paket, men med ett TTL på 2, vilket gör att den första routern minskar TTL för paketen med ett och vidarebefordrar dem till den andra routern. Den andra routern, som har tagit emot paket med TTL=1, returnerar också "tid överskriden under överföring" .

Processen upprepas tills paketet når destinationsnoden. När ett svar tas emot från denna nod anses spårningsprocessen vara avslutad.

På slutvärden kasseras inte ett IP-datagram med TTL = 1 och orsakar inte ett meddelande om tidsgräns för ICMP utan måste returneras till applikationen. Destinationsankomst definieras enligt följande: datagram som skickas av traceroute innehåller ett UDP- paket med ett känt oanvänt portnummer på destinationsvärden. Portnumret kommer att vara 33434 + (maximalt hopp till värd)  - 1. Vid destinationen kommer UDP-modulen att returnera ICMP-felmeddelanden "port unreachable" när den tar emot sådana datagram. Traceroute behöver alltså bara upptäcka att ett ICMP-felmeddelande av denna typ har kommit för att veta att det har slutfört sitt arbete.

Windows-exempel

Programmet startas från kommandoraden. För att göra detta måste du ange den. För operativsystem i Windows-familjen finns det flera sätt att starta kommandoraden:

  1. Start - Kör - I kolumnen "Öppna", skriv "cmd" och klicka på OK.
  2. Tangentkombination Win (knapp med Windows-logotypen) + R (måste tryckas ned samtidigt) - I kolumnen "Öppna" skriver du "cmd" och klickar på OK.
  3. Start - Alla program (eller helt enkelt "Program", beroende på versionen av operativsystemet) - Systemverktyg - Kommandotolken.

Skriv i fönstret som öppnas:

tracert example.net

Där tracert är ett anrop till programmet och exempel.net  är valfritt domännamn eller IPv4 - adress.

C:\Documents and Settings\Administrator>tracert en.wikipedia.org Traceroute till rr.esams.wikimedia.org [91.198.174.2] med ett maximalt antal hopp 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] Spåret är komplett.

Linux-exempel

I UNIX / Linux- system finns det lägen där programmet endast kan köras som superanvändarrot (administratör). Dessa lägen inkluderar det viktiga ICMP -spårningsläget (knapp -I).

I alla andra fall kan traceroute köras på uppdrag av en vanlig vanlig användare. Samtidigt skiljer sig standardparametrarna från distribution till distribution, även om nyckeln -U( UDP ) traditionellt skrivs i hjälpen som sådan. I vissa RedHat-baserade distributioner används faktiskt standarden -I, så om kommandot från följande exempel ger ett meddelande om brist på rättigheter, försök att explicit ange nyckeln -U.

[användare@localhost ~]$ traceroute www.ru traceroute till www.ru (194.87.0.50), 30 hops max, 38 byte-paket 1 mygateway.ar7 (192.168.1.1) 0,777 ms 0,664 ms 0,506 ms 2 L0.ghsdr04 (213.227.224.91) 15.661 ms 15.867 ms 31.426 ms 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

Brandväggsproblem

En vanlig missuppfattning är att traceroute, som ping , bara fungerar över ICMP. I detta avseende får nybörjaradministratörer, som har aktiverat ICMP-protokollet i brandväggen, en fungerande ping och en icke-fungerande traceroute. För att åtgärda denna situation måste du dessutom tillåta UDP-paket till portar högre än 33434 i brandväggen (vissa källor indikerar att det räcker med att ange ett portintervall från 33434 till 33534).

Alternativ och tillägg till traceroute

  • tracepath  är ett program som liknar traceroute, men kan bygga asymmetriska spår och har några andra skillnader.
  • mtr  — Ett interaktivt program som ständigt kan visa uppdaterad spårstatistik.
  • tracemap  är ett program som låter dig spåra vägen till flera värdar samtidigt och presentera den resulterande data i form av en grafisk karta.
  • tcptraceroute ( tracetcp ) - ett program som liknar traceroute, men utformat för att diagnostisera TCP- anslutningar; istället för UDP- paket använder den TCP -paket för att öppna en anslutning ( SYN | ACK ) med den angivna tjänsten ( webserver , port 80 som standard) för värden av intresse ; som ett resultat får vi information om tiden för passage av denna typ av TCP-paket genom routrar och information om tillgängligheten av tjänsten på värden av intresse, eller, vid problem med paketleverans, ser vi var de uppstod på rutten.

Se även

Länkar