Traceroute - Linuksa Komando - Unikso Komando

traceroute - presi la itinajn pakojn preni al reto-gastiganto

Sinopsis

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g- pordejo ]

[ -i iface ] [ -m max_ttl] [-pporto]

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

[ -w mallaŭdo ] [ -z paŭzoj ]

gastiganto [ paketo ]

Priskribo

Interreto estas granda kaj kompleksa agregado de reto-aparataro, konektita kune per enirejoj. Sekvi la pakojn de la itinero sekvas (aŭ trovante la miscregan pordegon, kiu forĵetas viajn pakojn) povas esti malfacila. Traceroute utiligas la IP-protokolon 'tempon vivi' kaj provas forigi ICMP TIME_EXCEEDED respondon de ĉiu pordejo laŭ la vojo al iu gastiganto.

La sola deviga parametro estas la destinat-gastiga nomo aŭ IP-nombro . La defaŭlta sondosiera datagrampovo estas 40 bytes , sed tio povas esti pliigita per specifa paka longo (en bajtoj) post la nomo de gastiganto.

Aliaj ebloj estas:

-f

Ŝanĝu la komencan tempon-al-viva uzado en la unua eksa sonda pakaĵo.

-F

Fiksu la biton "ne fragmentu".

-d

Ebligu ŝabloniĝon de interna nivelo.

-g

Indiku malfiksan fontajn vojon (8 maksimuma).

-i

Indiku interretan interfacon por akiri la fonta IP-adreso por elirigantaj sondaj pakoj. Ĉi tio estas kutime nur utila en mult-homed-gastiganto. (Vidu la -s flagon por alia maniero por fari ĉi tion.)

-I

Uzi ICMP ECHO anstataŭ UDP-datagramoj.

-m

Ŝanĝu la maksimuma tempo-al-viva (maksimuma nombro da atopoj) uzataj en elirantaj sondaj pakoj. La defaŭlteco estas 30 kunsidoj (la sama antaŭdifinita por rilatoj TCP).

-n

Printaj direktaj adresoj nombre prefere ol simbole kaj nombre (ili ŝparas nombron de direkto-al-nomo serĉo por ĉiu pordejo trovita sur la vojo).

-p

Ŝanĝu la bazan UDP-nombro-numeron uzita en sondoj (defaŭlta estas 33434). Traceroute esperas, ke nenio aŭskultas la UDP-havenojn bazi al + bazoj - 1 ĉe la destina gastiganto (do ICMP PORT_UNREACHABLE-mesaĝo estos redonita por nuligi la itineron). Se iu aŭskultas ĉe haveno en la defaŭlta gamo, ĉi tiu opcio povas esti uzata por elekti havenon ne uzata.

-r

Preterpasi la normalajn ruliĝajn tabulojn kaj sendu rekte al gastiganto en kuna reto. Se la gastiganto ne estas rekte-alfiksita reto, eraro estas redonita. Ĉi tiu opcio povas esti uzata por loki lokan gastiganton per interfaco, kiu ne trapasas ĝin (ekz. Post kiam la interfaco falis per ruliĝita (8C)).

-s

Uzu la sekvan IP-adreson (kiu kutime estas donita kiel IP-nombro, ne gastiganto) kiel la fonta adreso en ekskursaj pakaĵaj pakoj. En mult-homed-gastigantoj (tiuj kun pli ol unu IP-adreso), ĉi tiu opcio povas esti uzata por devigi la fonto-adreson esti io alia ol la IP-adreso de la interfaco, kiun oni sendas la paketon. Se la IP-adreso ne estas unu el la interretaj adresoj de ĉi tiu maŝino, eraro estas redonita kaj nenio estas sendita. (Vidu la -i flago por alia maniero fari tion.)

-t

Ŝanĝu la tipo-de-servo en sondaj pakoj al la sekva valoro (defaŭlta nulo). La valoro devas esti decimala entjero en la intervalo 0 ĝis 255. Ĉi tiu opcio povas esti uzata por vidi ĉu malsamaj tipoj de servo rezultas en malsamaj vojoj. (Se vi ne funkcias 4.4bsd, tio povas esti akademia pro tio ke la normalaj retaj servoj kiel telnet kaj ftp ne lasas vin kontroli la TOS). Ne ĉiuj valoroj de TOS estas juraj aŭ signifaj - vidu la IP-specon por difinoj. Utilaj valoroj verŝajne estas ' -t 16 ' (malalta malfruo) kaj ` -t 8 '(alta traktado).

-v

Verbazo-eligo. Ricevitaj ICMP-pakoj krom TIME_EXCEEDED kaj UNREACHABLEs estas listigitaj.

-w

Fiksu la tempon (en sekundoj) atendi respondon al sondo (defaŭlta 5 sek).

-x

Ŝaltu ip-kontrolojn. Kutime, tio malhelpas traceroute kalkuli ip-kontrolojn. En iuj kazoj, la mastruma sistemo povas anstataŭigi partojn de la ekspluata pako sed ne rekalkulu la ĉekumon (do en iuj kazoj la defaŭlta ne kalkuli ĉekumojn kaj uzante -x kaŭzas ilin esti kalkulataj). Notu, ke checksumoj kutime bezonas por la lasta salto kiam uzantaj ICMP ECHO-sondoj ( -I ). Do ili ĉiam kalkulas kiam uzanta ICMP.

-z

Fiksu la tempon (en milisekundoj) por paŭzi inter sondoj (defaŭlta 0). Iuj sistemoj kiel ekzemple Solaris kaj routers kiel Ciscos-kurzo limigas mesaĝojn. Bona valoro por uzi kun ĉi tio estas 500 (ekz. 1/2 dua).

Ĉi tiu programo provas trakti la itineron IP-pakon sekvus al interreta gastiganto per lanĉado de UDP-sondaj pakoj kun malgranda ttl (tempo por vivi), tiam aŭskultante por "ICMP" pli ol "respondo de pordejo". Ni komencas niajn sondojn kun unu kaj pliigo de unu ĝis ni ricevas "neŝanĝeblan havenon de ICMP" (tio signifas, ke ni ricevas "gastiganton") aŭ frapas maksimumon (kiu difinas al 30 atlektoj kaj povas esti ŝanĝita per -m flago). Tri sondoj (ŝanĝi kun -q- flago) estas senditaj ĉe ĉiu ttl-opcio kaj linio presita montras la ttl, adreson de la enirejo kaj ronda vojaĝo de tempo de ĉiu sondado. Se la sondaj respondoj venas de malsamaj enirejoj, la adreso de ĉiu responda sistemo estos presita. Se ne ekzistas respondo ene de 5 sek. intervalo de intertempo (ŝanĝita per la -w flago), "*" estas presita por tiu sondado.

Ni ne volas, ke la destinatestro gastigas la UDP-sondajn pakojn, tiel ke la cellokonto estas neevitebla valoro (se iu klako sur la celloko uzas tiun valoron, ĝi povas esti ŝanĝita per la -p- flago).

Specimeno de uzado kaj eligo eblas:

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

Notu, ke la linioj 2 kaj 3 estas la samaj. Ĉi tio estas pro kalibra kerno en la 2-a sistemo - lbl-csam.arpa - kiu antaŭen pakojn kun nulo ttl (cimo en la distribuita versio de 4.3BSD). Rimarku, ke vi devas diveni, kien vojon la pakoj prenas kruc-landon, ĉar la NSFNet (129.140) ne provizas adresojn al nomoj por siaj NSSoj.

Pli interesa ekzemplo estas:

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

Rimarku, ke la enirejoj 12, 14, 15, 16 & 17 malplenaj aŭ ne sendas mesaĝojn de ICMP "superitaj" aŭ sendu ilin kun ttl tro malgranda por atingi nin. 14 - 17 kurantas la MIT C-Enirejon-kodon, kiu ne sendas "tempon superita". Dio nur scias, kio okazas kun 12.

La silenta pordego 12 en la supre povas esti rezultita de eraro en la kodo de reto BSD [4] (kaj ĝiaj derivaĵoj): 4.x (x <= 3) sendas neŝanĝeblan mesaĝon uzante ajnan ttl restantan en la originala datagramo. Pro tio ke, por enirejoj, la cetera ttl estas nula, la ICMP "tempo superita" garantias ne reteni ĝin al ni. La konduto de ĉi tiu cimo estas iomete pli interesa kiam ĝi aperas sur la cita sistemo:

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 m 19 m 39 ms 3 lilac-dmc.Berkeley.EDU (128.32.216.1 ) 19 m 39 m 19 m 4 ccngw-ner-cc.Berkeley.EDU (128.32.136.23) 39 m 40 m 19 m 5 ccn-nerif35.Berkeley.EDU (128.32.168.35) 39 m 39 m 39 m 6 csgw. Berkeley.EDU (128.32.133.254) 39 m 59 m 39 m 7 * * * 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 rip.Berkeley.EDU (128.32.131.22) 59 m! 39 m! 39 m!

Rimarku, ke ekzistas 12 "enirejoj" (13 estas la fina celloko) kaj ĝuste la lasta duono de ili estas "mankas". Kio vere okazas, tiu ripeto (Sun-3 kuranta Suno OS3.5) uzas la ttl de nia alvenanta datagramo kiel la ttl en sia respondo de ICMP. Do la respondo ekfunkciigos la rondveturon (sen sendo sendita al iu ajn, pro tio ke ICMP's ne estas senditaj por ICMP) ĝis ni provos ttl, kiu estas almenaŭ dufoje de la vojo. Efektive, rip estas vere nur 7 altaj foroj. Respondo, kiu revenas kun ttl de 1, estas klako, ke ĉi tiu problemo ekzistas. Traceroute presas "!" post la tempo, se la ttl estas <= 1. Pro tio ke vendistoj ŝprucas multajn malaktualajn programojn (DEC's Ultrix, Sun 3.x) aŭ ne-norma (HPUX) programaro, atendas vidi ĉi tiun problemon ofte kaj / aŭ prizorgi elekti la celon gastiganto de viaj sondoj.

Aliaj eblaj komentarioj post la tempo estas ! H ,! N , aŭ ! P (gastiganto, reto aŭ protokolo neŝanĝebla),! S (fonto de la vojo malsukcesis),! F- (fragmentiĝo bezonata - la RFC1191 Path MTU Discovery value estas montrata), ! X (komunikado administre malpermesita) ,! V (gastiganta antaŭa seksperfortado) ,! C (prioritata korto en efiko), Aŭ ! (ICMP neŝanĝebla kodo). Ĉi tiuj estas difinitaj de RFC1812 (kiu anstataŭas RFC1716). Se preskaŭ ĉiuj sondoj rezultas iun specon de neŝanĝebla, traceroute rezignos kaj eliros.

Ĉi tiu programo estas destinita por uzo en retaj provoj, mezurado kaj administrado. Ĝi devus esti uzata ĉefe por manlibro-izolado. Pro la ŝarĝo, kiun ĝi povus postuli sur la reto, estas neprude uzi traceroute dum normalaj operacioj aŭ aŭtomatigitaj skriptoj.

Vidu ankaŭ

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