traceroute - printida marsruudipaketid võrguettevõttena
Kokkuvõte
traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ]
[ -i kui see on ] [ -m max_ttl] [ -p port ]
[ -q nqueries ] [ -s src_addr ] [ -t neid ]
[ -w waittime ] [ -z pausemsecs ]
võõrustaja [ packetlen ]
Kirjeldus
Internet on suur ja kompleksne võrguseadmete koondamine, ühendatud väravatega. Mida jälgivad marsruudid, mida pakette järgivad (või leida pakettide vette tagasi laskmisega seotud väravaid) võib olla raske. Traceroute kasutab IP-protokolli väljal "elupaikas" ja üritab kutsuda ICMP-i TIME_EXCEEDED vastust mõnest hostist mööda teed marsruuti.
Ainuke kohustuslik parameeter on sihtkoha hosti nimi või IP-number . Vaikeanduriga datagrammi pikkus on 40 baiti , kuid seda võib suurendada, kui täpsustada paketi pikkus (baitides) pärast sihtkoha hosti nime.
Muud valikud on:
-f
Määrake esimene väljaminev proovivõtupakett, mida kasutatakse esimest korda.
-F
Määra biti "Ära fragment".
-d
Luba pesa taseme silumine.
-g
Määrake lahutatud lähteteksti lüüsi (maksimaalselt 8).
-i
Määrake võrguliidese, et saada väljaminevate proovide pakettide lähtekoodi IP-aadress. See on tavaliselt kasulik ainult mitmesugusel hostil. (Vt -s lipp muul viisil selle tegemiseks.)
-I
Kasutage UDP datagrammide asemel ICMP ECHO-d.
-m
Määrake väljaminevate proovide pakettide maksimaalne aeg (maksimaalne humpade arv). Vaikimisi on 30 hops (sama vaikimisi kasutatakse TCP-ühenduste jaoks).
-n
Trükkige hop-aadressid numbriliselt, mitte sümboolselt ja numbriliselt (salvestab iga aadressil oleva lüüsi jaoks nimeserveri aadress-to-name lookup).
-p
Määrake sondides kasutatav alus UDP pordi number (vaikimisi on 33434). Traceroute loodab, et UDP portide baasil pole midagi kuulata, et baaspunkti + nhops - 1 asuks sihtmärgi hostis (nii et ICMP PORT_UNREACHABLE sõnum tagastatakse, et lõpetada marsruudi jälgimine). Kui midagi vaigistatakse sadamas, saab seda võimalust kasutada kasutamata port vahemiku valimiseks.
-r
Mööda tavalisi marsruutimise tabeleid ja saatke need otse ühendatud võrgu hosti. Kui host ei ole otseselt ühendatud võrgul, tagastatakse viga. Seda võimalust saab kasutada kohaliku hosti pingimiseks liidese kaudu, millel pole selle kaudu marsruuti (nt pärast liidese lohistamist suunamisega (8C)).
-s
Lähtematerjalide pakettide lähteaadressina kasutage järgmist IP-aadressi (mis tavaliselt antakse IP-aadressina, mitte hosti nimega). Mitmemõttelistel hostidel (enam kui ühe IP-aadressiga) võivad seda võimalust kasutada selleks, et sundida lähteaadressi midagi muud kui liidese IP-aadress, millele proovide pakett on saadetud. Kui IP-aadress ei ole selle masina liidese aadressi ükski osa, tagastatakse viga ja midagi ei saadeta. (Vt- i lipp selle teiseks tegemiseks.)
-t
Määrake proovivõtupaketid järgmisele väärtusele (vaikimisi null). Väärtus peab olema täisarv kümnendarvuga vahemikus 0 kuni 255. Seda võimalust saab kasutada, et näha, kas erinevad teenusekategooriad annavad tulemuseks erinevad teed. (Kui te ei tööta 4.4bsd, võib see olla akadeemiline, sest tavalised võrguteenused nagu telnet ja ftp ei luba teil TOS-i kontrollida). Mitte kõik TOS-i väärtused ei ole seaduslikud ega tähenduslikud - vaadake määratluste IP-spetsifikatsiooni. Kasulikud väärtused on tõenäoliselt " -t 16 " (väike viivitus) ja " -t 8 " (suur läbilaskevõime).
-v
Verbose väljund. Lisatud on teisi ICMP pakette peale TIME_EXCEEDED ja UNREACHABLE.
-w
Määrake aeg (sekundites), et oodata sondi vastust (vaikimisi 5 s).
-x
Lülita ip-kontrollsummasid. Tavaliselt takistab see traceroute ip-kontrollsummade arvutamist. Mõnel juhul võib operatsioonisüsteem ülekantav väljamineva paketi osi üle kirjutada, kuid kontrollsummat uuesti arvutada (nii et mõnedel juhtudel on kontrollsummad mitte arvutatud ja nende kasutamine -x tähendab nende arvutamist). Pange tähele, et ICMP ECHO sondide ( -I ) kasutamise ajal on tavaliselt vaja kontrollsummasid. Nii et neid ICMP-i kasutades alati arvutatakse.
-z
Seadistage sondide vahel pausi seisma (millisekundites) (vaikimisi 0). Mõned süsteemid, näiteks Solaris ja ruuterid, nagu Ciscos määra piirid, ICMP-teated. Selle väärtusega hea väärtus on see 500 (nt 1/2 sekundit).
See programm üritab jälgida marsruuti, mille IP-pakett järgib mõne Interneti-hostiga, käivitades UDP-proovipaketid väikese ttl-ga (aeg elada) ja seejärel kuulata ICMP-i ületatud vastust lüüsi kaudu. Alustame oma sondid ttl ühega ja suurendame seda ühega, kuni me saame ICMP-i "sadama kättesaamatuks" (see tähendab, et me peame "vastuvõtvaks") või tabama max (mis on vaikimisi 30 hopsit ja seda saab muuta -m-ga lipu) Kõigi ttl-seadetes saadetakse kolm sondit (muuda -q- lipuga) ja trükitakse rida, mis näitavad iga sondi ttl-d, lüüsi aadressi ja ümbersõidu aega. Kui sondi vastused pärinevad erinevatest väravatest, trükitakse iga reageeriva süsteemi aadress. Kui vastus pole 5 sekundi jooksul aegintervall (muudetud tähisega -w ), selle sondi jaoks trükitakse "*".
Me ei soovi, et sihtkoha hostid töötleksid UDP sondi pakette, nii et sihtpunkti port oleks ebatõenäoline väärtus (kui mõni sihtpunkti kleebis seda väärtust kasutab, saab seda muuta -p- märgiga).
Proovi kasutamine ja väljund võivad olla:
[Jak 71]% traceroute nis.nsf.net. traceroute to nis.nsf.net (35.1.1.48), 30 hop max, 38 byte packet 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 lilakas- 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 msPange tähele, et read 2 ja 3 on samad. See on tingitud 2. hüppesüsteemi buggy-kernelist - lbl-csam.arpa - mis edastab paketid nulliga ttl (viga 4.3BSD hajutatud versioonis). Pange tähele, et peate ära arvama, missugune tee paketid võtavad marsruudi, kuna NSFNet (129.140) ei toeta oma NSS-idele aadressiväliseid tõlkeid.
Veel huvitavam näide on:
[Jak 72]% traceroute allspice.lcs.mit.edu. traceroute allspice.lcs.mit.edu (18.26.0.115), 30 humal 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 lilakas- 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 msPange tähele, et lüüsi 12, 14, 15, 16 ja 17 minuti kaugusel ei saadeta ICMP-i ületatud sõnumeid või saatke need meili kaudu liiga väikeseks. 14 - 17 kasutavad MIT C Gateway koodi, mis ei anna "aeg ületatud" s. Jumal ainult teab, mis toimub 12-ga.
Ülaltoodud vaikne värav 12 võib olla viga 4-st. [23] BSD võrgukood (ja selle derivaadid): 4.x (x <= 3) saadab kättesaamatu sõnumi, kasutades mistahes ttl jääb originaal datagramm. Kuna lüüside jaoks on ülejäänud ttl null, siis tagatakse, et ICMP "ületatud aeg" ei tagasta seda meile tagasi. Selle vea käitumine on pisut huvitav, kui see kuvatakse sihtkoha süsteemis:
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.133.254) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 Prl ! 39 ms! 39 ms!Pange tähele, et on 12 "väravat" (13 on lõplik sihtkoht) ja täpselt viimane neist on "kadunud". Mis tegelikult toimub, on see, et ripp (Sun-3 töötab Sun OS3.5) kasutab meie saabuvast datagrammist ttl oma ICMP vastuses ttl-ga. Seega vastus aegub tagasisõiduteel (ilma kellegi teavitamata, kuna ICMP-e ei saadeta ICMP-le), kuni me uurime ttl-ga, mis on vähemalt kaks korda pikem. Teisisõnu, rippimine on tõesti ainult 7 hops ära. See vastus, mis naaseb koos numbriga 1, on viide selle probleemi olemasolule. Traceroute prindib "!" pärast seda, kui ttl on <= 1. Kuna tarnijad lahkuvad palju vananenud (DECi Ultrix, Sun 3.x) või mittestandardsed (HPUX) tarkvara, ootavad sageli seda probleemi ja / või hoolitsevad sihtmärgi valimise eest sinu sondide võõrustaja.
Muud võimalikud märkused pärast kellaaega on ! H ,! N või ! P (host, võrk või protokoll pole saavutatav),! S (allika marsruut ebaõnnestus) !! F- (vajalik fragmentatsioon - kuvatakse RFC1191 tee MTU Discovery väärtus) ! X (kommunikatsioon on administratiivselt keelatud) ,! V (eelisjärjekorra rikkumine),! C (ülimuslikkuse katkestamine), või ! (ICMP-i kättesaamatu kood). Need on määratletud RFC1812 (mis asendab RFC1716). Kui peaaegu kõik sondid põhjustavad mingisugust saavutamata, traceroute loobub ja väljub.
See programm on ette nähtud kasutamiseks võrgu testimiseks, mõõtmiseks ja haldamiseks. Seda tuleks kasutada peamiselt käsitsi rikete isoleerimiseks. Tänu koormusele, mida see võib võrgusse panna, ei ole tavapäraste toimingute või automaatsete skriptide korral traceroute'i kasutamine mõistlik.
Vaata ka
rajakaart (8), netstat (1), ping (8)