Traceroute - Linux Command - Unix naredba

traceroute - ispišite pakete puta koji vode do mrežnog računala

Sinopsis

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

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

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

[ -w waittime ] [ -z pausemsecs ]

domaćin [ packetlen ]

Opis

Internet je velika i složena agregacija mrežnog hardvera, međusobno povezana gatewayima. Praćenje slijeda paketa koji slijede (ili pronalaženje pogrešnog pristupnika koji odbacuje vaše pakete) može biti teško. Traceroute koristi polje "vremena za život" IP protokola i pokušava izvući ICMP TIME_EXCEEDED odgovor od svakog pristupnika duž puta do nekog domaćina.

Jedini obvezni parametar je odredišni naziv hosta ili IP broj . Zadana duljina datagrama sonde je 40 bajta , no to se može povećati određivanjem duljine paketa (u bajtovima) nakon naziva glavnog računala.

Ostale opcije su:

f

Postavite početno vrijeme-to-live koji se koristi u prvom paketu za odlazne sonde.

-F

Postavite bit "ne ulazi".

-D

Omogući ispravljanje pogrešaka na razini socket.

-g

Navedite labavo usmjerivač izvornog puta (maksimum 8).

-i

Navedite mrežno sučelje kako biste dobili izvornu IP adresu za pakete za odlazne sonde. To je obično korisno samo na više domaćinima. (Pogledajte s - zastavicu za drugi način za to.)

-I

Koristite ICMP ECHO umjesto UDP datagrama.

-m

Postavite maksimum vremena do uživo (maksimalni broj hmelja) koji se koriste u paketima za odlazne sonde. Zadana postavka je 30 hoppinga (iste postavke koje se koriste za TCP veze).

-n

Ispis skupa usmjerava adrese numerički, a ne simbolički i numerički (sprema traženje adrese-naziva imena poslužitelja za svaki pristupnik pronađen na putu).

-p

Postavite broj baznog broja UDP koji se koristi u sondama (zadana vrijednost je 33434). Traceroute se nada da ništa ne sluša UDP portove baze baze + nhops - 1 na odredišnom hostu (tako da će poruka ICMP PORT_UNREACHABLE biti vraćena kako bi prekinula praćenje rute). Ako nešto čuje na priključku u zadanom rasponu, ova opcija može se koristiti za odabir neiskorištenog raspona ulaza.

-r

Zaobići normalne tablice usmjeravanja i pošaljite izravno domaćinu na priključnoj mreži. Ako se domaćin ne nalazi na izravnoj mreži, vraća se pogreška. Ova se opcija može koristiti za pingiranje lokalnog računala putem sučelja koje nema put kroz nju (npr. Nakon što je sučelje ispušteno usmjeravanjem (8C)).

-s

Upotrijebite sljedeću IP adresu (koja se obično daje kao IP broj, a ne naziv hosta) kao izvorna adresa u paketa za odlazne sonde. Na više domaćinima (onima s više od jedne IP adrese) ova opcija može se koristiti za prisiliti izvornu adresu da bude nešto drugo osim IP adrese sučelja na kojem se šalje paket sonde. Ako IP adresa nije jedna od adresa sučelja ovog uređaja, pogreška se vraća i ništa se ne šalje. (Pogledajte -i zastavu za još jedan način za to.)

-t

Postavite vrstu usluge u paketima sonde na sljedeću vrijednost (zadana nula). Vrijednost mora biti decimalni cijeli broj u rasponu od 0 do 255. Ova se opcija može koristiti za provjeru jesu li različiti tipovi usluzi rezultat različitih putova. (Ako ne koristite 4.4bsd, to može biti akademsko jer normalne mrežne usluge poput telnet i ftp ne dopuštaju nadzor nad TOS-om). Nisu sve vrijednosti TOS-a pravne ili smislene - pogledajte IP specifikaciju za definicije. Korisne vrijednosti su vjerojatno " -t 16 " (niska kašnjenja) i " -t 8 " (velika propusnost).

-v

Opširan izlaz. Navedeni ICMP paketi osim TIME_EXCEEDED i UNREACHABLE su navedeni.

-w

Postavite vrijeme (u sekundama) da pričekate odgovor na sondu (zadana 5 sekundi).

-x

Prebacujte kontrolne čekove. Obično, to sprječava traceroute da izračunava ip checksumove. U nekim slučajevima operacijski sustav može prebrisati dijelove odlaznog paketa, ali neće ponovno izračunati kontrolni zbroj (tako da je u nekim slučajevima zadano ne izračunati čekove s čekovima i pomoću -x ih uzrokuje da se izračunaju). Imajte na umu da su obično potrebni čekovi za zadnji hod kada koristite ICMP ECHO sonde ( -I ). Stoga se uvijek izračunavaju pri korištenju ICMP-a.

-z

Postavite vrijeme (u milisekundama) za pauzu između sondi (zadana vrijednost 0). Neki sustavi kao što su Solaris i usmjerivači kao što su Ciscos ograničavaju limitiranje ICMP poruka. Dobra vrijednost za korištenje s ovim je 500 (npr. 1/2 sekunda).

Ovaj program pokušava pratiti put kojim bi IP paket mogao slijediti nekom internet hostu pokretanjem paketnih paketa UDP s malim ttl (vrijeme za život), a zatim slušajući ICMP "vrijeme prekoračeno" odgovor od gatewaya. Pokrećemo sonde s ttl od jednog i povećamo za jedan dok ne dobijemo ICMP "port unreachable" (što znači da smo dobili na "host") ili hit max (koji je zadani na 30 hmelja i može se mijenjati s -m zastava). Na svakoj ttl postavci šalju se tri sonde (promjena s -q zastavicom) i ispisuje se linija koja prikazuje ttl, adresu pristupnika i vrijeme kružnog puta svake sonde. Ako odgovori sonde dolaze iz različitih pristupnika, ispisuje se adresa svakog od sustava koji odgovara. Ako nema odgovora unutar 5 sekundi, timeout interval (promijenjen sa -w zastavicom), "*" se ispisuje za tu sondu.

Ne želimo da odredišni domaćin obradi pakete sonde za UDP tako da je odredišni port postavljen na vjerojatnu vrijednost (ako se neki odredište na odredištu koristi tom vrijednošću, može se promijeniti s oznakom -p ).

Uzorak upotrebe i izlazni podaci mogu biti:

[jak 71]% traceroute nis.nsf.net. traceroute na nis.nsf.net (35.1.1.48), maksimalno 30 komada, paket od 38 bajta 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.1) 216.1) 39 ms 39 ms 19 ms 3 lila- 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 (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

Imajte na umu da su linije 2 i 3 isti. To je zbog buggy kernela na 2. hop sustavu - lbl-csam.arpa - koji prosljeđuje pakete s nula ttl (bug u distribuiranoj verziji 4.3BSD). Imajte na umu da morate pogoditi koji put paketi uzimaju u prelijepoj zemlji jer NSFNet (129.140) ne dostavlja adrese prijevoda za NSS-ove.

Zanimljiviji primjer je:

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

Imajte na umu da pristupnici 12, 14, 15, 16 i 17 ne udaju ili ne šalju ICMP poruke "prekoračenu vremenu" ili ih šalju s premalenom ttl da bi stigli do nas. 14 - 17 izvode MIT C pristupni kôd koji ne šalje "prekoračenje vremena". Bog zna samo što se događa s 12.

Tihi pristupnik 12 u gornjem dijelu može biti rezultat bugova 4. [23] BSD mrežnog koda (i njenih derivata): 4.x (x <= 3) šalje poruku koja se ne može dohvatiti pomoću bilo kojeg ttl ostatka u izvorniku datagrama. Budući da za pristupnike, preostali ttl je nula, ICMP "vrijeme premašeno" je zajamčeno da ga ne vraća natrag. Ponašanje ovog buga malo je zanimljivije kada se pojavljuje na sustavu odredišta:

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!

Imajte na umu da postoje 12 "pristupnika" (13 je konačno odredište), a točno posljednja polovica njih "nedostaje". Ono što se stvarno događa jest da kopiranje (Sun-3 trčanje Sun OS3.5) koristi ttl iz našeg dolaznog datagrama kao ttl u svom ICMP odgovoru. Dakle, odgovor će se utvrditi na putu povratka (bez obavijesti koja se šalje svima jer se ICMP-ovi ne šalju za ICMP) sve dok ne sondirate s ttl koja je najmanje dvostruko duljina puta. Ili, kopiranje je zapravo samo 7 skokova. Odgovor koji se vraća s ttl od 1 je znak da taj problem postoji. Traceroute ispisuje "!" nakon što je ttl <= 1. Budući da dobavljači isporučuju puno zastarjelih (DEC's Ultrix, Sun 3.x) ili nestandardni (HPUX) softver, očekujete da ćete često vidjeti taj problem i / ili paziti da odaberete cilj domaćin tvojih sondi.

Ostale moguće napomene nakon vremena su H , N ili P (domaćin, mreža ili protokol nedostupan), S (izvorna ruta nije uspjela), F- (potrebna fragmentacija - prikazuje se RFC1191 Path MTU Discovery vrijednost) ! X (administrativno zabranjena komunikacija) ,! V (kršenje prioriteta domaćina) ,! C (preuzimanje prekinuto na snazi) ili ! (ICMP nedostupan kôd). One su definirane RFC1812 (koji zamjenjuje RFC1716). Ako gotovo sve sonde rezultiraju nekom nedostupnom, traceroute će odustati i izaći.

Ovaj je program namijenjen za testiranje, mjerenje i upravljanje mrežom. Treba ga koristiti prvenstveno za ručno izoliranje grešaka. Zbog opterećenja koja bi mogla nametnuti mreži, nije pametno koristiti traceroute tijekom normalnih operacija ili automatiziranih skripti.

Vidi također

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