A traceroute parancs használata Linuxon

A Linux traceroute paranccsal észlelheti a hálózati csomag lassú szakaszát, és elháríthatja a lassú hálózati kapcsolatokat. Megmutatjuk, hogyan!

Hogyan működik a traceroute

Ha értékeli a traceroute működését, sokkal könnyebbé teszi az eredmények megértését. Minél bonyolultabb az útvonal a hálózati csomag mennyi időt kell várni a cél eléréséhez, annál nehezebb pontosan meghatározni, hol fordulhat elő lassulás.

Egy kis szervezet helyi hálózat (LAN) viszonylag egyszerű lehet. Valószínűleg lesz benne legalább egy szerver és egy-két router. A komplexitás növekszik a a nagy kiterjedésű hálózat (WAN), amely különböző helyek között vagy az interneten keresztül kommunikál. A hálózati csomag ezután sok hardverrel találkozik (és továbbítja és irányítja), például útválasztókkal és átjárók.

Az adatcsomagokon lévő metaadatok fejlécei leírják a hosszát, honnan származnak, hová tartanak, milyen protokollt használnak stb. A protokoll specifikációja határozza meg a fejlécet. Ha azonosítani tudja a protokollt, meghatározhatja a fejléc minden mezőjének elejét és végét, és elolvashatja a metaadatokat.

traceroute használja a TCP/IP protokollcsomag, és elküldi Felhasználói Datagram protokoll csomagokat. A fejléc tartalmazza a Itt az ideje élni (TTL) mező, amely nyolc bites egész értéket tartalmaz. Annak ellenére, amit a név sugall, számot jelöl, nem időtartamot.

A csomag egy útválasztón keresztül jut el az eredetétől a célállomásig. Minden alkalommal, amikor a csomag megérkezik egy útválasztóhoz, csökkenti a TTL számlálót. Ha a TTL érték valaha eléri az egyet, a csomagot fogadó útválasztó csökkenti az értéket, és észreveszi, hogy most nulla. A csomagot ezután eldobják, és nem továbbítják az út következő ugrására, mert „időtúllépése” van.

A router küld egy Internet Message Control Protocol (ICMP) Időtúllépés visszaküldi a csomag eredetét, hogy tudatja vele, hogy a csomag lejárt. A Time Exceeded üzenet tartalmazza az eredeti fejlécet és az eredeti csomag adatainak első 64 bitjét. Ennek meghatározása a hatodik oldalon található Megjegyzéskérés 792.

Tehát, ha a traceroute kiküld egy csomagot, de a TTL értéket egyre állítja, a csomag csak az első útválasztóig jut el, mielőtt eldobná. Az útválasztótól ICMP túllépési idő üzenetet kap, és rögzíteni tudja az oda-vissza út idejét.

  Hogyan lehet testreszabni az olvasópanelt az Outlookban

Ezután megismétli a gyakorlatot 2-re állított TTL-lel, ami két ugrás után meghiúsul. A traceroute háromra növeli a TTL-t, és újra próbálkozik. Ez a folyamat addig ismétlődik, amíg el nem éri a célt, vagy a maximális számú ugrást (alapértelmezés szerint 30) teszteli.

Néhány router nem működik jól

Néhány routerben hibák vannak. Megpróbálják továbbítani a nullás TTL-értékkel rendelkező csomagokat, ahelyett, hogy eldobnák őket, és az ICMP-idő túllépése üzenetet emelnék ki.

Alapján Cisco, egyes internetszolgáltatók (ISP) korlátozzák az útválasztóik által továbbított ICMP-üzenetek számát.

Egyes eszközök úgy vannak beállítva, hogy soha ne küldjenek ICMP-csomagokat. Ez gyakran annak biztosítására szolgál, hogy az eszközt ne lehessen akaratlanul is rákényszeríteni, hogy részt vegyen a elosztott szolgáltatásmegtagadás, mint egy törpe támadás.

A traceroute-nak van egy alapértelmezett időkorlátja a válaszokhoz öt másodperc. Ha nem kap választ ezen az öt másodpercen belül, a kísérlet félbeszakad. Ez azt jelenti, hogy a rendszer figyelmen kívül hagyja a nagyon lassú útválasztók válaszait.

Traceroute telepítése

A traceroute már telepítve volt a Fedora 31-re, de telepíteni kell a Manjaro 18.1-re és az Ubuntu 18.04-re. A traceroute Manjaro-ra történő telepítéséhez használja a következő parancsot:

sudo pacman -Sy traceroute

A

A traceroute Ubuntu telepítéséhez használja a következő parancsot:

sudo apt-get install traceroute

A

A traceroute használata

Ahogy fentebb említettük, a traceroute célja, hogy választ kiváltson az útválasztótól minden egyes ugráskor a számítógépről a célállomásra. Lehet, hogy egyesek szűkszavúak, és nem adnak semmit, míg mások valószínűleg kétségbeesés nélkül kiöntik a babot.

Példaként egy nyomkövetési útvonalat fogunk futtatni a Blarney kastély weboldal Írországban, a híres otthonában Blarney Stone. A legenda szerint, ha megcsókolja a Blarney-követ, akkor a „gab ajándékával” lesz megáldva. Reméljük, hogy az útválasztók, amelyekkel útközben találkozunk, megfelelően beszédesek.

A következő parancsot írjuk be:

traceroute www.blarneycastle.ie

A

Az első sor a következő információkat tartalmazza:

A cél és annak IP-címe.
A komlószámot a traceroute megpróbálja, mielőtt feladná.
Az általunk küldött UDP-csomagok mérete.

Az összes többi sor az egyik komlóról tartalmaz információt. Mielőtt azonban belemélyednénk a részletekbe, láthatjuk, hogy 11 ugrás van a számítógépünk és a Blarney Castle webhelye között. A 11-es komló is elárulja, hogy célba értünk.

  Hogyan készítsünk brosúrát a Microsoft Word programban

Az egyes ugrássorok formátuma a következő:

Az eszköz neve, vagy ha az eszköz nem azonosítja magát, az IP-cím.
Az IP-cím.
Az oda-vissza út időtartama mindhárom teszt esetében. Ha itt van egy csillag, az azt jelenti, hogy nem érkezett válasz a tesztre. Ha az eszköz egyáltalán nem válaszol, három csillag jelenik meg, és nem lesz eszköznév vagy IP-cím.

Tekintsük át az alábbiakat:

1. ugrás: Az első hívási port (nem szójáték) a DrayTek Vigor Router a helyi hálózaton. Így hagyják el UDP-csomagjaink a helyi hálózatot és kerülnek az internetre.
2. ugrás: Ez az eszköz nem válaszolt. Talán úgy volt beállítva, hogy soha ne küldjön ICMP-csomagokat. Vagy talán válaszolt, de túl lassú volt, így a traceroute időtúllépést okozott.
3. ugrás: Egy eszköz válaszolt, de nem kaptuk meg a nevét, csak az IP-címet. Vegye figyelembe, hogy ebben a sorban van egy csillag, ami azt jelenti, hogy nem kaptunk választ mindhárom kérésre. Ez csomagvesztésre utalhat.
4. és 5. komló: Még több névtelen ugrás.
6. ugrás: Sok szöveg van itt, mert egy másik távoli eszköz kezelte mind a három UDP-kérésünket. Az egyes eszközök (meglehetősen hosszú) nevei és IP-címei ki lettek nyomtatva. Ez akkor fordulhat elő, ha egy „dúsan lakott” hálózattal találkozik, amelyen sok hardver található a nagy forgalom kezelésére. Ez az ugrás az Egyesült Királyság egyik legnagyobb internetszolgáltatóján belül található. Tehát kisebb csoda lenne, ha ugyanaz a távoli hardver kezelné a három csatlakozási kérésünket.
7. ugrás: Ez az a ugrás, amelyet az UDP-csomagjaink készítettek, amikor elhagyták az internetszolgáltatók hálózatát.
Hop 8: Ismét kapunk egy IP-címet, de nem az eszköz nevét. Mindhárom teszt sikeresen megtörtént.
9. és 10. komló: Még két névtelen ugrás.
11. ugrás: Megérkeztünk a Blarney Castle weboldalára. A kastély az írországi Corkban található, de a szerint IP-cím földrajzi helymeghatározása, a weboldal Londonban található.

Szóval vegyes táska volt. Egyes eszközök labdáztak, mások válaszoltak, de nem mondták el a nevüket, mások pedig teljesen névtelenek maradtak.

A célhoz azonban eljutottunk, tudjuk, hogy 11 ugrásra van, és az oda-vissza út ideje 13,773 és 14,715 ezredmásodperc volt.

  A com.apple.mobilephone 1035-ös hiba kijavítása

Eszköznevek elrejtése

Amint láttuk, az eszköznevek feltüntetése néha zsúfolt képernyőhöz vezet. Az adatok könnyebb áttekintése érdekében használhatja az -n (nincs leképezés) opciót.

Ehhez a példánkkal a következőket írjuk be:

traceroute -n blarneycastle.ie

A

Ez megkönnyíti a nagy számok kiválasztását az oda-vissza utazásokhoz, amelyek szűk keresztmetszetet jelezhetnek.

A Hop 3 kezd egy kicsit gyanúsnak tűnni. Legutóbb csak kétszer válaszolt, ezúttal pedig csak egyszer. Ebben a forgatókönyvben ez természetesen kívül esik az irányításunkon.

Ha azonban vállalati hálózatát vizsgálja, érdemes lenne egy kicsit mélyebbre ásni a csomópontban.

A nyomkövetési időkorlát beállítása

Talán ha meghosszabbítjuk az alapértelmezett időtúllépési időt (öt másodperc), több választ kapunk. Ehhez a -w (várakozási idő) kapcsolóval hét másodpercre változtatjuk. (Megjegyzés: ez egy lebegőpontos szám.)

A következő parancsot írjuk be:

traceroute -w 7.0 blarneycastle.ie

A

Ez nem sokat változott, így a válaszok valószínűleg időzítést vesznek igénybe. Valószínűleg a névtelen komló szándékosan titkolózik.

A tesztek számának beállítása

Alapértelmezés szerint a traceroute három UDP-csomagot küld minden ugrásra. A -q (lekérdezések száma) opcióval ezt felfelé vagy lefelé állíthatjuk.

A traceroute teszt felgyorsítása érdekében a következőket írjuk be, hogy az általunk küldött UDP-próbacsomagok számát egyre csökkentsük:

traceroute -q 1 blarneycastle.ie

A

Ez egyetlen szondát küld minden ugrásra.

A kezdeti TTL érték beállítása

Beállíthatjuk a TTL kezdeti értékét egytől eltérőre, és kihagyhatunk néhány ugrást. Általában a TTL értékek egyre vannak beállítva az első tesztkészlethez, kettőre a következő tesztkészlethez, és így tovább. Ha ötre állítjuk, az első teszt megkísérli elérni az ötös ugrást, és kihagyja az ugrást egytől négyig.

Mivel tudjuk, hogy a Blarney Castle webhely 11 ugrásnyira van ettől a számítógéptől, a következőket írjuk be, hogy egyenesen a Hop 11-hez ugorjunk:

traceroute -f 11 blarneycastle.ie

A

Ez egy szép, tömör jelentést ad a célhoz való kapcsolat állapotáról.

Légy tapintatos

A traceroute nagyszerű eszköz a hálózati útválasztás kivizsgálására, a kapcsolati sebesség ellenőrzésére vagy a szűk keresztmetszetek azonosítására. A Windowsnak van egy tracert parancsa is, amely hasonlóan működik.

Azonban nem akarja az ismeretlen eszközöket UDP-csomagok özönével bombázni, és óvakodjon attól, hogy a traceroute-ot szkriptekbe vagy felügyelet nélküli munkákba foglalja.

A hálózaton elhelyezett terhelési nyomkövetési útvonal hátrányosan befolyásolhatja annak teljesítményét. Hacsak nem „javítsd meg most” típusú helyzetben, érdemes lehet a normál munkaidőn kívül is használni.