logo

Linuxin traceroute-komento

Johdatus tracerouteen

Linuxin traceroute-komento on verkon vianmääritysapuohjelma, joka auttaa meitä määrittämään määränpäähän saavuttamiseen tarvittavien hyppyjen ja pakettien määrän. Sitä käytetään näyttämään, kuinka tiedot siirretään paikalliselta koneelta etäkoneeseen. Web-sivun lataaminen on yksi yleisimmistä esimerkeistä traceroutesta. Ladattava verkkosivu siirtää tietoja verkon ja reitittimien kautta. Traceroute voi näyttää reitittimien reitit, IP-osoitteet ja isäntänimet verkon yli. Se voi olla hyödyllinen verkko-ongelmien diagnosoinnissa.

Laskennassa tracert ja traceroute ovat tietokoneverkkodiagnostiikan komentoja mahdollisten reittien näyttämiseksi ja pakettien siirtoviiveiden mittaamiseksi IP-verkossa. Reittihistoria tallennetaan pakettien edestakaisena aikana kaikilta reitin peräkkäisiltä isänniltä; jokaisen hypyn keskimääräinen aikasumma on yhteyden luomiseen käytetty kokonaisaika.

Traceroute-komento jatkuu, ellei jokainen lähetetty paketti katoa useammin kuin kahdesti; yhteys katkeaa, eikä polkua voida arvioida. Toisaalta ping-komento mittaa vain viimeiset meno-paluuajat määränpään läpi. Joskus työkalulla on samanlainen nimi, tracert6 ja traceroute6, IPv6:lle.

Syntaksi:

 traceroute [OPTION...] HOST 

Vaihtoehdot:

Traceroute-komento tukee seuraavia komentorivivaihtoehtoja:

-f, --first-hop=NUM: Sitä käytetään alkuperäisen hyppymatkan asettamiseen.

-g, --gateways=GATES: Sitä käytetään näyttämään luettelo yhdyskäytävistä irtonaista lähdereititystä varten.

-Minä, --icmp: On määritetty käyttämään ICMP ECHO:ta anturina.

-m, --max-hop=NUM: Sitä käytetään maksimaalisen hyppymäärän asettamiseen, oletusarvo on 64.

-M, --tyyppi = MENETELMÄ: Se määrittää METHOD (icmp tai udp) traceroute-operaatioille, oletusmenetelmä on udp.

-p, --port=PORT: Se on määritetty käyttämään kohdeporttia, oletusportti on 33434.

java-lista taulukkoon

-q, --tries=NUM: Sitä käytetään välittämään NUM koetinpakettia hyppyä kohti, oletusarvo on 3.

--resolve-hostnames: Sitä käytetään isäntänimien ratkaisemiseen.

-t, --tos=NUM: Sitä käytetään palvelun tyypin (TOS) asettamiseen NUM.

-w, --wait=NUM: Sitä käytetään odottamaan vastausta sekunneissa, oletusarvo on 3.

mitä on klusterointi

-?, --auta: Sitä käytetään näyttämään ohjekäsikirja, joka sisältää lyhyen kuvauksen tuetuista komentorivivaihtoehdoista ja käytöstä.

--käyttö: Se näyttää lyhyen käyttöviestin.

-V, --versio: Sitä käytetään näyttämään tracerouten versiotiedot.

Katsotaanpa aiheen pikahakemistoa:

  • Asenna traceroute-komento
  • Kuinka se toimii?
  • Seuraa reittiä IPv6:lla
  • Seuraa reittiä IPv4:llä
  • Poista IP-osoitteen ja isäntänimen kartoitus käytöstä
  • Aseta kyselyiden määrä hyppyä kohti
  • Aseta vastauksen odotusaika
  • Määritä käytettävä käyttöliittymä
  • Aseta Alkuperäinen TTL-arvo
  • Aseta hyppyjen enimmäismäärä
  • Saada apua

Tracerouten toteutukset

Traceroute-komento on saatavilla useissa nykyaikaisissa käyttöjärjestelmissä. Unix-tyyppisissä järjestelmissä, kuten Linuxissa, macOS:ssä ja FreeBSD:ssä, se on saatavilla komentorivin työkaluna. Traceroute on myös graafisesti käytettävissä macOS:n Network Utilities -paketissa; nämä apuohjelmat on poistettu käytöstä macOS Big Surin julkaisun jälkeen.

ReactOS ja Microsoft Windows tarjoavat tracert-nimisen ohjelman, joka toteuttaa samanlaisen reitinseurantatoiminnon. Lisäksi Windows NT -pohjaisissa käyttöjärjestelmissä on PathPing, joka voi yhdistää ping-komennon toiminnallisuuden tracertiin. ReactOS-version integroi Get Murphy, ja se on lisensoitu GPL:llä.

Oletuksena traceroute lähettää UDP- (User Datagram Protocol) -pakettien tilauksen Unix-tyyppisissä käyttöjärjestelmissä porttien kohdenumeroilla välillä 33434–33534. MacOS:n, DragonFly BSD:n, OpenBSD:n, NetBSD:n, FreeBSD:n ja Linuxin mukana toimitetuissa traceroute-toteutuksissa on mahdollisuus käyttää ICMP Echo Request -paketteja, kuten TCP ja UDP, käyttämällä ICMP- tai TCP SYN -paketteja. Oletusarvoisesti tracert siirtää ICMP Echo Request -paketteja Windowsissa UDP-pakettien traceroute-siirtojen sijaan.

Tracerouten käyttö

Useimmissa toteutuksissa on ainakin joitain vaihtoehtoja määrittää siirrettävien kyselyjen määrä hyppyä kohti, vastauksen odotusaika, hyppyraja ja käytetty portti. Jos emme kutsu traceroutea määritetyillä vaihtoehdoilla, se näyttää käytettävissä olevien asetusten luettelon, kun taas man traceroute -komento edustaa lisätietoja, kuten virheliput.

Tracerouten alkuperä

Tracerouten manuaalisivulla todetaan, että Van Jacobson määritteli varsinaisen traceroute-ohjelman vuonna 1987 Steve Deeringin suosituksesta, jossa on erityisesti vakuuttavia korjauksia ja suosituksia C. Philip Woodilta, Ken Adelmanilta ja Tim Seaverilta. Mike Muuss, ping-ohjelman kirjoittaja, sanoo, että traceroute määritettiin ytimen ICMP:n tuella, jonka hän oli koodannut aiemmin aktivoimaan raaka-ICMP-vastakkeet, kun hän alun perin määritti ping-ohjelman.

Tracerouten rajoitukset

Tracerouten rajoitukset ovat surullisen kuuluisia, ja ne tulee ottaa huomioon työkalua käytettäessä. Esimerkiksi traceroute tunnistaa polut käyttöliittymätasolla, mutta ei reittitasolla. Muita rajoituksia esiintyy, kun reitittimet eivät vastaa tutkimukseen tai kun reitittimet sisältävät rajoituksen ICMP-vastauksille.

Traceroute voi edustaa polkua, jota ei ole olemassa liikenteen kuormituksen tasauksen olemassaolossa. Tämän ongelman minimoimiseksi on saatavana traceroute-muokkaus, joka tunnetaan nimellä Paris-traceroute, joka hallitsee tutkimusvirran tunnisteen jättämään huomiotta kuormituksen tasapainotuksen.

Asenna traceroute-komento

Traceroute ei ole oletusapuohjelma Linux järjestelmä. Jotta voisimme käyttää traceroutea, meidän on asennettava se manuaalisesti. Asenna se suorittamalla jokin seuraavista komennoista:

 sudo apt install inetutils-traceroute sudo apt install traceroute 

Yllä olevat komennot asentavat traceroute-apuohjelman järjestelmäämme. Onnistuneen asennuksen jälkeen tulos näyttää tältä:

Linux traceroute

Kuinka se toimii?

Jäljittääksesi yhdistetyn verkkoisännän reitin, välitä sen palvelimen nimi tai IP-osoite, johon haluat muodostaa yhteyden. Jos haluat esimerkiksi jäljittää palvelimen javatpoint.com reitin, suorita alla oleva komento:

 traceroute javatpoint.com 

Yllä oleva komento näyttää hyppyjä, paketteja ja paljon muuta tietoa annetusta reitistä. Harkitse alla olevaa tulosta:

reagoi-taulukko
Linux traceroute

Yllä olevasta tuloksesta voimme nähdä useita asioita. Ymmärretään tulosteen jokainen osa:

  • Ensimmäisellä rivillä näkyy tavoitettava isäntänimi ja IP-osoite, hyppyjä, joita traceroute-komento yrittää yrittää, sekä lähetettävien pakettien koko.
  • Toiselta riviltä jokainen rivi näyttää hypyn määränpäähän. Ja isäntänimi, jota seuraa isännän IP-osoite, edestakaisen matkan aika. Edestakainen aika on signaalin lähettämiseen kuluvan ajan ja isännälle vastaamiseen kuluvan ajan summa.
  • Oletuksena se lähettää kolme pakettia jokaiselle isännälle, joten luettelossa on kolme vastausaikaa.
  • '*'-symboli edustaa pakettien menetystä. Pakettien katoaminen johtuu verkkokatkoksen, suuren liikenteen vuoksi verkon ruuhkautumisesta tai ehkä palomuuri katkaisee liikennettä. Jos paketti häviää paljon, traceroute näyttää virheilmoituksen 'kohdetta ei saavutettu'.

Seuraa reittiä IPv6:lla

6-vaihtoehtoa käytetään reitin jäljittämiseen isäntäverkkoon käyttämällä Ipv6-protokollaa. Harkitse alla olevaa komentoa:

 traceroute6 google.com 

Yllä oleva komento jäljittää reitin osoitteeseen google.com käyttämällä Ipv6-protokollaa. Harkitse alla olevaa tulosta:

Linux traceroute

Seuraa reittiä IPv4:n avulla

4-vaihtoehtoa käytetään reitin jäljittämiseen isäntäverkkoon käyttämällä Ipv6-protokollaa. Harkitse alla olevaa komentoa:

 traceroute 4 google.com 

Yllä oleva komento jäljittää reitin osoitteeseen google.com käyttämällä Ipv6-protokollaa. Harkitse alla olevaa tulosta:

Linux traceroute

Poista IP-osoitteen ja isäntänimen yhdistäminen käytöstä

n-vaihtoehtoa käytetään poistamaan IP-osoitteen ja isäntänimen yhdistäminen käytöstä. Harkitse alla olevaa komentoa:

 traceroute n google.com 

Yllä oleva komento tuottaa tulosteen seuraavasti:

Linux traceroute

Aseta kyselyiden määrä hyppyä kohti

Vaihtoehtoa '-q' käytetään määrittämään kyselyiden määrä hyppyä kohti. Harkitse alla olevaa komentoa:

 traceroute -q 2 google.com 

Yllä oleva komento tuottaa tulosteen seuraavasti:

kuinka muuntaa kokonaisluku merkkijonoksi javassa
Linux traceroute

Aseta vastauksen odotusaika

Vaihtoehtoa '-w' käytetään asettamaan vastauksen odotusaika traceroutessa. Se määrittää odotusajan sekunteina, kun anturiin vastataan. Harkitse alla olevaa komentoa:

 traceroute -w 1 google.com 

Yllä olevasta komennosta vasteen odotusaika on 1 sekunti. Se tuottaa tuloksen seuraavasti:

Linux traceroute

Määritä käytettävä käyttöliittymä

i-vaihtoehtoa käytetään määrittämään verkkoliitäntä, jota tracerouten tulee käyttää. Jos sitä ei ole asetettu, se asettaa rajapinnan reititystaulukon mukaisesti. Harkitse alla olevaa komentoa:

 traceroute i wlp3s0b1 google.com 

Yllä oleva komento tuottaa tulosteen seuraavasti:

Linux traceroute

Aseta Alkuperäinen TTL-arvo

Voimme asettaa alkuperäisen TTL-arvon (time to live) muun kuin oletusarvon. Se ohittaa muutaman humalan. Yleensä se on asetettu arvoon yksi, kaksi, kolme ja niin edelleen vastaavalle testisarjalle. Joten jos asetamme sen arvoon seitsemän, ensimmäinen testi yrittää hypätä seitsemää ja ohittaa hyppyjä yhdestä kuuteen. Harkitse alla olevaa komentoa:

 traceroute -f 7 google.com 

Yllä oleva komento siirtyy suoraan hyppäämään seitsemän. Harkitse alla olevaa tulosta:

Linux traceroute

Aseta hyppyjen enimmäismäärä

Vaihtoehtoa '-m' käytetään määrittämään enimmäismäärä hyppyjä, jotta paketti saavuttaa määränpään. Oletusarvo hyppyjen enimmäismäärälle on 30. Harkitse alla olevaa komentoa:

 traceroute -m 7 google.com 

Yllä oleva komento asettaa 7 maksimihyppelyä paketille saavuttaakseen määränpään. Harkitse alla olevaa tulosta:

Linux traceroute

Saada apua

Saat näkyviin ohjeoppaan, joka sisältää yhteenvedon käytöstä ja tuetuista vaihtoehdoista, suorittamalla alla olevan komennon:

härät vs
 traceroute --help 

Yllä oleva komento näyttää ohjeen. Se tuottaa tuloksen seuraavasti:

Linux traceroute

Pääsemme myös manuaalisille sivuille suorittamalla man-komennon seuraavasti:

 man traceroute 

Yllä oleva komento näyttää traceroute-komennon manuaalisen sivun. Se näyttää tältä:

Linux traceroute

Vieritä sivua lukeaksesi lisää ja paina q-näppäintä poistuaksesi manuaalisivulta.