Traceroute - Linux Command - Unix Command

traceroute - atspausdinkite maršruto paketus per tinklo serverį

Anotacija

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g gateway ]

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

[ -q užklausos ] [ -s src_addr ] [ -t tie ]

[ -w laukti ] [ -z pausemsecs ]

priimančiosios [ packetlen ]

apibūdinimas

Internetas yra didelis ir sudėtingas tinklų techninės įrangos sujungimas, kurį jungia jungtys. Tolesnis maršruto stebėjimas po paketų (arba rasti netinkamą šliuzą, kuris pašalina jūsų paketus) gali būti sunku. "Traceroute" naudoja lauko IP adreso "laikas gyventi" laukus ir bando išsiaiškinti ICMP TIME_EXCEEDED atsakymą iš kiekvieno vartai kelio link kai kurio kompiuterio.

Vienintelis privalomas parametras yra paskirties šalies pavadinimas arba IP numeris . Numatytasis zondo datagramos ilgis yra 40 baitų , tačiau tai gali būti padidinta nurodant paketo ilgį (baitais) po paskirties kompiuterio pavadinimo.

Kitos parinktys yra:

-f

Nustatykite pradinį laiką, kurį naudosite pirmajam išeinančiam zondo paketui.

-F

Nustatykite bitų "ne fragmentą".

-d

Įgalinti lizdo lygio derinimą.

-g

Nurodykite prarastą šaltinio maršruto šliuzą (maks. 8).

-i

Nurodykite tinklo sąsają, kad gautumėte išeinančių zondų paketų šaltinio IP adresą. Paprastai tai naudinga tik daugiabučiams šeimininkams. (Norėdami tai padaryti, žiūrėkite -s vėliavą.)

-I

Naudokite ICMP ECHO, o ne UDP datagramas.

-m

Nustatykite maksimalų laiką (didžiausią apynių skaičių), naudojamą išeinantys zondo paketai. Numatytasis yra 30 apynių (tas pats numatytasis naudojamas TCP jungtys).

-n

Spausdinkite apgyvendinimo adresus skaitmenimis, o ne simbolinėmis ir skaitmenimis (išsaugo vardų prieglobos adreso adresą kiekvienam keliu rastų vartuvui).

-p

Nustatykite zonduose naudojamą pagrindinį UDP prievado numerį (pagal nutylėjimą yra 33434). "Traceroute" tikisi, kad nieko nebus klausoma UDP prievadų bazėje, kad pamatytumėte + nhops-1 paskirties priimančiame kompiuteryje (taigi ICMP PORT_UNREACHABLE žinutė bus grąžinta nutraukiant maršruto sekimą). Jei kas nors klausosi numatytojo diapazono uoste, ši parinktis gali būti naudojama norint pasirinkti nenaudojamą uosto diapazoną.

-r

Aplenkite įprastus maršrutų lenteles ir tiesiogiai siunčiamės prie prijungto tinklo šeimininko. Jei priimamasis nėra tiesiogiai prijungtame tinkle, grąžinama klaida. Ši parinktis gali būti naudojama vietiniam kompiuteriui pinguoti per sąsają, kuri neturi maršruto (pvz., Po to, kai sąsaja buvo nukreipta nukreipta (8C)).

-s

Naudokitės tokiu IP adresu (kuris dažniausiai pateikiamas kaip IP numeris, o ne prieglobos vardas) kaip šaltinio adresą išeinantys zondų paketai. Daugelio namų kompiuteriuose (turintiems daugiau nei vieną IP adresą) ši parinktis gali būti naudojama norint, kad šaltinio adresas būtų kažkas kita nei sąsajos IP adresas, kuriuo siunčiamas zondo paketas. Jei IP adresas nėra vienas iš šio kompiuterio sąsajos adresų, grąžinama klaida ir niekas neišsiunčiamas. (Žiūrėkite -i vėliavą, kad galėtumėte tai atlikti dar kartą.)

-t

Nustatykite paslaugos tipą zondo paketuose į tokią vertę (numatytasis nulis). Vertė turi būti dešimtainis sveikasis skaičius nuo 0 iki 255. Ši parinktis gali būti naudojama norint sužinoti, ar skirtingų paslaugų tipai lemia skirtingus kelius. (Jei neturite 4.4bsd, tai gali būti akademinė, nes įprastos tinklo paslaugos, pvz., Telnet ir ftp, neleidžia jums valdyti TOS). Ne visos TOS vertės yra teisėtos ar prasmingos - žr. Apibrėžimų IP specifikaciją. Naudingos vertės tikriausiai yra " -t 16 " (mažas vėlavimas) ir " -t 8 " (didelis našumas).

-v

Verbose išvestis. Išvardyti įteikiami ICMP paketai, išskyrus TIME_EXCEEDED ir UNREACHABLE.

-w

Nustatykite laiką (sekundėmis), kad lauktumėte atsakymo į zondą (pagal nutylėjimą - 5 sek.).

-x

Perjungti ip kontrolines sumas. Paprastai tai neleidžia traceroute apskaičiuoti ip kontrolinių sumų. Kai kuriais atvejais operacinė sistema gali perrašyti išeinančio paketo dalis, bet neperkvalifikuoti kontrolinės sumos (taigi kai kuriais atvejais pagal nutylėjimą yra nekonvertuoti kontrolinių sumų ir naudojant -x sukelia jų skaičiavimą). Atkreipkite dėmesį, kad dažniausiai reikalingos kontrolinės sumos, jei naudojate ICMP ECHO zondus ( -I ). Taigi, jie visada skaičiuojami naudojant ICMP.

-z

Nustatykite laiko tarpą (milisekundėmis) tarp zondų (numatytasis 0). Kai kurios sistemos, pvz., "Solaris" ir maršrutizatoriai, pvz., "Ciscos", riboja ICMP pranešimus. Gerai verta naudoti su šia programa yra 500 (pvz., 1/2 sekundės).

Ši programa bando atsekti maršrutą, kurio IP paketas atiteks tam tikram interneto priimančiam asmeniui, paleisdamas "UDP" zondo paketus su mažu ttl (laikas gyventi), tada klausytis ICMP laiko atsakymo iš vartuko. Mes pradedame savo zondus su ttl iš vienos ir padidiname vieną, kol mes gauname ICMP "port unreachable" (tai reiškia, kad mes turime "priimančiosios") arba paspauskite max (kuris pagal nutylėjimą 30 apynių ir galima pakeisti su -m vėliava) Trys zondai (pakeisti su- Q vėliava) siunčiami kiekviename ttl nustatymui ir spausdinama linija, kurioje parodomas kiekvieno zondo ttl, vartai ir apvalios kelionės laikas. Jei zondas atsako iš skirtingų vartai, bus atspausdintas kiekvienos atsakomosios sistemos adresas. Jei per 5 sek. Atsakymo nebus. laiko intervalas (pakeistas su- w vėliava), šis zondas yra spausdinamas "*".

Mes nenorime, kad paskirties kompiuteris apdorotų UDP zondo paketus, taigi paskirties prievadas būtų mažai tikėtinas (jei tam tikra paskirtis naudoja šią vertę, ją galima keisti su -p vėliavėle).

Pavyzdžio naudojimas ir išvedimas gali būti:

[jak 71]% traceroute nis.nsf.net. traceroute į nis.nsf.net (35.1.1.48), 30 apynių maksimalus, 38 baitų paketas 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

Atkreipkite dėmesį, kad eilutės 2 ir 3 yra vienodos. Tai yra dėl 2-osios apynių sistemos klaidos kodo - lbl-csam.arpa, kuris perduoda paketus su nulio ttl (4.3BSD paskirstytos versijos klaida). Atkreipkite dėmesį, kad jūs turite atspėti, kokį kelią paketai imasi kitose šalyse, nes NSFNet (129.140) nepateikia adresatų sąrašo vertimų savo NSS.

Pats įdomus pavyzdys yra:

[jak 72]% traceroute allspice.lcs.mit.edu. traceroute į allspice.lcs.mit.edu (18.26.0.115), 30 hop 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

Atkreipkite dėmesį, kad šliuzai 12, 14, 15, 16 ir 17 minučių pertrauka neišsiųsti ICMP laiko viršijimo pranešimų arba siųsti juos per mažą TTL, kad pasiektų mus. 14 - 17 veikia "MIT C Gateway" kodas, kuris nesiunčia "viršytas laikas". Dievas tik žino, kas vyksta su 12.

Pirmiau minėtas tylus vartai 12 gali būti klaidos, gautos iš 4. [23] BSD tinklo kodo (ir jo išvestinių): 4.x (x <= 3) siunčia nepasiekiamą pranešimą, bet ttl išlieka originalo datagramas. Kadangi, kalbant apie vartai, likęs ttl yra nulis, ICMP "laikas viršytas" yra garantuotas, kad negrąžinsime mums. Šios klaidos elgesys yra šiek tiek įdomesnis, kai jis pasirodo paskirties sistemoje:

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 ms! 39 ms! 39 ms!

Atkreipkite dėmesį, kad yra 12 "vartai" (13 yra galutinė paskirties vieta) ir tiksliai paskutinė pusė jų "trūksta". Kas iš tikrųjų vyksta, yra tai, kad RIP ("Sun-3", naudojantis "Sun OS3.5"), naudoja TTL iš mūsų atvykusios datagramos, kaip ICT atsakymo ttl. Taigi, atsakymas bus užtrukęs iš grįžimo kelio (be jokio pranešimo, kuris bus siunčiamas bet kuriam asmeniui, nes ICMP nėra išsiųsti ICMP), kol mes bandysime ttl, kuris yra bent du kartus ilgio kelio. T. y. Kraipas iš tikrųjų yra tik 7 hops. Atsakymas, kuris grįžta su 1 ttl, yra raktas, kad ši problema egzistuoja. "Traceroute" atspausdina "!" po laiko, kai ttl yra <= 1. Kadangi tiekėjai siunčia daug pasenusią (DEC's Ultrix, Sun 3.x) arba nestandartinę (HPUX) programinę įrangą, tikimasi, kad ši problema dažnai pastebima ir jūsų zondų šeimininkė.

Kiti galimi komentarai po laiko yra : H ,! N arba ! P (priimamasis, tinklas ar protokolas nepasiekiamas) ! S (šaltinio maršrutas nepavyko) !! F- (reikalinga fragmentacija - rodomos RFC1191 Trasos MTU Discovery reikšmė) ! X (komunikacija administraciniu požiūriu draudžiama) ,! V (priimančiojo precedento pažeidimas) ,! C (pirmenybės nutraukimas galioja), arba ! (ICMP nepasiekiamas kodas). Tai apibrėžia RFC1812 (kuris pakeičia RFC1716). Jei beveik visi zondai sukels tam tikrą nepasiekiamumą, traceroute atsisakys ir išeis.

Ši programa skirta naudoti tinklo testavimui, matavimui ir valdymui. Jis turėtų būti naudojamas pirmiausia rankinio gedimo izoliacijai. Dėl apkrovos, kurią ji gali nustatyti tinklui, netinkama naudoti traceroute normaliomis operacijomis ar automatiniais scenarijais.

Taip pat žiūrėkite

takas (8), netstat (1), ping (8)