Skip to main content

Kako koristiti Command traceroute u Linuxu

Print Pages In CMD! (Travanj 2025)

Print Pages In CMD! (Travanj 2025)
Anonim

Naredba traceroute koristi se u Linuxu za mapiranje putovanja koje paket informacija preuzima od izvora do odredišta. Jedna od upotrebe za traceroute je pronaći kada dođe do gubitka podataka kroz mrežu, što bi moglo značiti čvor koji je dolje.

Budući da svaka skok u rekordu odražava novi poslužitelj ili usmjerivač između računala s podrijetlom i ciljanog cilja, pregledavanje rezultata skeniranja traceroute također omogućuje prepoznavanje sporih točaka koje mogu nepovoljno utjecati na vaš mrežni promet.

Kako radi

Ocjenjujući specifičnu rutu koja slijedi mrežni promet (ili pronalaženje pogrešnog pristupnika koji odbacuje vaše pakete) predstavlja nekoliko izazova za rješavanje problema. Traceroute koristi IP protokol vrijeme za život polje za traženje ICMP TIME_EXCEEDED odgovora od svakog pristupnika duž puta do odredišnog računala.

Jedini parametar koji morate uključiti prilikom izvršavanja naredbe traceroute jest ime računala ili IP adresa odredišta.

Traceroute sintaksa i prekidači

traceroute -dFInrvx f first_ttl -g prolaz -i iface -m max_ttl -p luka Q nqueries -s src_addr -t TOS -w vrijeme cekanja -z pausemsecs domaćin packetlen

Dok je gore navedeno kako zapovijed traceroute mora biti napisana kako bi se radilo u naredbenom retku, performanse ili izlaz naredbe mogu se mijenjati određivanjem jednog ili više dodatnih preklopnika.

  • 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. (Vidi-s zastavu za drugi način da to učinite.)
  • -Ja: 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 baza do baza + radionice - 1 na odredišnom računalu (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 mreži koja se izravno povezuje, vraća se pogreška. Ova se opcija može koristiti za ping lokalnog računala putem sučelja koje nema put kroz njega (npr., Nakon što je sučelje poništeno preusmjeren (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. (Vidi-i zastavu za drugi način da to učinite.)
  • -t: Postavi tip-of-service 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 ' (Visoka 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: Prebacivanje IP kontrolnih iznosa. Obično to sprječava traceroute da izračunava IP checksums. U nekim slučajevima operacijski sustav može prebrisati dijelove odlaznog paketa, ali ne ponovno izračunati kontrolni zbroj; dakle, u nekim slučajevima zadana je ne izračunati čekove i upotrebu-x uzrokuje izračunavanje. Imajte na umu da su obično potrebni čekovi za zadnji hod kada koristite ICMP ECHO sonde (-I), pa 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 iz tvrtke Cisco, ograničavaju brzinu ICMP poruke. Dobra vrijednost za upotrebu s ovim je 500 (npr., 1/2 sekunda).

Tumačenje rezultata

Traceroute opisuje put koji IP paket slijedi do internet hosta 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 je paket stigao na svoje odredište) ili pogodio maksimalnu vrijednost pokušaja, koja je zadana na 30 hmelja i može se promijeniti s-m zastava.

Kada traceroute izvrši, šalje tri sonde na svaku TTL postavku, a zatim ispisuje liniju na konzolu koja prikazuje TTL, adresu pristupnika i vrijeme zaokruživanja svake sonde. Ako sonde odgovore dolaze iz različitih pristupnika, ispisuje se adresa svakog od sustava koji reagira. Ako nema odgovora unutar vremenskog razdoblja od pet sekundi (promijenjeno s-w zastava), zastava se tiska za tu sondicu.

Da bi se spriječilo da se odredišni domaćin osvaja pomoću obrade paketa UDP sonde, odredišni je port postavljen na vrijednost koju vjerojatno neće koristiti taj uređaj. Ako mreža ili usluga na odredištu koristi tu luku, promijenite vrijednost pomoću gumba-p zastava.

Uzorak upotrebe i izlazni rezultati vraćaju rezultate slične ovom primjeru:

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 druga i treća retka ista. Ovaj se rezultat odnosi na buggy kernel na drugom hop sustavu - lbl-csam.arpa - koji prosljeđuje pakete s nulom TTL (bug u distribuiranoj verziji 4.3 BSD). Morate pogoditi na koji put paketi poduzimaju cross-country jer NSFNet (129.140) ne nudi adrese-to-name prijevode za svoje NSSes.

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 na 12, 14, 15, 16 i 17 hramova ne šalju ICMP poruke "prekoračenu vremenu" ili ih šalju s TTL premalenom da nas dođete. Linije 14 do 17 pokreću MIT C pristupni kôd koji ne šalje poruke "vrijeme prekoračenja".

Tihi pristupnik 12 u gornjem primjeru može biti rezultat bugova u šifrantu 4. 23 BSD mrežnog koda i njegovih derivata: Strojevi koji izvode 4.3 kôd i ranije poslati poruku nedostupna koristeći sve što TTL ostaje u izvornom datagramu. Budući da je za gatewayove preostali TTL 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!

Primijetite da postoje 12 "pristupnika" (13 je konačno odredište), a posljednja polovica njih nedostaje. Ono što se stvarno događa je da je poslužitelj nazvan Počivao u miru (Sun-3 trčanje Sun OS 3.5) koristi TTL iz našeg dolaznog datagrama kao TTL u svom ICMP odgovoru. Dakle, odgovor će se utvrditi na putu povratka (bez obavijesti poslanom kome jer se ICMP-ovi ne šalju za ICMP-ove) dok ne proučimo s TTL-om koji je barem dvostruko duljina puta - drugim riječima, kopiranje je stvarno samo sedam udalji se.

Odgovor koji se vraća s TTL od 1 je znak da taj problem postoji. Traceroute ispisuje "!" nakon što je TTL manji od ili jednak 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 paziti na branje ciljani domaćin vaših sondi.

Ostale moguće napomene nakon vremena! H, ! N, ili! P (host, mreža ili protokol nedostižan),! S (izvorna ruta nije uspjela),! F (potrebna je fragmentacija - prikazuje se RFC1191 Path MTU Discovery vrijednost),!X (administrativno zabranjena komunikacija),! V (kršenje prioriteta domaćina),! C (odstupanje prednosti na snazi), ili! (ICMP nedostupan kôd). Ti kodovi definiraju RFC1812, koji zamjenjuje RFC1716. Ako gotovo sve sonde rezultiraju nekim nedostupnim domaćinom, 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.