Traceroute - Linux Command - Unix հրաման

traceroute- տպել երթուղային փաթեթները վերցնում ցանցի հյուրընկալողը

Սինոփսիս

traceroute [ -dFInrvx ] [ -f first_ttl ] [ -g դարպաս ]

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

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

[ -w waittime ] [ -s pausemsecs ]

հյուրընկալող [ փաթեթավորված ]

Նկարագրություն

Համացանցը խոշոր եւ համալիր ցանցային սարքավորում է, որը միացված է միացումների միջոցով: Հետեւում է երթուղու մեկի փաթեթները (կամ գտնել ձեր սխալները, որոնք զրկում են ձեր փաթեթներից) կարող է դժվար լինել: Traceroute- ն օգտագործում է IP- ի արձանագրություն `« ապրել ժամանակի դաշտը »եւ փորձեր կատարել ICMP- ի TIME_EXCEEDED արձանագրությունն առանձին հյուրընկալող ճանապարհի միջանցքում յուրաքանչյուր դարպասից:

Միակ պարտադիր պարամետրը նպատակային հյուրընկալող անունը կամ IP- ն է : Սխալ չափորոշիչի datagram- ի երկարությունը 40 բայթ է , սակայն դա կարող է ավելացվել, նշելով փաթեթի երկարությունը (բայթերում) նպատակային հյուրընկալող անունից հետո:

Այլ ընտրանքներ են `

Նախադրեք նախնական ժամանակի ապրելը, որն օգտագործվում է առաջին ելքի հետաքննության փաթեթում:

Սահմանեք «մի հատված» բիտ:

Միացնել վարդակի մակարդակի կարգաբերումը:

Նշեք չմուտքած աղբյուրի երթուղու դարպասը (8 առավելագույնը):

-i

Նշեք ցանցային ինտերֆեյս, ելքային զոնդերի փաթեթների աղբյուր IP հասցեն ստանալու համար: Սա սովորաբար միայն օգտակար է բազմաբնակարան շենքում: (Տես `դրոշը, այլ կերպ վարվելու համար):

- Ի

Օգտագործեք ICMP ECHO- ի UDP դատագաների փոխարեն:

Սահմանեք հեռահաղորդակցման հետախույզ փաթեթներում օգտագործվող առավելագույն ժամանակահատվածը (առավելագույնը `hops): Սխալը 30 շիշ է (նույնը, որն օգտագործվում է TCP կապի համար):

Տպել հոփ հասցեները թվային առումով ոչ թե խորհրդանշական, այնպես էլ թվային են (փրկում է nameserver- ի հասցեի անունը որոնումը ճանապարհին հայտնաբերված յուրաքանչյուր դարպասի համար):

Սահմանել բազայի մեջ օգտագործվող բազային UDP պորտի համարը (կանխադրված է 33434): Traceroute հույս ունի, որ ոչինչ չի լսվում UDP պորտի բազայի հիմքի վրա + nhops - 1 հասցեով (այսպիսով ICMP PORT_UNREACHABLE հաղորդագրությունը կվերադարձվի երթուղու հսկողությունը դադարեցնելու համար): Եթե ​​ինչ-որ բան լսում է լարման տիրույթում նավահանգստի վրա, այս տարբերակը կարող է օգտագործվել օգտագործված չօգտագործված նավահանգիստների տիրույթը ընտրելու համար:

Տեղափոխել նորմալ երթուղային աղյուսակները եւ ուղարկում ուղարկում անմիջապես կցված ցանցում հյուրընկալող: Եթե ​​հյուրընկալողը անմիջապես կցված ցանցում չէ, սխալ է վերադարձվում: Այս տարբերակը կարող է օգտագործվել տեղական հոսթինգի միջոցով `ինտերֆեյսի միջոցով, որը չունի երթուղով (օրինակ, ինտերֆեյսը իջեցվել է ուղղորդված (8C)):

Օգտագործեք հետեւյալ IP հասցեը (որը սովորաբար տրվում է որպես IP- ի համար, այլ ոչ թե hostname), ելքային զոնդային փաթեթներում աղբյուրի հասցեն: Բազմաբնակարան տանտերերի վրա (մեկից ավելի IP հասցեով), այս տարբերակը կարող է օգտագործվել, որպեսզի աղբյուրի հասցեն ստիպված լինի ինտերֆեյսի IP հասցեից, որը ուղարկվում է հետախուզական փաթեթ: Եթե ​​IP հասցեն այս մեքենայի ինտերֆեյսի հասցեներից չէ, սխալ է վերադարձվում, եւ ոչինչ չի ուղարկվում: (Տես ` -i դրոշը դա անել այլ կերպ:)

Ստեղծեք տեսակի-ծառայությունը հետաքննության փաթեթներում հետեւյալ արժեքով (նախնական զրոյ): Արժեքը պետք է լինի 0-ից մինչեւ 255-ի միջեւ տասնորդական թվեր: Այս տարբերակը կարող է օգտագործվել, թե արդյոք տարբեր տիպերի ծառայության արդյունքը տարբեր ուղիներում: (Եթե դուք չաշխատեք 4.4), դա կարող է լինել ակադեմիական, քանի որ ցանցի նորմալ ցանցային ծառայությունները, ինչպիսիք են telnet- ը եւ FTP- ը թույլ չեն տալիս վերահսկել TOS- ը): TOS- ի ոչ բոլոր արժեքները իրավական կամ իմաստալից են `տես IP սահմանում սահմանումների համար: Օգտակար արժեքներ, հավանաբար, « -16 » (ցածր ուշացում) եւ « -8 » (բարձր թողունակություն):

Ընդլայնված արտադրանք: Ստացված ICMP փաթեթները, այլ TIME_EXCEEDED- ից եւ UNREACHABLE- ն են:

Սահմանեք ժամանակն (վայրկյանում), որպեսզի սպասեք պատահական պատասխանին (5 վայրկյան):

Փոխարկել ip checksums: Սովորաբար, դա կանխում է traceroute- ն ip checksum- ների հաշվարկից: Որոշ դեպքերում օպերացիոն համակարգը կարող է վերագրանցել ելքային փաթեթի մասերը, բայց չհաշվարկել չեկի գումարը (այսինքն, որոշ դեպքերում լռելյայն է, չհաշված գումարները չօգտագործել եւ օգտագործել -x- ը առաջացնում է նրանց calcualted): Նշենք, որ checksums- ը սովորաբար պահանջվում է վերջին hop- ի համար, ICMP ECHO զոնդերը ( -I ) օգտագործելով: Այսպիսով, նրանք միշտ էլ հաշվարկվում են ICMP- ի օգտագործման ժամանակ:

Սահմանեք ժամանակը (միլիոնավոր վայրկյանում) հետաձգված զոնդերի միջեւ (կանխադրված 0): Որոշ համակարգեր, ինչպիսիք են Solaris եւ routers, ինչպիսիք են Ciscos դրույքաչափը icmp հաղորդագրությունները: Լավ արժեքը, որն օգտագործելու համար, սա 500 է (օրինակ, 1/2 երկրորդ):

Այս ծրագիրը փորձում է հետեւել երթուղին, որը IP փաթեթը կհետեւի որոշ ինտերնետային հյուրընկալողներին, UDP- ի հետախուզության փաթեթները փոքր ttl- ով (ժամանակի ապրելակերպով) սկսելով, այնուհետեւ լսելով ICMP- ի «գերազանցող ժամանակը» պատասխանը մի դարպասից: Մենք սկսում ենք մեր զոնդերը մեկի ttl- ով եւ ավելացնում մեկի կողմից, մինչեւ մենք ստանում ICMP «նավահանգիստը անհասանելի» (ինչը նշանակում է, որ ստացել ենք «հյուրընկալող») կամ հարվածել max- ի (որը նախնականը 30 կրպակ է եւ կարող է փոխվել -m դրոշ): Յուրաքանչյուր ttl պարամետրում ուղարկվում են երեք զուգահեռ (փոխել -q դրոշը) եւ տողը տպվում է, ցույց տալով ttl- ի, դարպասի հասցեն եւ յուրաքանչյուր զննումի կլոր ժամանակահատվածը: Եթե ​​փորձաքննության պատասխանները գալիս են տարբեր գոտիներից, յուրաքանչյուր արձագանքող համակարգի հասցեն կթողարկվի: Եթե ​​5 վայրկյանում որեւէ պատասխան չկա: ժամանակի ընդմիջման ժամանակ (փոխվել է flag), ապա «*» տպագրվում է այդ զննման համար:

Մենք չենք ուզում, որ նպատակակետը հյուրընկալում է UDP- ի հետախուզական փաթեթների մշակման համար, որպեսզի նպատակակետը սահմանվի անհավանական արժեքի դեպքում (եթե որոշակի կետի վրա որոշակի արժեք է օգտագործվում այդ արժեքը, այն կարող է փոխվել -p դրոշով):

Նմուշի օգտագործումը եւ թողարկումը կարող է լինել.

[yak 71]% traceroute nis.nsf.net: traceroute- ից nis.nsf.net (35.1.1.48), 30 hops max, 38 byte փաթեթ 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 մս 99 սմ 80 սմ 9 129.140.71.6 (129.140.71.6) 139 սմ 239 սմ 319 սմ 10 129.140.81.7 (129.140.81.7) 220 սմ 199 ms 199 ms 11 nic.merit.edu (35.1 .1.48) 239 սմ 239 սմ 239 սմ

Նշենք, որ 2 եւ 3 տողերը նույնն են: Սա պայմանավորված է 2-րդ hop համակարգում խառնուրդի միջուկով - lbl-csam.arpa- ով, որն առաջացնում է զրոյական ttl- ի փաթեթներ (4.3BSD- ի բաշխված տարբերակի սխալ): Նշենք, որ դուք պետք է կռահեք, թե ինչ ուղիներով փաթեթներ են անցնում խաչաձեւ երկիրը, քանի որ NSFNet- ը (129.140) չի տրամադրում հասցեի անունից թարգմանություններ իր NSS- ի համար:

Ավելի հետաքրքիր օրինակ է `

[yak 72]% traceroute allspice.lcs.mit.edu: traceroute to allspice.lcs.mit.edu (18.26.0.115), 30 hops max 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 սմ 79 սմ 99 սմ 9 129.140.71.6 (129.140.71.6) 139 սմ 139 սմ 159 սմ 10 129.140.81.7 (129.140.81.7) 199 մմ 180 սմ 300 մ 11 129.140.72.17 (129.140.72.17) 300 ms 239 սմ 239 սմ 12 * * * 13 128.121.54.72 (128.121.54.72) 259 մ 499 մ 279 սմ 14 * * * 15 * * * 16 * * * 17 * * * 18 ALLSPICE.LCS.MIT.EDU (18.26 .0115) 339 սմ 279 սմ 279 սմ

Նշենք, որ 12, 14, 15, 16 եւ 17 ծածկոցները հեռանում են կամ չեն ուղարկի ICMP- ի «ժամանակը գերազանցող» հաղորդագրությունները, կամ էլ նրանց ուղարկելու համար չափազանց փոքր է ttl- ը: 14-ից 17-ը գործում են MIT C Gateway- ի կոդը, որը «չի գերազանցում ժամանակը»: Աստված միայն գիտի, թե ինչ է տեղի ունենում 12:

Վերոհիշյալ լուռ դարպասը կարող է լինել սխալի հետեւանքով 4. [23] BSD ցանցի կոդը (եւ դրա ածանցյալները). 4.x (x <= 3) ուղարկում է անհասանելի հաղորդագրություն `օգտագործելով ցանկացած թղթապանակի մնացորդը: datagram. Քանի որ դարպասների համար, մնացած ttl- ը զրոյական է, ICMP- ի «ժամանակը գերազանցեց», երաշխավորված է, որ այն չվերադարձնի մեզ: Այս սխալի վարքը փոքր-ինչ ավելի հետաքրքիր է, երբ հայտնվում է նպատակակետ համակարգում:

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 ms! 39 մկ .: 39 մկ .:

Ուշադրություն դարձրեք, որ կան 12 «երթուղիներ» (13 վերջնական վայր), եւ դրանց վերջին կեսը «բացակայում են»: Ինչ է իրականում տեղի ունենում այն ​​է, որ rip (Sun Sun 3 Sun Sun OS3.5) օգտագործում է ttl մեր ժամանող datagram- ից որպես ttl ICMP- ի պատասխանում: Այսպիսով, պատասխանի ժամանակը վերադառնալու ճանապարհին (որեւէ ծանուցում չի ուղարկվել որեւէ մեկին, քանի որ ICMP- ի չեն ուղարկվում ICMP- ի համար) մինչեւ մենք փորձարկում ենք ttl- ի հետ, որը առնվազն երկու անգամ ճանապարհի երկարություն է: Այո, rip, իսկապես, ընդամենը 7 րոպե հեռու է: Պատասխանը, որը վերադառնում է 1-ի ttl- ն, այս խնդիրն է: Traceroute- ը տպագրում է «!»: ժամանակից հետո, եթե ttl- ը <= 1 է, քանի որ մատակարարները շատ հնացած են (DEC- ի Ultrix, Sun 3.x) կամ ոչ ստանդարտ (HPUX) ծրագրային ապահովում, ակնկալում են այս խնդիրը հաճախակի եւ / հյուրընկալող ձեր զոնդերը:

Ժամանակից հետո հնարավոր այլ բացատրություններ են, H ,! N , կամ ! P (հյուրընկալող, ցանց կամ արձանագրություն անհասանելի) ,! S (աղբյուրի ձախողումը) ,! F- (fragmentation needed - RFC1191 Path MTU Discovery արժեքը ցուցադրվում է) ! X (վարչականորեն արգելված հաղորդակցություն) ,! V (հյուրընկալող նախապայմանների խախտում) ,! C (նախապատվության ուժի մեջ մտնելը), կամ ! (ICMP անհասանելի կոդ): Սրանք սահմանվում են RFC1812 (որը փոխարինում է RFC1716): Եթե ​​գրեթե բոլոր նմուշները հանգեցնում են անհասկանալի մի տեսակի, ապա traceroute- ն հրաժարվելու է եւ դուրս կգա:

Այս ծրագիրը նախատեսված է ցանցի փորձարկման, չափման եւ կառավարման համար: Այն պետք է օգտագործվի հիմնականում ձեռքի անսարքության մեկուսացման համար: Բեռի պատճառով այն կարող է պարտադրել ցանցին, անիմաստ է օգտագործել traceroute նորմալ գործողությունների ժամանակ կամ ավտոմատացված սցենարներ:

Տես նաեւ

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