Traceroute

Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. A felmerült kifogásokat a szócikk vitalapja részletezi (vagy extrém esetben a szócikk szövegében elhelyezett, kikommentelt szövegrészek). Ha nincs indoklás a vitalapon (vagy szerkesztési módban a szövegközben), bátran távolítsd el a sablont!
Csak akkor tedd a lap tetejére ezt a sablont, ha az egész cikk megszövegezése hibás. Ha nem, az adott szakaszba tedd, így segítve a lektorok munkáját!


A traceroute egy számítógép-hálózati diagnosztikai eszköz, az internetprotokoll (IP) hálózaton áthaladó Csomagok útvonalának (path) meghatározására, és az átviteli késleltetés mérésére.

traceroute kimenet, az érintett útvonalválasztók listája egyszerű szövegként, az időzítési információkkal feltüntetve.

A traceroute a legtöbb operációs rendszeren elérhető. A Microsoft Windows operációs rendszereken tracert-nek nevezik. A Windows NT alapú operációs rendszerek biztosítják a PathPing szolgáltatást is, amely hasonló funkcióval bír. Ennek változatai is elérhetőek, mint a Linux alatt található tracepath. Az Internet Protocol Version 6 (IPv6) alatt használható eszközt időnként traceroute6 néven is említik.

Implementáció

A traceroute egy csomagsorozatot küld az Internet Control Message Protocol-t (ICMP) felhasználva a célállomásra. A köztes útvonalválasztók (router) módosítják a time-to-live (TTL) értéket, vagyis az Internet Protocol ugrás limitjét (hop limit). Ez általában 128 (Windows) vagy 64 (Linux), és a routerek csökkentik, mikor a csomag áthalad rajtuk. Ha a TTL értéke eléri a nullát, a csomagot eldobják, és egy ICMP hibaüzenetet kapunk vissza (ICMP Time Exceeded). A traceroute működése során a TTL értéket növeli minden egyes csomagsorozat sikeres küldése után. Az első sorozat küldésekor a hop limit értéke 1, arra számítván hogy az első router így nem továbbítja azt. A következő sorozat hop limit értéke 2, így a második útvonalválasztó küldi a hibaüzenetet. Ez a folyamat ismétlődik addig, amíg a célállomás nem fogadja a csomagokat, és nem küldi vissza az ICMP Echo Reply üzenetet. A traceroute a kapott ICMP üzeneteket az útvonalválasztók listájának létrehozására használja, amelyeken a csomagok áthaladtak. Az időbélyeg érték mutatja meg a késleltetés mértékét (latency), amely általában minden csomagnál milliszekundum nagyságrendű.

Hop 192.168.1.2 Depth 1
    Probe status: unsuccessful
    Parent: ()
    Return code: Label-switched at stack-depth 1
    Sender timestamp: 2008-04-17 09:35:27 EDT 400.88 msec
    Receiver timestamp: 2008-04-17 09:35:27 EDT 427.87 msec
    Response time: 26.99 msec
    MTU: Unknown
    Multipath type: IP
      Address Range 1: 127.0.0.64 ~ 127.0.0.127
    Label Stack:
      Label 1 Value 299792 Protocol RSVP-TE

A forrásállomás a választ meghatározott számú másodpercig várja. Ha a csomagot nem fogadják az adott idő alatt, egy kettőskereszt jelenik meg a listában. Az állomások felhasználhatják azokat a csomagokat is, amelyek nem a sajátjuk. Az Internet Protokoll nem igényli, hogy a csomagok a két állomás között ugyanazon az útvonalon haladjanak. Érdemes tudni, hogyha egy állomás nem válaszol a TTL N értékénél, az a kimenetben át lesz ugorva. Az Unix-szerű operációs rendszereken a traceroute alkalmazás alapértelmezetten a User Datagram Protocol (UDP) datagramjait használja a 33434 és 33534 célállomás-portszámok között. A traceroute eszköznek általában van egy opciója, amellyel inkább az ICMP válaszüzeneteit használhatjuk (8-as típus), hasonlóan a Windows tracert alkalmazásához. Ha a hálózat tűzfallal védett, és egyaránt tartalmaz Windows és Unix-szerű rendszereket, mindkét protokollnak engedélyezettnek kell lennie a tűzfalon. Néhány traceroute változat a TCP csomagokat használja, ilyen a tcptraceroute, vagy negyedik rétegbeli traceroute. A Windows NT-ben megjelenő PathPing alkalmazás ötvözi a ping és traceroute funkciókat. Az my traceroute egy fejlesztett verziója az ICMP alapú traceroute eszközöknek, mely elérhető Unix-szerű és Windows rendszereken is. A traceroute összes változata az ICMP (11-es típus) csomagok küldésére támaszkodik. A traceroute változataival rendelkező Linux, FreeBSD, NetBSD, DragonFly BSD és Mac OS X rendszerek rendelkeznek a lehetőséggel, hogy ICMP Echo csomagokat ( -l ) használjanak, vagy más önálló protokollt, mint például az UDP, TCP, ICMP vagy GRE.

Használata

A legtöbb változat biztosan tartalmazza az ugrásonként küldött kérelmek számának meghatározhatóságát, a várakozási idő beállításainak lehetőségét, a hop limit és a porthasználat beállításának lehetőségét. A traceroute megjeleníti az opciókat ha csak önmagában hívjuk meg, míg a man traceroute megosztja a többi részletet is, ide értve a hibajelzéseket is. Egy egyszerű linuxos példa:

traceroute -w 3 -q 1 -m 16   example.com

Csak 3 másodpercet vár - 5 helyett -, ugrásonként egyetlen kérelmet küld - 3 helyett -, az ugrások maximális számát 16-ra korlátozza - 30 helyett - az example.com nevű célállomás irányában. Ez segíthet beazonosítani a hibás irányítótábla definíciókat vagy tűzfalakat, amelyek blokkolják az ICMP forgalmat, vagy a magas UDP-t a portokon a UNIX ping folyamata során. Fontos megjegyezni, hogy a tűzfalon engedélyezzük az ICMP csomagokat, míg a többi protokoll csomagjait nem kell külön jóváhagyni. A traceroute használt eszköz a behatolási tesztek során is, információ gyűjthető vele a hálózati infrastruktúráról, és az állomás körüli IP tartományról. Ugyancsak felhasználható adatok letöltése közben, ha több tükörszerveren is elérhető az adott állomány egy darabja; megállapítható vele, hogy a tükörszerverek közül melyik használata a leggyorsabb.

Biztonsági kockázat

Az Internet-éra korai napjaiban az útvonalakra vonatkozó részletes információ kényelmesnek és elfogadhatónak számított, azonban később megkérdőjelezhető lett titoktartási és biztonsági szempontokból. A traceroute információi gyakorta használtak hackerek által, hogy így gyűjtsenek fontos információkat egy vállalat hálózati architektúrájáról. A traceroute parancs használatával egy hacker gyorsan feltérképezheti a közte, és a belső ismert állomások között elhelyezkedő útvonalválasztókat. Emiatt, míg a traceroute korlátlanul használható volt az Internet-korszak elején, manapság már a legtöbb hálózat blokkolja, vagy megfosztja prioritásától az ICMP időtúllépési üzeneteket, amelyek fontosak a visszajelzési idő (Round-trip delay time) megállapításához. Bárhogy is legyen; a forgalom szűrése a hálózati végpontok felé vitatott gyakorlat.

Eredete

A traceroute használati útmutatója szerint az eredeti traceroute programot Van Jacobson írta 1987-ben Steve Deering javaslatára, és C. Philip Wood, Tim Seaver továbbá Ken Adelman rábeszélésére. A ping program alkotója, Mike Muuss azt állítja weboldalán, hogy a traceroute eredetileg kerneles ICMP támogatással készült, s ezt használta fel korai kódjai során, hogy engedélyezze a nyers ICMP csatlakozókat, még a ping alkalmazás megírásának elején.[1]

Jegyzetek

  1. Archivált másolat. [2011. május 14-i dátummal az eredetiből archiválva]. (Hozzáférés: 2011. szeptember 4.)

További információk

  • RFC1393: Traceroute használata és az IP Option Internet RFC
  • RFC 792: Internet Control Message Protocol (ICMP)
  • Traceroute man page a FreeBSD-hez
  • Traceroute man page a NetBSD-hez Archiválva 2014. július 28-i dátummal a Wayback Machine-ben
  • Traceroute man page a OpenBSD-hez
  • TRACERT manual page a Microsoft Technet oldalán, Windows XP-hez
  • Traceroute Linuxhoz
  • Paris traceroute
  • traceroute.org: havi frissítésű lista az online traceroute-hoz
  • Euro6IX IPv6 Ping és Traceroute online eszköz
  • BGP4.net Traceroute Wiki Archiválva 2008. július 23-i dátummal a Wayback Machine-ben:traceroute szerverek százai, Autonomous System Number szerint rendezve
  • Grafikus TraceRoute Windows-hoz
  • TraceRoute szimuláció
  • TraceRoute és PathPing Windows-hoz
  • (angolul) Traceroute test
Sablon:Unix parancsok
  • m
  • v
  • sz
Unix parancssoros programok és utasítások
Fájlrendszer
cat · cd · chmod · chown · chgrp · cksum · cmp · cp · dd · du · df · file · fsck · fuser · ln · ls · lsattr · lsof · mkdir · mount · mv · pwd · rm · rmdir · sha1sum · size · split · tee · type  · touch · umask
Processzek
at · chroot · cron · exit · kill · killall · nice · pgrep · pidof · pkill · ps · pstree · sleep · time · top · wait
Felhasználói környezet
env · finger · id · logname · mesg · passwd · su · sudo · uptime · tput · w · wall · who · whoami · write
Szövegkezelés
awk · banner · comm · cut · ed · ex · fmt · head · iconv · join · less · more · paste · sed · sort · strings · talk · tac · tail · tr · uniq · vi · wc · xargs
Shell programozás
alias · basename · case  · clear · dirname · echo · expr · false · for · if · printf · seq · test · true · uname · unset  · until  · while  · yes
Hálózat
dig · host · inetd · netstat · ping · rlogin · netcat · traceroute
Keresés
find · grep · locate · whereis · which · whatis
Dokumentáció
apropos · help · man
Egyéb
bc · cal · date · info · lp · history
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap