Traceroute - Linux Command - Unix naredba

traceroute - odštampajte pakete rutama do mrežnog hosta

Sinopsis

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

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

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

[ -w waittime ] [ -z pausemsecs ]

host [ pakirano ]

Opis

Internet je velika i složena zbirka mrežnog hardvera, povezana zajedno sa mrežama. Pratiti put kojim se pakuju paketi (ili pronalaženje neusaglašenog gateway-a koji odbacuje vaše pakete) može biti teško. Traceroute koristi IP protokol `vreme za život 'i pokušava da izazove ICMP TIME_EXCEEDED odgovor sa svake gateway-a na putu do nekog domaćina.

Jedini obavezni parametar je ime odredišta ili IP broj . Podrazumevana dijagrama datograma sonde je 40 bajtova , ali se to može povećati određivanjem duljine paketa (u bajtovima) nakon naziva imena odredišta.

Ostale opcije su:

-f

Postavite početno vrijeme života koji se koristi u prvom odlaznom sondi paketa.

-F

Postavite bit "ne fragment".

-d

Omogućite debagiranje nivoa soketa.

-g

Specificirajte slobodni izvorni put (8 maksimalno).

-i

Navedite mrežni interfejs da biste dobili izvornu IP adresu za izlazne pakete sonde. Ovo je obično korisno samo za domaćina sa više domova. (Pogledajte oznaku -s za drugi način da to uradite.)

-I

Koristite ICMP ECHO umesto UDP datagrama.

-m

Podesite maksimalno vrijeme života (maksimalni broj hmelja) koji se koristi u odlaznim sondama. Podrazumevano je 30 hopsa (isto podrazumevano se koristi za TCP veze).

-n

Print hop se numerički obraća nego simbolično i numerički (čuva imenski naziv adresar za ime za svaki gateway koji se nalazi na putanji).

-p

Postavite bazni UDP port broj koji se koristi u sondama (podrazumevano je 33434). Traceroute se nada da ništa ne sluša na bazama UDP portova da bi bazirao + nijedne - 1 na odredišnom hostu (pa će ICMP PORT_UNREACHABLE poruka biti vraćena kako bi se prekinuo praćenje rute). Ako nešto sluša na portu u podrazumevanom opsegu, ova opcija se može koristiti za odabir neiskorišćenog opsega portova.

-r

Obadite normalne tablice rutiranja i pošaljite direktno na host na priključeni mreži. Ako host nije na direktno priključenoj mreži, greška se vraća. Ova opcija se može koristiti za ping lokalnog hosta preko interfejsa koji nema trasu kroz njega (npr. Nakon što je interfejs pao sa usmerenim (8C)).

-s

Koristite sledeću IP adresu (koja se obično daje kao IP broj, a ne ime hosta) kao izvorna adresa u odlaznim sondama. Na domaćinima sa višestrukim domaćinstvom (one sa više IP adresa), ova opcija se može koristiti da bi izvorna adresa bila nešto drugo osim IP adrese interfejsa na koji se šalje sondi. Ako IP adresa nije jedna od adresa interfejsa ove mašine, greška se vraća i ništa se ne šalje. (Pogledajte oznaku -i za drugi način da to uradite.)

-t

Podesite vrstu usluge u paketima sonde na sledeću vrednost (podrazumevana nula). Vrednost mora biti decimalni cijeli broj od 0 do 255. Ova opcija se može koristiti da bi se videlo da li različite vrste usluga rezultiraju različitim putanjima. (Ako ne koristite 4.4bsd, ovo može biti akademsko, pošto normalne mrežne usluge poput telneta i ftp ne dozvoljavaju da kontrolišete TOS). Nisu sve vrednosti TOS-a zakonite ili smislene - pogledajte specifikaciju IP-a za definicije. Korisne vrednosti su verovatno ` -t 16 '(nisko kašnjenje) i` -t 8 ' (visoki protok).

-v

Verbose output. Primljeni ICMP paketi osim TIME_EXCEEDED i UNREACHABLEs su navedeni.

-w

Podesite vreme (u sekundama) da sačeka odgovor na sondu (podrazumevano 5 sekundi).

-x

Prebacite ip proveru. Obično ovo sprečava traceroute da izračunava ip kontrolne sume. U nekim slučajevima, operativni sistem može prepisati delove odlaznog paketa, ali ne vrši ponovno izračunavanje kontrolne sume (tako da u nekim slučajevima podrazumijeva da se ne računaju kontrolne sume, a korištenje -x uzrokuje njihovo izračunavanje). Imajte na umu da su obično potrebni kontrolni koraci za poslednji hod kada koristite ICMP ECHO sonde ( -I ). Dakle, uvek se izračunavaju kada koristite ICMP.

-z

Podesite vreme (u milisekundama) da biste pauzirali između sondi (podrazumevano 0). Neki sistemi poput Solaris-a i rutera, kao što je Ciscos stopa ograničavaju icmp poruke. Dobra vrijednost za korištenje s ovim je 500 (npr. 1/2 sekunde).

Ovaj program pokušava da prati trasu koju će IP paket pratiti nekoj internet provajderu tako što će pokrenuti UDP satelite pakete sa malim ttl (vrijeme za život), a zatim slušati ICMP "prekoračen" odgovor sa gateway-a. Započinjamo svoje sonde sa ttl od jednog i povećavamo za jedan dok ne dobijemo ICMP "port unreachable" (što znači da smo dobili "host") ili udari max (koji podrazumeva 30 hopsa i može se promijeniti sa -m flag). Tri sonde (promjena sa -q zastavom) se šalju na svakoj ttl postavci i štampa se linija koja prikazuje ttl, adresu gateway-a i vrijeme okretanja svake sonde. Ako sonda odgovori dolaze iz različitih vrata, adresu svakog sistema odgovora će se odštampati. Ako nema odgovora u roku od 5 sekundi. vremenski interval (promenjen sa -w zastavom), za to sonde se štampa "*".

Ne želimo da odredišni domaćin obradi pakete sonde UDP, tako da je odredišni port postavljen na malo verovatnu vrijednost (ako neki klod na odredištu koristi tu vrijednost, može se promijeniti s -p zastavom).

Upotreba i izlaz uzorka mogu biti:

[yak 71]% traceroute nis.nsf.net. traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 bajtova paketa 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

Imajte na umu da su redovi 2 i 3 isti. Ovo je zbog buggy kernela na 2. hop sistemu - lbl-csam.arpa - koji prosleđuje pakete sa nultim ttl-om (greška u distribuiranoj verziji 4.3BSD-a). Imajte na umu da morate pogađati koju putanju paketi uzimaju cross-country, jer NSFNet (129.140) ne pruža prevode adresa za ime NSS-ova.

Još interesantniji primer je:

[yak 72]% traceroute allspice.lcs.mit.edu. traceroute to 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 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

Imajte na umu da gateways 12, 14, 15, 16 & 17 hops ili ne pošalju ICMP "vrijeme premašio" poruke ili ih poslati s ttl premalom da nas dostignu. 14 - 17 pokreću MIT C Gateway kod koji ne šalje "prekoračeno vreme". Bog zna samo šta se dešava sa 12 godina.

Tiha kapija 12 u gornjem tekstu može biti rezultat greške u 4. [23] BSD mrežni kod (i njegovi derivati): 4.x (x <= 3) šalje neprocjenjivu poruku koristeći sve što ostane u originalu datagram. S obzirom da je za gatewayove preostali ttl nula, ICMP "prekoračeno vreme" je garantovano da ga ne vrati nazad. Ponašanje ove greške je nešto interesantnije kada se pojavi na odredišnom sistemu:

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 rip.Berkeley.EDU (128.32.131.22) 59 gospođa ! 39 ms! 39 ms!

Imajte na umu da postoji 12 "kapija" (13 je konačna destinacija) i upravo njihova poslednja polovina "nedostaje". Ono što se stvarno dešava je to što je Rip (Sun-3 koji radi Sun OS3.5) koristi ttl iz našeg dolaznog datagrama kao ttl u odgovoru ICMP-a. Dakle, odgovor će se vratiti na povratnu stazu (bez upućivanja obaveštenja nikome pošto ICMP-ovi nisu poslani za ICMP) sve dok ne sondiramo sa ttl-om koji je bar duplo duži put. Tacno, odskakanje je zaista samo 7 hopsa. Odgovor koji se vraća sa ttl od 1 je znak koji ovaj problem postoji. Traceroute odštampa "!" nakon vremena ako je ttl <= 1. Pošto proizvođači pošalju puno zastarjelih (DEC's Ultrix, Sun 3.x) ili nestandardnog (HPUX) softvera, očekujte da često vidite ovaj problem i / ili vodite računa o odabiru cilja domaćin vaših sondi.

Ostale moguće napomene nakon vremena su: H ,! N ili ! P (host, mreža ili protokol nedostižan),! S (izvorna ruta nije uspjela),! F- (potrebna je fragmentacija - vrijednost RFC1191 Path MTU Discovery) ! X (komunikacija administrativno zabranjena) ,! V (kršenje prioriteta domaćina),! C (efekat prekida prelaska), ili ! (ICMP nedostupan kod). Ove su definisane od strane RFC1812 (koji zamenjuje RFC1716). Ako skoro sve sonde rezultiraju nekom vrstom nedostižnosti, traceroute će se odreći i izaći.

Ovaj program je namenjen za testiranje, merenje i upravljanje mrežom. Trebalo bi se koristiti pre svega za ručnu izolaciju. Zbog opterećenja koja bi mogla nametnuti na mreži, nije pametno koristiti traceroute tokom normalnih operacija ili automatizovanih skriptova.

Pogledajte takođe

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