Įvadas į traceroute
„Linux traceroute“ komanda yra tinklo trikčių šalinimo priemonė, padedanti nustatyti apynių ir paketų, keliaujančių keliu, reikalingą norint pasiekti tikslą, skaičių. Jis naudojamas parodyti, kaip duomenys perduodami iš vietinio įrenginio į nuotolinį įrenginį. Tinklalapio įkėlimas yra vienas iš įprastų traceroute pavyzdžių. Įkeliamas tinklalapis perduoda duomenis per tinklą ir maršrutizatorius. Traceroute gali rodyti maršrutizatorių maršrutus, IP adresus ir pagrindinio kompiuterio pavadinimus tinkle. Tai gali būti naudinga diagnozuojant tinklo problemas.
Skaičiuojant tracert ir traceroute yra komandos, skirtos kompiuterių tinklo diagnostikai, siekiant parodyti galimus maršrutus ir išmatuoti paketų perdavimo delsą IP tinkle. Maršruto istorija įrašoma kaip paketo kelionės pirmyn ir atgal laikas iš visų nuoseklių maršruto prieglobų; vidutinė kiekvieno šuolio laiko suma yra bendras laikas, praleistas ryšiui sukurti.
Traceroute komanda tęsiama, nebent kiekvienas išsiųstas paketas būtų prarastas daugiau nei du kartus; ryšys nutrūksta ir kelio negalima įvertinti. Kita vertus, ping komanda matuoja tik paskutinius kelionės pirmyn ir atgal laikus per paskirties tašką. Kartais IPv6 įrankis turi panašų pavadinimą tracert6 ir traceroute6.
Sintaksė:
traceroute [OPTION...] HOST
Galimybės:
Šias komandų eilutės parinktis palaiko komanda traceroute:
-f, --first-hop=NUM: Jis naudojamas pradiniam šuolio atstumui nustatyti.
-g, --vartai=VARTAI: Jis naudojamas laisvo šaltinio maršrutizavimo šliuzų sąrašui rodyti.
-Aš, --icmp: Nurodyta naudoti ICMP ECHO kaip zondą.
-m, --max-hop = NUM: Jis naudojamas maksimaliam peršokimų skaičiui nustatyti, numatytasis yra 64.
ubuntu kuri komanda
-M, --tipas = METODAS: Jame nurodomas METODAS (icmp arba udp) traceroute operacijoms, numatytasis metodas yra udp.
-p, --port=PORT: Apibrėžta naudoti paskirties PORT prievadą, numatytasis PORT yra 33434.
-q, --tries=NUM: Jis naudojamas persiųsti NUM zondo paketus per šuolį, numatytasis nustatymas yra 3.
--resolve-hostnames: Jis naudojamas pagrindinio kompiuterio pavadinimams išspręsti.
-t, --tos=NUM: Jis naudojamas paslaugos tipui (TOS) nustatyti į NUM.
-w, --wait=NUM: Jis naudojamas atsakymo laukti per kelias sekundes, numatytasis nustatymas yra 3.
-?, -pagalba: Jis naudojamas žinynui parodyti, kuriame yra trumpas palaikomų komandų eilutės parinkčių ir naudojimo aprašymas.
--Naudojimas: Rodo trumpą naudojimo pranešimą.
-V, --versija: Jis naudojamas traceroute versijos informacijai rodyti.
Pažvelkime į greitą temos rodyklę:
java pabėgimo simbolis
- Įdiekite komandą traceroute
- Kaip tai veikia?
- Sekite maršrutą naudodami Ipv6
- Sekite maršrutą naudodami Ipv4
- Išjungti IP adreso ir pagrindinio kompiuterio pavadinimo susiejimą
- Nustatykite užklausų skaičių vienam šuoliui
- Nustatykite atsakymo laukimo laiką
- Nurodykite naudojamą sąsają
- Nustatykite pradinę TTL reikšmę
- Nustatykite maksimalų šuolių skaičių
- Gauti pagalbos
Traceroute įgyvendinimai
„Traceroute“ komanda pasiekiama keliose šiuolaikinėse OS. „Unix“ tipo sistemose, tokiose kaip „Linux“, „MacOS“ ir „FreeBSD“, ji pasiekiama kaip komandinės eilutės įrankis. Be to, „traceroute“ yra grafiškai pasiekiama „MacOS“ tinklo paslaugų rinkinyje; šios komunalinės paslaugos buvo nebenaudojamos nuo „macOS Big Sur“ paskelbimo.
„ReactOS“ ir „Microsoft Windows“ siūlo programą, vadinamą tracert, kuri įgyvendina panašią maršruto sekimo funkciją. Be to, Windows NT pagrįstos OS siūlo PathPing, kuri gali sujungti ping komandos funkcijas su tracert. „ReactOS“ leidimą integravo „Get Murphy“ ir jam suteikta GPL licencija.
Pagal numatytuosius nustatymus traceroute siunčia UDP (User Datagram Protocol) paketų užsakymą Unix tipo operacinėse sistemose, kurių prievadų paskirties numeriai svyruoja nuo 33434 iki 33534. Traceroute diegimai, pristatomi kartu su macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD ir Linux galimybė naudoti ICMP Echo Request paketus, tokius kaip TCP ir UDP, naudojant ICMP arba TCP SYN paketus. Pagal numatytuosius nustatymus tracert perkelia ICMP Echo Request paketus sistemoje Windows, o ne UDP paketų traceroute perdavimus.
Traceroute naudojimas
Daugumoje diegimų yra bent keletas parinkčių, leidžiančių apibrėžti užklausų, kurias reikia perduoti per šuolį, skaičių, atsakymo laukimo laiką, perėjimo limitą ir naudojamą prievadą. Jei neiškviečiame traceroute su nurodytomis parinktimis, rodomas galimų parinkčių sąrašas, o komanda man traceroute nurodo daugiau informacijos, pvz., klaidų vėliavėlės.
Traceroute kilmė
„Traceroute“ vadovo puslapyje teigiama, kad tikrąją „traceroute“ programą 1987 m. nurodė Van Jacobsonas pagal Steve'o Deeringo rekomendaciją su konkrečiais įtikinamais pataisymais ir rekomendacijomis iš C. Philipo Woodo, Keno Adelmano ir Timo Seaverio. Mike'as Muussas, ping programos autorius, teigia, kad traceroute buvo nurodyta naudojant branduolio ICMP, kurį jis užkodavo anksčiau, kad suaktyvintų neapdorotus ICMP lizdus, o iš pradžių nurodė ping programą.
Traceroute apribojimai
Traceroute apribojimai yra liūdnai pagarsėję ir į juos reikia atsižvelgti naudojant įrankį. Pavyzdžiui, traceroute atpažįsta kelius sąsajos lygiu, bet ne maršruto lygiu. Kiti apribojimai atsiranda, kai maršrutizatoriai nereaguoja į tyrimą arba kai maršrutizatoriai apriboja ICMP atsakymus.
„Traceroute“ gali reikšti kelią, kurio nėra naudojant srauto apkrovos balansavimą. Siekiant sumažinti šią problemą, galimas traceroute modifikavimas, žinomas kaip Paris-traceroute, kuris valdo tyrimo srauto identifikatorių, nepaisydamas apkrovos balansavimo.
Įdiekite komandą traceroute
Traceroute nėra numatytasis įrankis Linux sistema. Norėdami naudoti traceroute, turime jį įdiegti rankiniu būdu. Norėdami jį įdiegti, vykdykite vieną iš šių komandų:
sudo apt install inetutils-traceroute sudo apt install traceroute
Aukščiau pateiktos komandos įdiegs traceroute įrankį mūsų sistemoje. Sėkmingai įdiegus, išvestis atrodys taip:
Kaip tai veikia?
Norėdami atsekti prijungto tinklo pagrindinio kompiuterio maršrutą, perduokite serverio pavadinimą arba IP adresą, kurį norite prisijungti. Pavyzdžiui, norėdami atsekti serverio „javatpoint.com“ maršrutą, vykdykite toliau pateiktą komandą:
traceroute javatpoint.com
Aukščiau pateikta komanda parodys šuolius, paketus ir daug kitos informacijos apie nurodytą maršrutą. Apsvarstykite toliau pateiktą išvestį:
Iš aukščiau pateiktos produkcijos matome keletą dalykų. Supraskime kiekvieną išvesties dalį:
- Pirmoje eilutėje rodomas prieglobos serverio pavadinimas ir IP adresas, kurį reikia pasiekti, apyniai, kuriuos bandys bandyti traceroute komanda, ir siunčiamų paketų dydis.
- Iš antrosios eilutės kiekvienoje eilutėje rodomas šuolis į paskirties vietą. Ir pagrindinio kompiuterio pavadinimas, po kurio nurodomas pagrindinio kompiuterio IP adresas, kelionės į abi puses laikas. Kelionės pirmyn ir atgal laikas yra laiko, kurio reikia signalui išsiųsti, ir laiko, kurio reikia atsakyti į pagrindinį kompiuterį, suma.
- Pagal numatytuosius nustatymus jis siunčia tris paketus kiekvienam pagrindiniam kompiuteriui, todėl pateikiami trys atsakymo laikai.
- Simbolis „*“ reiškia paketo praradimą. Paketai prarandami dėl tinklo nutrūkimo, didelio srauto iki tinklo perkrovos arba galbūt dėl ugniasienės nutrūksta srautas. Praradus daug paketo, traceroute parodys klaidą kaip „paskirties vieta nepasiekta“.
Sekite maršrutą naudodami IPv6
Parinktis „6“ naudojama norint atsekti maršrutą iki pagrindinio tinklo naudojant Ipv6 protokolą. Apsvarstykite toliau pateiktą komandą:
traceroute6 google.com
Aukščiau pateikta komanda suseks maršrutą į „google.com“, naudodama Ipv6 protokolą. Apsvarstykite toliau pateiktą išvestį:
Sekite maršrutą naudodami IPv4
Parinktis „4“ naudojama norint atsekti maršrutą iki pagrindinio tinklo naudojant Ipv6 protokolą. Apsvarstykite toliau pateiktą komandą:
traceroute 4 google.com
Aukščiau pateikta komanda suseks maršrutą į „google.com“, naudodama Ipv6 protokolą. Apsvarstykite toliau pateiktą išvestį:
Išjungti IP adreso ir pagrindinio kompiuterio pavadinimo susiejimą
Parinktis „n“ naudojama IP adreso ir pagrindinio kompiuterio pavadinimo susiejimui išjungti. Apsvarstykite toliau pateiktą komandą:
rodyklė c
traceroute n google.com
Aukščiau pateikta komanda pateiks išvestį taip:
Nustatykite užklausų skaičių vienam šuoliui
Parinktis „-q“ naudojama užklausų vienam šuoliui skaičiui nustatyti. Apsvarstykite toliau pateiktą komandą:
traceroute -q 2 google.com
Aukščiau pateikta komanda pateiks išvestį taip:
Nustatykite atsakymo laukimo laiką
Parinktis „-w“ naudojama norint nustatyti atsakymo laukimo laiką traceroute. Jis nurodys atsakymo į zondą laukimo laiką sekundėmis. Apsvarstykite toliau pateiktą komandą:
traceroute -w 1 google.com
Iš aukščiau pateiktos komandos atsako laukimo laikas yra 1 sekundė. Jis gamins produkciją taip:
Nurodykite naudojamą sąsają
Parinktis „i“ naudojama tinklo sąsajai, kurią turėtų naudoti „traceroute“, nustatyti. Jei jis nenustatytas, sąsaja bus nustatyta pagal maršruto lentelę. Apsvarstykite toliau pateiktą komandą:
traceroute i wlp3s0b1 google.com
Aukščiau pateikta komanda pateiks išvestį taip:
Nustatykite pradinę TTL reikšmę
Pradinę TTL (laikas gyventi) reikšmę galime nustatyti kitokią nei numatytoji vertė. Tai praleis kai kuriuos apynius. Paprastai atitinkamam testų rinkiniui nustatomas vienas, du, trys ir pan. Taigi, jei nustatysime jį į septynis, pirmasis bandymas bandys atlikti septynetą ir praleisti apynius nuo vieno iki šešių. Apsvarstykite toliau pateiktą komandą:
traceroute -f 7 google.com
Aukščiau pateikta komanda pereis tiesiai į septynetą. Apsvarstykite toliau pateiktą išvestį:
jpa vs hibernate
Nustatykite maksimalų šuolių skaičių
Parinktis „-m“ naudojama norint nustatyti maksimalų apynių skaičių, kad paketas pasiektų paskirties vietą. Numatytoji didžiausio apynių skaičiaus reikšmė yra 30. Apsvarstykite toliau pateiktą komandą:
traceroute -m 7 google.com
Aukščiau pateikta komanda nustatys 7 maksimalius šuolius, kad paketas pasiektų paskirties vietą. Apsvarstykite toliau pateiktą išvestį:
Gauti pagalbos
Norėdami parodyti pagalbos vadovą, kuriame yra naudojimo ir palaikomų parinkčių santrauka, vykdykite toliau pateiktą komandą:
traceroute --help
Aukščiau pateikta komanda parodys pagalbą. Jis gamins produkciją taip:
Taip pat galime pasiekti vadovo puslapius vykdydami man komandą taip:
man traceroute
Aukščiau pateikta komanda parodys traceroute komandos rankinį puslapį. Tai atrodys taip:
Slinkite puslapiu, kad skaitytumėte daugiau, ir paspauskite mygtuką „q“, kad išeitumėte iš rankinio puslapio.