Skip to main content

Hogyan használjuk a traceroute parancsot Linux alatt?

5 hasznos "cmd" parancs- Windows 10 (Április 2025)

5 hasznos "cmd" parancs- Windows 10 (Április 2025)
Anonim

A traceroute parancsot Linuxon használják, hogy feltérképezzék az információcsomag által a forrásból a cél felé irányuló utazást. A traceroute egyik felhasználási módja az, ha az adatvesztés az egész hálózaton keresztül történik, ami csomópontot jelenthet.

Mivel a rekord minden egyes hopja új kiszolgálót vagy útválasztót tükröz a kiinduló számítógép és a célcím között, a traceroute-vizsgálat eredményeinek áttekintése lehetővé teszi a lassú pontok azonosítását, amelyek hátrányosan érinthetik a hálózati forgalmat.

Hogyan működik

A hálózati forgalmat követõ konkrét útvonal (vagy a hibás átjáró megtalálása, amely eldobja a csomagokat) számos hibaelhárítási kihívást jelent. A Traceroute az IP protokollt használja itt az ideje élni mezőt, hogy kérjen ICMP TIME_EXCEEDED választ minden egyes átjárótól a célállomás elérési útján.

Az egyetlen paraméter, amelyet a traceroute parancs végrehajtása során fel kell tüntetni, a célállomás gazdája vagy IP címe.

Traceroute szintaxis és kapcsolók

traceroute -dFInrvx -f first_ttl -g átjáró -én szembesülök -m max_ttl -p kikötő -q nqueries -s src_addr -t tos -w várakozási idő -z pausemsecs házigazda packetlen

Míg a fentiek szerint a traceroute parancsot ki kell írni, hogy a parancssorban dolgozhasson, a parancs teljesítményét vagy kimenetét egy vagy több opcionális kapcsoló megadásával lehet megváltoztatni.

  • -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 a-s zászlót más módon erre.)
  • -É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 reméli, hogy semmi sem hallgat az UDP-portokon bázis nak nek bázis + foglalkozások - 1 (tehát az 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 gazdagép nincs közvetlenül csatlakoztatott hálózaton, hibaüzenetet kap. Ezt az opciót használhatja arra, hogy egy helyi gazdagépet olyan felületen pingezze le, amelyen nincs útvonal (pl. vezetékrendszerek (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-én zászlót más módon erre.)
  • -t: Állítsa be type-of-service a szonda csomagokban 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 tudományos, hiszen 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 meghatározások 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őösszegek átváltása. Normális esetben ez megakadályozza a traceroute kiszámítását az IP-ellenőrző összegekből. 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 bizonyos esetekben az alapértelmezés az, hogy nem számolják le a ellenőrző összegeket és a felhasználást-x számítja ki őket. Ne feledje, hogy az ICMP ECHO próbák használatakor az utolsó ugráshoz szükség van ellenőrző összegekre (-ÉN), így az ICMP használatakor mindig kiszámításra kerülnek.
  • -z: Állítsa be az időt (milliszekundumban) a szondák közötti szüneteltetéshez (alapértelmezett 0). Egyes rendszerek, mint például a Solaris és a routerek a Cisco-ból, a sebességkorlátozó icmp üzeneteket. Ennek megfelelő értéket 500 (például 1/2 másodperc) használhat.

Az eredmények értelmezése

A Traceroute körvonalazza azt az utat, amelyen az IP-csomag az internetes fogadóhoz vezet, ha UDP-próbacsomagokat indít el egy kis TTL-lel (élettartamra), majd hallgatja az ICMP "átfutásos" válaszát egy átjárótól. A próbákat egy TTL-lel kezdjük, és egyenként növeljük, amíg egy ICMP "port nem érhető el" (vagyis a csomag érkezik a rendeltetési helyre), vagy elérjük a maximális komfortértéket, amely alapértelmezés szerint 30 komló, és megváltoztatható a-m zászló.

Amikor a traceroute végrehajtja, minden TTL beállításnál három próbát küld, majd kinyomtat egy sort a konzolra, amely a TTL-t, az átjáró címét és az egyes szondák menetrendjét mutatja. Ha a szonda válaszai különböző átjárókból származnak, akkor minden válaszadó rendszernek ki kell nyomtatnia. Ha öt másodperces időtúllépési időn belül nincs válasz (megváltoztatva a-w zászló), egy csillagot kinyomtatnak erre a szondára.

Annak megakadályozására, hogy a célállomás ne legyen túlterhelt UDP-érzékelő csomag-feldolgozással, a cél portot olyan értékre állítja be, amelyet valószínűleg nem használ az eszköz. Ha a rendeltetési helyen lévő hálózat vagy szolgáltatás használja ezt a portot, módosítsa az értéket a-p zászló.

A mintahasználat és a kimenet a következő példához hasonló eredményeket jelenít meg:

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 második és a harmadik sor azonos. Ez az eredmény egy második hibakód-lbl-csam.arpa buggy kernelére vonatkozik, amely zéró TTL-vel (a 4.3 BSD elosztott verziójában hibát) küldött csomagokat továbbítja. Meg kell talá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. helyen lévő átjárók vagy nem küldenek ICMP "túllépett" üzeneteket, vagy túl kicsi ahhoz, hogy eljussanak hozzánk. A 14-17. Sorok az MIT C átjáró kódot futtatják, amely nem küld "idő túllépte" üzeneteket.

A fenti példában szereplő 12 csendes átjáró a 4. 23 BSD hálózati kód és annak származékai hibájának eredménye lehet: A 4.3 kódot futtató gépek és a korábban egy elérhetetlen üzeneteket küldünk, ha bármilyen TTL marad az eredeti datagramban. Mivel az átjárók esetében a fennmaradó TTL nulla, az ICMP "idő túllépése" garantáltan nem teszi vissza a számunkra. 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!

Vegye figyelembe, hogy 12 "átjáró" van (13 a végső cél), és az utolsó fél hiányzik. Ami tényleg történik, az a szerver neve Nyugodj békében (a Sun-3 futó Sun OS 3.5) az ICMP válaszában a TTL-t a beérkező datagramról használja. Tehát a válasz időtúllépni fog a visszatérési útvonalon (anélkül, hogy bárki elküldte volna, miután az ICMP-t nem küldték az ICMP-k számára), amíg egy olyan TTL-vel nem próbálkozunk, amely legalább kétszer annyi hosszú, más szóval a rip valóban csak hét ugrott el.

A válasz, amely 1 TTL-értékkel tér vissza, arra utal, hogy ez a probléma létezik. A Traceroute kinyomtatja a "!" ha a TTL kisebb vagy egyenlő 1. Mivel a gyártó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 gondoskodnak a a próbatervek célgazdája.

Egyéb lehetséges feljegyzések az idő leteltével! 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 (közigazgatásilag tiltott kommunikáció),! V (host elsőbbségi jogsértés),! C (hatályos prefixum), vagy! (ICMP elérhetetlen kód). Ezeket a kódokat az RFC1812 határozza meg, amely hatályon kívül helyezi az RFC1716-at. Ha szinte minden szondat valamilyen elérhetetlen fogadóhoz vezetnek, 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ózatra kényszeríthet, nem célszerű a traceroute használatát normál műveletek vagy automatikus parancsfájlok használatakor.