Traceroute - Linux Command - Unix Command

traceroute - marşrut paketlərini şəbəkə hostuna yazdırın

Sinopsis

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

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

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

[ -w waittime ] [ -z pausemsecs ]

host [ packetlen ]

Təsvir

İnternet şəffaflıqlarla birləşdirilmiş şəbəkə avadanlıqlarının böyük və mürəkkəb birləşməsidir. Marşrutun birinin paketlərini izləmək (ya da paketlərinizi atmaqla yanlış gateway tapmaq) çətin ola bilər. Traceroute , IP protokolu 'yaşamaq üçün vaxt' alanını istifadə edir və hər bir ağacın ICIMP TIME_EXCEEDED cavabını bir sıra ev sahibinə yol boyunca uzatmağa çalışır.

Yalnız məcburi parametr təyinatlı ana və ya IP nömrəsidır . Standart problu datagram uzunluğu 40 baytdır , lakin bu, hədəf ana adı sonra paket uzunluğunun (baytlarda) göstərilməsi ilə artırıla bilər.

Digər variantlar bunlardır:

-f

İlk gedən proqnoz paketində istifadə üçün ilk vaxtını təyin et.

-F

"Bitməyin" bitini seçin.

-d

Soket səviyyəsində ayıklama imkanını aktiv edin.

-g

Güzəştli bir qayda marşrutu gateway (maksimum 8) göstərin.

-i

Gedən sondalama paketləri üçün mənbə IP ünvanını əldə etmək üçün bir şəbəkə interfeysi göstərin. Bu, normalda yalnız çox evli bir hostda faydalıdır. (Bunu etmək üçün başqa bir şəkildə bayraq bayrağına baxın.)

UDP datagramları yerinə ICMP ECHO istifadə edin.

-m

Gedən sonrakı paketlərdə istifadə olunan maksimum vaxtdan (maksimum sürət qutusu) seçin. Varsayılan 30 atışdır (TCP bağlantıları üçün istifadə edilən eyni default).

-n

Hop ünvanlarını simvolik və sayısal olaraq çox sayda yerinə yetirir (yolda tapılan hər bir ağ geçidi üçün bir nomerver ünvanı-adını saxlayır).

-p

Problarda istifadə edilən əsas UDP port nömrəsini təyin et (default 33434). Traceroute ümid edir ki, heç bir şey UDP liman bazasını əsas təyinat üçün + nhops - 1 dinləyəcəkdir (beləliklə, bir ICMP PORT_UNREACHABLE mesaj marşrutun izlənməsini ləğv etmək üçün geri qaytarılacaq). Bir şey default üçündür bir port dinləmək, bu seçim istifadə edilməmiş port üçündür seçmək üçün istifadə edilə bilər.

-r

Normal marşrutlaşdırma masalarından atla və birbaşa bağlı bir şəbəkədə birbaşa göndərin. Ev sahibi birbaşa bağlı şəbəkədə deyilsə, səhv qaytarılır. Bu seçim yerli bir hostu vasitəsi ilə heç bir marşruta malik olmayan interfeys (məsələn, interfeys yönləndirilmiş (8C) tərəfindən düşdükdən sonra) ping üçün istifadə edilə bilər.

-s

Gedən sonrakı paketlərdə mənbə ünvanı kimi aşağıdakı IP ünvanını (adətən bir IP nömrəsi kimi deyil, bir hostname adı verilir) istifadə edin. Çox evli hostlarda (birdən artıq IP ünvanı olanlar) bu seçim mənbə ünvanını prob paketinin göndərildiyi interfeysin IP ünvanından başqa bir şey ola bilməsi üçün istifadə edilə bilər. IP ünvanı bu maşının interfeys ünvanlarından biri deyilsə, bir səhv qaytarılır və heç bir şey göndərilmir. (Bunu etmək üçün başqa bir yol üçün -i bayrağına baxın.)

-t

Sonda paketlərdə tip-of-service müəyyən edin (default sıfır). Qiymət 0 ilə 255 aralığında bir tam ədədi olmalıdır. Bu seçim fərqli yollarda xidmət növünün müxtəlif növlərinin olub olmadığını görmək üçün istifadə edilə bilər. (4.4-ə qədər çalışmıyorsanız, bu, akademik ola bilər, çünki telnet və ftp kimi normal şəbəkə xidmətləri TOS-nu idarə etməyə imkan vermir). TOS-nun bütün dəyərləri hüquqi deyil və ya mənalıdır - müəyyənləşdirilmiş IP-lər üçün baxın. Faydalı dəyərlər, ehtimal ki, ' -16 ' (aşağı gecikmə) və ' -8 ' (yüksək çıxış) olur.

-v

Verbose çıxış. TIME_EXCEEDED və UNREACHABLE'lərdən başqa ICMP paketləri qəbul edilir.

-w

Bir proba cavab verməyi (saniyədə) təyin et (vaxt 5 saniyə).

-x

İp checksumları keçid. Normal olaraq, bu traceroute ip checksum hesablanması qarşısını alır. Bəzi hallarda əməliyyat sistemi gedən paketin bir hissəsini əvəz edə bilər, lakin checksumu yenidən hesablaya bilməz (belə ki, bəzi hallarda u mənim cədvəllərin hesablanmaması və -x-lərin onlara calcualted edilməsinə səbəb olur). Qeyd edək ki, ICMP ECHO probları ( -I ) istifadə edərkən adətən checksums son hop üçün tələb olunur. Beləliklə ICMP istifadə edilərkən həmişə hesablanır.

-z

Probları (default 0) arasında dayandırmaq üçün vaxt (milisaniyədə) təyin edin. Solaris və Ciscos dərəcəsi kimi marşrutlaşdırıcılar kimi bəzi sistemləri icmp mesajlarını məhdudlaşdırır. Bununla yaxşı bir dəyər istifadə etmək 500 (məsələn 1/2 saniyə).

Bu proqram bir IP paketinin bir UDP prob paketlərini kiçik bir ttl (canlı yaşamaq) ilə başlamasından sonra bir ICPP-nin "vaxt keçdikdə" bir gateway cavabını dinləməsi ilə izləyəcək marşrutu izləmək üçün çalışır. Biz probları bir ttl ilə başlamışıq və bir ICMP "porta çatılmayan" (yəni biz "host" a gəldiyimizə qədər) və ya maksimum (30 atışa qədər ata və -m bayraq). Hər bir ttl parametresinde üç sondalama (qq-bayraq ilə dəyişiklik) göndərilir və ttl, gateway ünvanı və hər bir probun gəzmə müddətini göstərən bir xətt çap olunur. Sonda cavablar müxtəlif şəffaflıqlardan gəlirsə, cavab verən hər bir sistemin ünvanı yazılacaq. 5 saniyə ərzində heç bir cavab yoxdur. zaman aşımı intervalı ( -w bayrağı ilə dəyişdirilmişdir), o prob üçün "*" yazılır .

Hedef ana bilgisayardaki UDP prob paketlərini təyin etməsini istəmirik, beləliklə təyinat limanı ehtimal olunan bir dəyərə (təyinatdakı bir neçə kvadrat bu dəyərdən istifadə edirsə, bu, -p bayrağı ilə dəyişdirilə bilər).

Bir nümunə istifadə və çıxış ola bilər:

[yak 71]% traceroute nis.nsf.net. traceroute dən nis.nsf.net (35.1.1.48), 30 ədəd hops max, 38 bayt paket 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

2 və 3-cü xəttlər eynidır. Bu, 2-hop sistemindəki bir arabalı çekirdekle bağlıdır - lbl-csam.arpa - bu, sıfır ttl (4.3BSD-nin paylanmış versiyasında bir səhv) olan paketləri göndərir. NSFNet (129.140) NSS-lər üçün addan-tərcüməə tərcümələr təmin etmədikdən sonra paketlərin hansı ölkələrdən keçdiyini təxmin etdiyinizi unutmayın.

Daha maraqlı bir nümunə:

[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 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

Qeyd edək ki, 12, 14, 15, 16 və 17 nömrəli qovşaqları ya ICMP "vaxtını aşdı" mesajlarını göndərməyin və ya bizə çatmaq üçün çox kiçik bir ttl ilə göndərməyin. 14 - 17 "MİT C Gateway kodu" işlədilir ki, bu da "vaxt keçməmiş" deyil. Allah yalnız 12 ilə nə olduğunu bilir.

Yuxarıda göstərilən sükan geçidi 12-də bir səhv nəticəsində ola bilər. [23] BSD şifrəsi kodu (və onun törəmələri): 4.x (x <= 3) orijinaldə hər hansı bir ttl qalığını istifadə edərək, çatılmayan bir mesaj göndərir. datagram. Şəbəkələr üçün, qalan ttl sıfırdır, ICMP-nin "vaxt keçdiyi" bizi geri verməyimiz üçün təmin edilir. Hedef sistemdə göründüyü zaman bu səhvin davranışı bir az daha maraqlıdır:

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 rib.Berkeley.EDU (128.32.131.22) 59 Xanım ! 39 ms! 39 ms!

Qeyd edək ki, 12 "şlüz" var (13 son nöqtədir) və onların son yarısı "itkin". Həqiqətən baş verir ki, rip (bir Sun-3 çalışan Sun OS3.5) ttl'yi ICMP cavabında ttl kimi gələn datagramımızdan istifadə edir. Beləliklə, cavab yolu, ən azı iki dəfə yol uzunluğuna malik olan bir ttl ilə yoxlanana qədər, qaytarma yolunda (ICMP-nin ICMP-ə göndərilməmişdən sonra heç kimə bildirilməməsi ilə) vaxtından çıxacaqdır. Yəni, rip, həqiqətən, yalnız 7 xırdalamaqdır. Bir ttl ilə qaytarılan cavab bu problemin bir ipucu. Traceroute bir "!" ttl <= 1 olduqdan sonra, satıcılar bir çox köhnəlmiş (DEC nin Ultrix, Sun 3.x) və ya standart olmayan (HPUX) proqram təminatı olduğundan, bu problemi tez-tez görmək və / sondalarınızın ev sahibi.

H ,! N , və ya ! P (host, şəbəkə və ya protokol çatılmayan) ,! S (qaynaq marşrutu uğursuz) ,! F- (parçalanma tələb olunur - RFC1191 Yol MTU Kəşf dəyəri göstərilir); ! X (rabitə administrasiyası qadağan olunmuş) ,! V (host prioritet pozulması) ,! C (əvvəlcədən qüvvəyə minmə) və ya ! (ICMP çatışmayan kod). Bunlar RFC1812 tərəfindən müəyyən edilir (RFC1716 əvəz edir). Əgər demək olar ki, bütün sondalar birbaşa əldə olunmazsa, traceroute imtina və çıxış edəcək.

Bu proqram şəbəkə test, ölçü və idarəetmədə istifadə üçün nəzərdə tutulmuşdur. İlk növbədə əl qüsurunun izolyasiyası üçün istifadə olunmalıdır. Yükün səbəbi ağda tətbiq oluna bilər, normal əməliyyatlar və ya avtomatlaşdırılmış skriptlər zamanı traceroute istifadə etmək ağıllı deyil.

Həmçinin bax

patchchar (8), netstat (1), ping (8)