Traceroute - Linux Command - Unix-komento

traceroute - tulosta reittipaketit verkon isännälle

tiivistelmä

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g yhdyskäytävä ]

[ -i iface ] [ -m max_ttl] [ -p portti ]

[ -q nqueries ] [ -s src_addr ] [ -t tos ]

[ -w waittime ] [ -z pausemsecs ]

isäntä [ packetlen ]

Kuvaus

Internet on suuri ja monimutkainen yhdistelmä verkkolaitteita, jotka yhdistyvät yhdyskäytävien kautta. Reitin seuranta pakettisi seuraa (tai löytää väärän portin, joka hylkää paketit) voi olla vaikeaa. Traceroute käyttää IP-protokollaa "aikaa elää" -kenttään ja yrittää saada aikaan ICMP: n TIME_EXCEEDED-vastauksen jokaisesta yhdyskäytävästä tiellä tietylle isännälle.

Ainoa pakollinen parametri on kohde isäntänimi tai IP-numero . Oletusmittauksen datagrammin pituus on 40 tavua , mutta sitä voidaan lisätä määrittämällä paketin pituus (tavuina) kohde-isäntänimen jälkeen.

Muut vaihtoehdot ovat:

-f

Aseta ensimmäinen lähtevä anturi-paketti ensimmäistä aikaväliä kohden.

-F

Aseta "Älä fragmentaatiota".

-D

Ota pistorasian virheenkorjaus käyttöön.

-g

Määritä irrallisena lähdelaitteen yhdyskäytävä (enintään 8).

-i

Määritä verkkoliitäntä saadaksesi lähdepisteen IP-osoite lähteville koetinkäskyille. Tämä on tavallisesti hyödyllistä vain monen kotikäyttäjän palvelimelle. (Katso -s- lippu toista tapaa tehdä tämä.)

-I

Käytä ICMP ECHOa UDP-datagrammien sijaan.

-m

Määritä lähtevien anturipakettien enimmäislähetys-aika (suurin humalan määrä). Oletusarvo on 30 humalaa (sama oletusarvo TCP-yhteyksissä).

-n

Tulosta hop-osoitteet numeerisesti pikemminkin kuin symbolisesti ja numeerisesti (tallentaa nimipalvelimen osoitekohtaisen haun kullekin reitille löydettävälle yhdyskäytävälle).

-p

Määritä anturissa käytettävän pohjaisen UDP-portin numero (oletusarvo on 33434). Traceroute toivoo, että UDP-porttien pohjalta ei ole mitään kuunneltava base + nhops - 1 kohden vastaanottajalle (joten ICMP PORT_UNREACHABLE -viesti palautetaan reitin jäljittämisen lopettamiseksi). Jos jotain kuuntelee porttia oletusalueella, tätä asetusta voidaan käyttää valitsemaan käyttämätön porttialue.

-r

Ohita normaalit reititystaulut ja lähetä suoraan isäntään liitetyssä verkossa. Jos isäntä ei ole suoraan liitetyssä verkossa, virhe palautetaan. Tätä vaihtoehtoa voidaan käyttää paikallisen isännän pingoittamiseen rajapinnan kautta, jolla ei ole reittiä sen kautta (esim. Kun liitäntä on pudonnut reitittämällä (8C)).

-S

Käytä seuraavassa IP-osoitteessa (joka yleensä annetaan IP-numerona, ei isäntänimenä) lähdesignaalina lähtevissä koettimissa. Usean kotikäyttäjän (joilla on useampi kuin yksi IP-osoite), tätä vaihtoehtoa voidaan käyttää pakottamaan lähdeosoite muuksi kuin rajapinnan IP-osoite, johon koetinpaketti lähetetään. Jos IP-osoite ei ole tämän laitteen käyttöliittymän osoitteita, virhe palautetaan, eikä mitään lähetetä. (Katso -i lippu toista tapaa tehdä tämä.)

-t

Aseta palveluntyypin määrityspaketteihin seuraavaan arvoon (oletusarvo nolla). Arvon on oltava desimaaliluku 0 - 255. Tämän vaihtoehdon avulla voidaan nähdä, ovatko erilaiset palvelutyypit eri polkuja. (Jos et käytä 4.4bsd: tä, tämä voi olla akateemista, koska tavalliset verkkopalvelut, kuten telnet ja ftp, eivät anna sinun hallita TOS: ää). Kaikki TOS: n arvot ovat laillisia tai merkityksellisiä - katso määrittelyjen IP-spec. Hyödyllisiä arvoja ovat todennäköisesti " -t 16 " (pieni viive) ja " -t 8 " (suuri läpäisykyky).

-v

Verbose output. Vastaanotetut ICMP-paketit, jotka ovat muita kuin TIME_EXCEEDED ja UNREACHABLE ovat luettelossa.

-W

Määritä aika (sekunteina) odottaa vastausta anturiin (oletus 5 sekuntia).

-x

Vaihda ip-tarkistussummat. Normaalisti tämä estää tracerouten laskemasta ip-tarkistussummat. Joissakin tapauksissa käyttöjärjestelmä voi korvata lähtevän paketin osia, mutta ei lasketa uudelleen tarkistussummaa (joten joissakin tapauksissa oletusarvoisesti ei ole laskettu tarkistussummia ja käyttämällä -x aiheuttaa niiden laskemisen). Huomaa, että tarkistussummia tarvitaan yleensä viimeiseen hopiin, kun käytetään ICMP ECHO-koettimia ( -I ). Joten ne lasketaan aina ICMP: n käytön aikana.

-z

Aseta aika (millisekunteina) keskeyttämään koettimet (oletusarvo 0). Jotkin järjestelmät, kuten Solaris ja reitittimet, kuten Ciscos-nopeuden rajoitus icmp -viestejä. Hyvä arvo käytettäväksi tämän kanssa on 500 (esim. 1/2 sekunti).

Tämä ohjelma yrittää jäljittää reittiä, jonka IP-paketti seuraisi jollekin internet-isännälle käynnistämällä UDP-koetinpaketteja pienellä ttl: llä (aika elää) ja sitten kuuntelemalla ICMP: n "aika ylitetty" vastaus yhdyskäytävästä. Aloitamme koettelemme yhden ttl: n kanssa ja kasvatamme yhdellä, kunnes saamme ICMP: n "portin, joka ei ole tavoitettavissa" (mikä tarkoittaa, että saimme "isäntänä") tai lyödä max (joka on oletuksena 30 humalaa ja voidaan muuttaa -m lippu). Kolme koettimia (muutos -q- lippu) lähetetään jokaiselle ttl-asetukselle ja riville tulostetaan ttl, yhdyskäytävän osoite ja kunkin koettimen kierrosaika. Jos koettimen vastaukset tulevat eri yhdyskäytäväistä, kunkin vastaavan järjestelmän osoite tulostetaan. Jos ei ole vastausta 5 sekunnin kuluessa, aikakatkaisun välein (muuttunut -w- lippu), painetaan "*" kyseiselle koettimelle.

Emme halua, että kohde-isäntä käsittelee UDP-koetinpaketit niin, että kohdeportti on asetettu epätodennäköiseksi arvoksi (jos jonkin kohteen kohdalla on kyseinen arvo, sitä voidaan muuttaa -p- lippua käyttäen).

Näytteen käyttö ja tuotos saattavat olla:

[yak 71]% traceroute nis.nsf.net. traceroute osoitteeseen nis.nsf.net (35.1.1.48), 30 hops max, 38 tavun paketti 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32. 216.1) 39 ms 39 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms 5 ccn -nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 8 129.140. 70.13 (129.140.70.13) 99 ms 99 ms 80 ms 9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 11 nic.merit.edu (35.1 .1.48) 239 ms 239 ms 239 ms

Huomaa, että rivit 2 ja 3 ovat samat. Tämä johtuu 2. hop-järjestelmästä - lbl-csam.arpa - bugisesta ytimestä, joka lähettää paketit nolla ttl: llä (vika 4.3BSD: n hajautetussa versiossa). Huomaa, että sinun on arvattava, mihin pakettiin polku kulkee maakohtaisesti, koska NSFNet (129.140) ei tarjoa NSS-osoitteiden osoitekirja-käännöksiä.

Mielenkiintoisempi esimerkki on:

[Jak 72]% traceroute allspice.lcs.mit.edu. traceroute allspice.lcs.mit.edu (18.26.0.115), 30 hopia max 1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms 5 ccn-nerif22 .Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms 8 129.140.70.13 ( 129.140.70.13) 80 ms 79 ms 99 ms 9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms 10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms 11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms 12 * * * 13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0.115) 339 ms 279 ms 279 ms

Huomaa, että yhdyskäytävät 12, 14, 15, 16 ja 17 eivät pääse lähettämään ICMP: n "ylittämättömiä" viestejä tai lähetä ne liian pieniksi ttl: n päästäkseen meille. 14 - 17 ovat käynnissä MIT C Gateway -koodin, joka ei lähetä "ylitettyä aikaa". Jumala vain tietää, mitä tapahtuu 12.

Edellä oleva hiljainen yhdyskäytävä 12 voi johtua BSD-verkkokoodin (ja sen johdannaisten) 4. [23] -virheestä: 4.x (x <= 3) lähettää tavoittamattoman viestin käyttäen mitä tahansa ttl: tä jäljellä alkuperäisessä sanomassa. Koska yhdyskäytävien kohdalla jäljellä oleva ttl on nolla, ICMP: n "aika ylittynyt" on taattu, ettei se palauta meille. Tämän virheen käyttäytyminen on hieman mielenkiintoisempaa, kun se näkyy kohdetietokoneessa:

1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1 ) 19 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms 6 csgw. Berkeley.EDU (128.32.131.22) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 neiti ! 39 ms! 39 ms!

Huomaa, että on olemassa 12 "yhdyskäytäviä" (13 on lopullinen määräpaikka) ja täsmälleen viimeinen puolisko niistä on "puuttuu". Mitä todella tapahtuu, on se, että rip (Sun-3-käynnissä oleva Sun OS3.5) käyttää ttl: tä saapuvasta datagrammasta ttl: n ICMP-vastauksessaan. Joten, vastaus kestää paluureittiä (ilman ilmoitusta lähetetään kenellekään, koska ICMP: itä ei lähetetä ICMP: lle), kunnes tutkimme ttl: llä, joka on vähintään kaksinkertainen polun pituuteen. Eli, rip on oikeastaan ​​vain 7 humalaa. Vastaus, joka palaa ttl 1: llä, on merkki siitä, että tämä ongelma on olemassa. Traceroute tulostaa "!" sen jälkeen, kun ttl on <= 1. Koska toimittajat lähettävät paljon vanhentuneita (DEC: n Ultrix, Sun 3.x) tai epätyypillisiä (HPUX) ohjelmistoja, odottaa tätä ongelmaa usein ja / tai huolehditaan siitä, isäntä koettimista.

Muut mahdolliset merkinnät ajan jälkeen ovat: H ,! N tai P (isäntä, verkko tai protokolla saavuttamaton),! S (lähdeluettelo epäonnistui),! F- (pirstoutuminen tarvitaan - RFC1191-polun MTU Discovery -arvo näkyy) ! X (kommunikaatio hallinnollisesti kielletty) ,! V (vastaanottavan prioriteettirikkomus),! C (etuoikeusrajauksen voimassaolo), tai ! (ICMP tavoittamaton koodi). Nämä määritellään RFC1812: llä (joka korvaa RFC1716: n). Jos lähes kaikki koettimet johtavat jonkinlaiseen saavuttamattomaan, traceroute luopuu ja poistuu.

Tämä ohjelma on tarkoitettu käytettäväksi verkon testauksessa, mittauksessa ja hallinnassa. Sitä tulisi käyttää ensisijaisesti manuaaliseen vikasietoon. Kuormituksen vuoksi se voisi asettaa verkkoon, on viisasta käyttää traceroute normaalikäytössä tai automaattisista komentosarjoista.

Katso myös

pathchar (8), netstat (1), ping (8)