traceroute
![]() |
Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. |
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.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Traceroute.png/400px-Traceroute.png)
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ó
[szerkesztés]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
[szerkesztés]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
[szerkesztés]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
[szerkesztés]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
[szerkesztés]- ↑ 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
[szerkesztés]- 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