Kuidas kasutada traceroute käsku Linuxis

Võite kasutada Linuxi traceroute käsk võrgupaketi aeglase teekonna tuvastamiseks ja aeglase võrguühenduse tõrkeotsinguks. Näitame teile, kuidas!

Kuidas traceroute töötab

Kui hindate, kuidas traceroute töötab, muudab see tulemuste mõistmise palju lihtsamaks. Mida keerukam on marsruut, mida võrgupakett peab sihtkohta jõudmiseks läbima, seda raskem on täpselt kindlaks teha, kus aeglustused esineda võivad.

Väikese organisatsiooni kohtvõrk (LAN) võib olla suhteliselt lihtne. Tõenäoliselt on sellel vähemalt üks server ja ruuter või kaks. Keerukus suureneb lairibavõrgus (WAN), mis suhtleb erinevate asukohtade vahel või Interneti kaudu. Teie võrgupakett kohtub (ja edastab ja suunab) palju riistvara, nagu ruuterid ja lüüsid.

Andmepakettide metaandmete päised kirjeldavad selle pikkust, kust need pärinevad, kuhu lähevad, kasutatavat protokolli jne. Protokolli spetsifikatsioon määratleb päise. Kui saate protokolli tuvastada, saate määrata päises iga välja alguse ja lõpu ning lugeda metaandmeid.

traceroute kasutab TCP / IP protokollide komplekti ja saadab User Datagram Protocol pakette. Päis sisaldab Time to Live (TTL) välja, mis sisaldab kaheksabitist täisarvu. Vaatamata sellele, mida nimigi ütleb, tähistab see loendust, mitte kestust.

Pakett liigub ruuterist lähtekohast sihtkohta. Iga kord, kui pakett ruuterisse jõuab, vähendab see TTL-loendurit. Kui TTL-väärtus kunagi jõuab, vähendab paketti vastu võtnud ruuter väärtust ja märkab, et see on nüüd null. Seejärel visatakse pakett minema ja seda ei edastata selle reisi järgmisele hüppele, kuna see on „aegunud”.

Ruuter saadab Interneti-sõnumi juhtimisprotokolli (ICMP) aeg ületatud sõnumi tagasi paketi alguspunkti, et anda teada paketi aegumisest. Aeg ületatud sõnum sisaldab algset päist ja algse paketi esimese 64 bitti. See on määratletud kommentaaritaotluse 792. leheküljel 6.

Nii et kui traceroute saadab paketi välja, kuid määrab seejärel TTL-i väärtuseks, pakett jõuab enne esimese viskamist alles esimese ruuterini. See saab ruuterilt teate ICMP ületatud aja kohta ja see saab registreerida edasi-tagasi sõiduks kulunud aja.

Seejärel korratakse harjutust, kui TTL on seatud väärtusele 2, mis kahe hüppe järel ebaõnnestub. traceroute suurendab TTL-i kolmele ja proovib uuesti. See protsess kordub seni, kuni sihtkoht on saavutatud või maksimaalse arvu humalaid (vaikimisi 30) testitakse.

Mõni ruuter ei mängi kenasti

Mõnes ruuteris on vigu. Nad üritavad edastada paketid, mille TTL on null, selle asemel, et need ära visata ja tõsta ICMP-aja ületatud teadet.

Cisco andmetel piiravad mõned Interneti-teenuse pakkujad (ISP) nende ruuterite edastatavate ICMP-sõnumite arvu.

Mõned seadmed on konfigureeritud mitte kunagi ICMP-pakette saatma. Selle eesmärk on sageli tagada, et seadet ei saaks tahtmatult sundida osalema jaotatud teenuse keelamises, nagu näiteks smurfi rünnak.

traceroute on vastuste vaikeaeg viis sekundit. Kui see ei saa selle viie sekundi jooksul vastust, katkestatakse katse. See tähendab, et eiratakse väga aeglaste ruuterite vastuseid.

Traceroute'i installimine

traceroute oli juba Fedora 31-le installitud, kuid see tuleb installida Manjaro 18.1 ja Ubuntu 18.04. Paigaldama traceroute Manjaros kasutage järgmist käsku:

sudo pacman -Sy traceroute

Paigaldama traceroute Ubuntu kasutage järgmist käsku:

sudo apt-get install traceroute

Traceroute'i kasutamine

Nagu me eespool käsitlesime, traceroute's Eesmärk on saada marsruuterilt vastus iga hüppe eest arvutist sihtkohta. Mõni võib olla napisõnaline ja ei anna midagi ära, teine ​​aga tõenäoliselt heidab oad ilma vaiguta.

Näiteks käitame a traceroute Blarney lossi veebisaidile Iirimaal, kus asub kuulus Blarney Stone. Legend ütleb, et kui suudlete Blarney kivi, siis õnnistatakse teid "kingi kingitusega". Loodame, et marsruuterid, kellega teekonnal kokku puutume, on piisavalt kohutavad.

Sisestame järgmise käsu:

traceroute www.blarneycastle.ie

Esimene rida annab meile järgmise teabe:

  • Sihtkoht ja selle IP-aadress.
  • Humalate arv traceroute proovib enne loobumist.
  • Saadetavate UDP-pakettide suurus.

Kõik muud read sisaldavad teavet ühe humala kohta. Enne üksikasjade uurimist näeme, et meie arvuti ja Blarney lossi veebisaidi vahel on 11 humalat. Hop 11 ütleb meile ka, et jõudsime sihtkohta.

Iga hüppeliini vorming on järgmine:

  • Seadme nimi või, kui seade ei identifitseeri ennast, siis IP-aadress.
  • IP-aadress.
  • Aeg, mis kulus kõigi kolme testi jaoks edasi-tagasi. Kui siin on tärn, tähendab see, et sellele testile ei vastatud. Kui seade ei reageeri üldse, näete kolme tärni ja seadme nime ega IP-aadressi pole.

Vaatame allpool toodud andmed üle:

  • Humal 1: Esimene kõneport (sõnamängu pole ette nähtud) on kohaliku võrgu DrayTek Vigori ruuter. Nii lahkuvad meie UDP paketid kohalikust võrgust ja jõuavad Internetti.
  • Humal 2: See seade ei vastanud. Võib-olla oli see konfigureeritud mitte kunagi saatma ICMP-pakette. Või ehk reageeris, kuid oli liiga aeglane, nii ettraceroute aegunud.
  • Humal 3: Seade vastas, kuid me ei saanud selle nime, ainult IP-aadressi. Pange tähele, et selles reas on tärn, mis tähendab, et me ei saanud vastust kõigile kolmele taotlusele. See võib viidata pakettide kadumisele.
  • Humalad 4 ja5: Veel anonüümseid humalaid.
  • Humal 6: Siin on palju teksti, kuna meie kolme UDP-päringut käitus erinev kaugseade. Trükiti iga seadme (üsna pikad) nimed ja IP-aadressid. See võib juhtuda, kui satute rikkalikult asustatud võrku, kus on palju riistvara suure liiklusmahu haldamiseks. See hüppamine asub Ühendkuningriigi ühes suurimas Interneti-teenuse pakkujas. Seega oleks väike ime, kui sama kaugarvuti töötaks meie kolme ühenduse taotlust.
  • Humal 7: See on hüpik, mille meie UDP-paketid internetiteenuse pakkujate võrgust lahkudes tegid.
  • Humal 8: Jällegi saame IP-aadressi, kuid mitte seadme nime. Kõik kolm testi naasid edukalt.
  • Humal 9ja 10: Veel kaks anonüümset humalat.
  • Humal 11: Oleme jõudnud Blarney lossi veebisaidile. Linnus asub Iirimaal Corkis, kuid vastavalt IP-aadressi asukohale on veebisait Londonis.

Nii et see oli segakott. Mõni seade mängis palli, mõni vastas, kuid ei öelnud meile oma nime ja teised jäid täiesti anonüümseks.

Siiski jõudsime sihtkohta, teame, et see on 11 humala kaugusel ja edasi-tagasi reisi aeg oli 13,773 ja 14,715 millisekundit.

Seadmete nimede peitmine

Nagu nägime, viib seadmete nimede lisamine mõnikord segaseks kuvamiseks. Andmete nägemise hõlbustamiseks võite kasutada -n (kaardistamist pole).

Selle näitega tegemiseks sisestame järgmise:

traceroute -n blarneycastle.ie

See muudab edasi-tagasi sõiduplaanide jaoks suurte numbrite valimise lihtsamaks, mis võib viidata kitsaskohale.

Humal 3 hakkab veidi kahtlane tunduma. Eelmisel korral vastas see ainult kaks korda ja seekord ainult üks kord. Selle stsenaariumi korral pole see muidugi meie kontrolli all.

Kui uuriksite oma ettevõtte võrku, tasuks siiski sellesse sõlme veidi süveneda.

Traceroute'i ajalõpu väärtuse määramine

Võib-olla, kui pikendame vaikimisi ajalõpu perioodi (viis sekundit), saame rohkem vastuseid. Selleks kasutame -w (ooteaeg) võimalus muuta see seitsmeks sekundiks. (Pange tähele, et see on ujukomaarv.)

Sisestame järgmise käsu:

traceroute -w 7.0 blarneycastle.ie

See ei teinud erilist vahet, seega on vastused tõenäoliselt aegunud. Tõenäoliselt on anonüümsed humalad sihipäraselt salajased.

Testide arvu määramine

Algselt, traceroute saadab igale hüppele kolm UDP paketti. Saame kasutada -q (päringute arv) võimalus seda üles või alla reguleerida.

Et kiirendada traceroute testimiseks sisestame ühele saadetavate UDP sondipakettide arvu vähendamiseks järgmise:

traceroute -q 1 blarneycastle.ie

See saadab igale hüppele ühe sondi.

TTL-i algväärtuse määramine

Võime TTL-i algväärtuse määrata millekski muuks ja jätta mõne humala vahele. Tavaliselt määratakse esimese testikomplekti jaoks TTL väärtused üheks, järgmise katse jaoks kaheks jne. Kui määrame selle viieks, proovib esimene katse jõuda viie hüpata ja hüpata üks kuni neli vahele.

Kuna me teame, et Blarney lossi veebisait on sellest arvutist 11 humalat, sisestame otse Hop 11 juurde järgmise:

traceroute -f 11 blarneycastle.ie

See annab meile kena, kokkuvõtliku aruande sihtkohaga ühenduse olukorra kohta.

Ole tähelepanelik

traceroute on suurepärane vahend võrgu marsruutimise uurimiseks, ühenduse kiiruse kontrollimiseks või kitsaskohtade tuvastamiseks. Windowsil on ka a jäljend käsk, mis toimib sarnaselt.

Kuid te ei soovi tundmatuid seadmeid UDP-pakettide pommidega pommitada ja lisamise suhtes olge ettevaatlik traceroute skriptides või järelevalveta töödel.

Koormus traceroute võib võrku paigutada, võib selle toimimist halvasti mõjutada. Kui te pole olukorras, kus seda saab parandada, võiksite seda kasutada tavapärasest lahtiolekuaegadest väljaspool.