Traceroute - Linux Command - Unix parancs

traceroute - nyomtassa ki az útvonalcsomagokat a hálózati gazdagép felé

Szinopszis

traceroute [ -dFInrvx ] [ -f első_ttl ] [ -g átjáró ]

[ -i iface ] [ -m max_ttl] [ -p port ]

[ -q nqueries ] [ -s src_addr ] [ -t tos ]

[ -w waittime ] [ -z pausemsecs ]

fogadó [ packetlen ]

Leírás

Az internet egy nagy és összetett hálózati hardver aggregáció, amelyet az átjárók kapcsolnak össze. Az útvonal nyomon követése (vagy a csomagok eldobásával járó hibás átjáró megtalálása) nehéz lehet. A Traceroute az IP protokollt használja az "élettartam" mezőre, és megpróbálja megkapni az ICMP TIME_EXCEEDED válaszát minden egyes átjárótól egy adott állomás elérési útján.

Az egyetlen kötelező paraméter a célállomás neve vagy IP- címe. Az alapértelmezett szonda adatgramhossza 40 bájt , de ez növelhető a csomaghosszúság meghatározásával (bájtban) a célállomás neve után.

Egyéb lehetőségek:

-f

Állítsa be az első kimenő szonda csomagban használt kezdeti időt.

-F

Állítsa be a "nem töredezett" bitet.

-d

Az aljzatszintű hibakeresés engedélyezése.

-g

Adja meg a laza forrásút átjárót (max. 8).

-én

Adja meg a hálózati felületet, hogy megkapja a kimenő szonda csomagok forrás IP-címét. Ez általában csak egy többszörös házigazdában használható. (Lásd az -s címkét egy másik módra.)

-ÉN

Használjon ICMP ECHO helyett UDP datagramokat.

-m

Állítsa be a kimenő mérőcsomagok maximális időtartamát (maximális számú komló). Az alapértelmezett érték 30 komló (ugyanaz az alapértelmezés a TCP kapcsolatokhoz).

-n

Nyomtasson a hop-címeket numerikusan, nem pedig szimbolikusan és numerikusan (mentse a névszerver cím-név szerinti keresést az elérési útvonalon található minden egyes átjáróra).

-p

Állítsa be a szondákban használt alap UDP port számát (alapértelmezett: 33434). A Traceroute azt reméli, hogy semmi sem hallgat az UDP-portokon az alap + nhops-1- nél a célállomáson (így egy ICMP PORT_UNREACHABLE üzenet visszakerül az útvonal nyomon követéséhez). Ha valami az alapértelmezett tartományban lévő porton hallgat, akkor ezt az opciót használhatjuk egy nem használt porttartomány kiválasztására.

-r

Bypass a normál útválasztási táblázatok és küldje közvetlenül a gazdagép egy csatolt hálózaton. Ha a gazda nincs közvetlenül csatlakoztatott hálózaton, akkor hibaüzenetet kap. Ezt az opciót használhatja egy helyi gazdagép pingezésére olyan felületen keresztül, amelyen nincs útvonal (pl. Miután az interfészt lecsúszott (8C)).

-s

Használja a következő IP-címet (amely általában IP-számként, nem gazdanévként van megadva), mint a forráskód a kimenő szonda csomagokban. Több címzett házon (több IP-cím esetén) ez a lehetőség arra szolgál, hogy a forráscímet másnak kell tekinteni, mint az interfész IP címét, amelyre a szonda csomagot küldi. Ha az IP-cím nem tartozik a készülék interfészcímek közé, hibaüzenet jelenik meg, és semmit sem küldenek. (Lásd a -i zászlót egy másik módra.)

-t

Állítsa a szolgáltatás típusát a szondacsomagokba a következő értékre (alapértelmezett nulla). Az értéknek decimális egész számnak kell lennie a 0-tól 255-ig terjedő tartományban. Ezzel az opcióval lehet ellenőrizni, hogy a különböző típusú szolgáltatások eredményesek-e különböző utakon. (Ha nem futtatod a 4.4bsd-t, ez lehet akadémikus, mivel a normál hálózati szolgáltatások, mint a telnet és az ftp, nem engedik Önnek a TOS vezérlését). A TOS nem minden értéke jogi vagy értelmes - lásd a definíciók IP specifikációját. Hasznos értékek valószínűleg " -t 16 " (alacsony késleltetés) és " -t 8 " (nagy áteresztőképességű).

-v

Verbose kimenet. A TIME_EXCEEDED és az UNREACHABLE-tól eltérő, fogadott ICMP-csomagok szerepelnek.

-w

Állítsa be az időt (másodpercben), hogy várjon a szondára adott válaszra (alapértelmezett 5 másodperc).

-x

Az ip ellenőrzőösszegeinek átváltása. Normális esetben ez megakadályozza a traceroute-t az ip-ellenőrző összegek kiszámításában. Bizonyos esetekben az operációs rendszer felülírhatja a kimenő csomag egyes részeit, de nem tudja újraszámolni az ellenőrző összeget (így egyes esetekben az alapértelmezett az, hogy nem számolják ki a checksum összegeket, és a -x használatával kiválthatja az ellenőrzőösszeget). Ne feledje, hogy az ICMP ECHO szondák ( -I ) használatakor az utolsó ugráshoz szükség van ellenőrző összegekre. Így mindig az ICMP használatakor számítják ki.

-z

Állítsa be az időt (milliszekundumban) a szondák közötti szüneteltetéshez (alapértelmezett 0). Egyes rendszerek, például a Solaris és a routerek, mint a Ciscos sebességkorlátozó ICMP üzenetek. Egy jó érték, amivel használni lehet ezt 500 (pl. 1/2 másodperc).

Ez a program megpróbálja nyomon követni azt az útvonalat, amelyet egy IP-csomag követni fog valamely internetes fogadóhoz egy UDP szonda csomagok elindításával, egy kis ttl-vel (idő élni), majd hallgatva egy ICMP "idő túllépése" választ egy átjárótól. A próbáinkat egy ttl-vel kezdjük, és egyenként növeljük, amíg egy ICMP "port elérhetetlen" (ami azt jelenti, hogy "host" -ot kaptunk), vagy max (ami alapértelmezés szerint 30 komló, és megváltoztatható a -m zászló). Minden ttl beállításnál három próba (változás a -q zászlóval) kerül elküldésre, és egy sor kerül kinyomtatásra, amelyen az egyes próba ttl, az átjáró címe és az oda-vissza menetidő látható. Ha a szonda válaszai különböző átjárókból származnak, akkor minden válaszoló rendszer címét kinyomtatják. Ha nincs válasz 5 másodpercen belül, időtúllépés (a -w jelzéssel megváltoztatva), a "*" kinyomtatása az adott szonda számára.

Nem szeretnénk, hogy a célállomás feldolgozza az UDP-próbacsomagokat úgy, hogy a célport kevéssé értékesre állítsa (ha a rendeltetési helyen valamilyen értéket használ, akkor a -p- jelzővel módosítható).

A minta használata és kimenete lehet:

[yak 71]% traceroute nis.nsf.net. traceroute a nis.nsf.net-hez (35.1.1.48), maximum 30 komló, 38 bájtos csomag 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32. 216.1) 39 ms 39 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 39 ms 5 ccn -nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 59 ms 8 129.140. 70.13 (129.140.70.13) 99 ms 99 ms 80 ms 9 129.140.71.6 (129.140.71.6) 139 ms 239 ms 319 ms 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms 11 nic.merit.edu (35.1 .1.48) 239 ms 239 ms 239 ms

Ne feledje, hogy a 2 és 3 sorok megegyeznek. Ez a 2. hop rendszer - lbl-csam.arpa - hibás kernelének köszönhető, amely nulla ttl-es csomagokat továbbít (egy hibát a 4.3BSD elosztott verziójában). Ne feledje, hogy meg kell kitalálnod, hogy a csomagok milyen úton haladnak át országon, mivel az NSFNet (129.140) nem szolgáltat cím-nevét fordításokat az NSS-ek számára.

Érdekesebb példa:

[yak 72]% traceroute allspice.lcs.mit.edu. traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 komló maximum 1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 19 ms 19 ms 19 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 19 ms 39 ms 39 ms 5 ccn-nerif22 .Berkeley.EDU (128.32.168.22) 20 ms 39 ms 39 ms 6 128.32.197.4 (128.32.197.4) 59 ms 119 ms 39 ms 7 131.119.2.5 (131.119.2.5) 59 ms 59 ms 39 ms 8 129.140.70.13 ( 129.140.70.13) 80 ms 79 ms 99 ms 9 129.140.71.6 (129.140.71.6) 139 ms 139 ms 159 ms 10 129.140.81.7 (129.140.81.7) 199 ms 180 ms 300 ms 11 129.140.72.17 (129.140.72.17) 300 ms 239 ms 239 ms 12 * * * 13 128.121.54.72 (128.121.54.72) 259 ms 499 ms 279 ms 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0.115) 339 ms 279 ms 279 ms

Ne feledje, hogy a 12., 14., 15., 16. és 17. átjárók vagy nem küldik el az ICMP "túllépett" üzeneteket, vagy túl kicsi ahhoz, hogy eljussanak hozzánk. 14-17 működik az MIT C átjáró kódja, amely nem küldi el az "idő túllépését". Isten csak tudja, mi folyik itt 12-tel.

A fenti 12 csendes átjáró a 4. [23] BSD hálózati kód (és annak származékai) hibájából eredhet: 4.x (x <= 3) egy elérhetetlen üzenetet küld, ha bármilyen ttl marad az eredeti datagram. Mivel az átjárók esetében a fennmaradó ttl nulla, az ICMP "idő túllépése" garantáltan nem teszi vissza. Ennek a hibának a viselkedése valamivel érdekesebb, ha megjelenik a célrendszeren:

1 helios.ee.lbl.gov (128.3.112.1) 0 ms 0 ms 0 ms 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 19 ms 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1 ) 19 ms 39 ms 19 ms 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 ms 40 ms 19 ms 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 ms 39 ms 39 ms 6 csgw. Berkeley.EDU (128.32.133.254) 39 ms 59 ms 39 ms 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 Kisasszony ! 39 ms! 39 ms!

Vegyük észre, hogy van 12 "átjáró" (13 a végső cél), és pontosan az utolsó fele "hiányzik". Ami valójában az, hogy a rip (a Sun-3 futó Sun OS3.5) a ttl-t használja az érkező datagramból, mint az ICMP válaszában lévő ttl. Tehát a válasz időtúllépni fog a visszatérési útvonalon (anélkül, hogy bármelyiknek küldött értesítést, mivel az ICMP-t nem küldték az ICMP számára), amíg egy olyan ttl-vel nem próbálkozunk, amely legalább kétszer annyi hosszú. Íme, a rip valójában csak 7 komló. Az a válasz, amely 1-es ttl-vel tér vissza, arra utal, hogy ez a probléma létezik. A Traceroute kinyomtatja a "!" ha a ttl <= 1. Mivel a szállítók sok elavultt (DEC's Ultrix, Sun 3.x) vagy nem szabványos (HPUX) szoftvert szállítanak, gyakran várják ezt a problémát és / vagy vigyázzák a célt a próbák gazda.

Egyéb lehetséges megjegyzések az idő letelte után: H,! N vagy P (a fogadó, a hálózat vagy a protokoll elérhetetlen),! S (forrásút sikertelen),! F- (töredezettség szükséges - megjelenik az RFC1191 Path MTU Discovery értéke) ! X (kommunikáció adminisztratív módon tiltott) ,! V (host elsőbbségi jogsértés),! C (érvénytelenítés elsőbbsége), vagy ! (ICMP elérhetetlen kód). Ezeket az RFC1812 definiálja (amely az RFC1716-ot helyettesíti). Ha szinte az összes szonda valamilyen elérhetetlen, akkor a traceroute feladja és kilép.

Ez a program a hálózati teszteléshez, méréshez és felügyelethez használható. Ezt elsősorban a kézi hibaelhárításhoz kell használni. A terhelés miatt, amelyet a hálózathoz lehet kötni, nem célszerű a traceroute használata normál műveletek vagy automatikus parancsfájlok használatakor.

Lásd még

pathchar (8), netstat (1), ping (8)