Traceroute - Linux Komutu - Unix Komutu

traceroute - rota paketlerinin ağ ana bilgisayarına yazdırılması

özet

traceroute [ -dFInrvx ] [ -f ilk_ttl ] [ -g ağ geçidi ]

[ -i iface ] [ -m max_ttl] [ -p bağlantı noktası ]

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

[ -w waittime ] [ -z pausemsecs ]

ev sahibi [ paket ]

Açıklama

İnternet, ağ geçitleri ile birbirine bağlı, büyük ve karmaşık bir ağ donanımı topluluğudur. Paketin izlediği rotayı takip etmek (veya paketlerinizi atacak yanlış geçiş ağ geçidini bulmak) zor olabilir. Traceroute , IP protokolü 'yaşama zamanı' alanını kullanır ve yol boyunca bazı ağ geçidine giden her ağ geçidinden bir ICMP TIME_EXCEEDED yanıtı sağlamaya çalışır.

Tek zorunlu parametre, hedef ana bilgisayar adı veya IP numarasıdır . Varsayılan prob veriyolu uzunluğu 40 bayttır , ancak bu, hedef ana bilgisayar adından sonra bir paket uzunluğu (bayt cinsinden) belirtilerek artırılabilir.

Diğer seçenekler:

-f

İlk giden prob paketinde kullanılan ilk canlı zamanı ayarlayın.

-F

"Parçalama" parçasını ayarlayın.

-d

Yuva düzeyinde hata ayıklamayı etkinleştir.

-g

Gevşek bir kaynak yol geçidi belirtin (maksimum 8).

-ben

Giden prob paketleri için kaynak IP adresini elde etmek için bir ağ arabirimi belirtin. Bu normalde çok bağlantılı bir ana bilgisayarda yararlıdır. (Bunu yapmak için başka bir yol için -s bayrağına bakın.)

-BEN

UDP datagramları yerine ICMP ECHO kullanın.

-m

Giden prob paketlerinde kullanılan maksimum bekleme süresi (maks. Atlama sayısı) ayarlanır. Varsayılan 30 atlamadır (TCP bağlantıları için aynı varsayılan değer kullanılır).

-n

Atlama adresleri, sembolik ve sayısal olarak değil, sayısal olarak yazdırılır (yol üzerinde bulunan her bir ağ geçidi için ad sunucusunun adrese bir adresten tasarruf sağlar).

-p

Sonda kullanılan taban UDP port numarasını ayarlayın (varsayılan 33434'tür). Traceroute, UDP bağlantı noktalarının, hedef ana makinede + nhops - 1 tabanına hiçbir şey dinlemediğini umuyor (bu nedenle, rota izlemeyi sonlandırmak için ICMP PORT_UNREACHABLE iletisi döndürülecektir). Varsayılan aralıkta bir bağlantı noktasında bir şey dinliyorsa, bu seçenek kullanılmayan bir bağlantı noktası aralığını seçmek için kullanılabilir.

-r

Normal yönlendirme tablolarını atlayın ve bağlı bir ağdaki bir ana bilgisayara doğrudan gönderin. Ana bilgisayar doğrudan bağlı bir ağda değilse, bir hata döndürülür. Bu seçenek, yerel bir ana bilgisayar üzerinden herhangi bir yolu olmayan bir arabirim üzerinden ping işlemi yapmak için kullanılabilir (örneğin, arabirim yönlendirilmiş (8C) ile bırakıldıktan sonra).

-s

Giden prob paketlerindeki kaynak adres olarak aşağıdaki IP adresini (genellikle bir ana bilgisayar adı değil, bir IP numarası olarak verilir) kullanın. Çoklu bağlantılı ana bilgisayarlarda (birden fazla IP adresi olan), bu seçenek, kaynak adresinin, prop paketinin gönderildiği arabirimin IP adresi dışında bir şey olmasını zorlamak için kullanılabilir. IP adresi bu makinenin arayüz adreslerinden biri değilse, bir hata döndürülür ve hiçbir şey gönderilmez. (Bunu yapmanın başka bir yolu için -i bayrağına bakın.)

-t

Prob tipi paketlerde hizmet türünü aşağıdaki değere ayarlayın (varsayılan sıfır). Değer, 0 ile 255 arasında bir ondalık tamsayı olmalıdır. Bu seçenek, farklı yollarda farklı hizmet tipi sonuçlarının olup olmadığını görmek için kullanılabilir. (Eğer 4.4bsd çalıştırmıyorsanız, bu telnet ve ftp gibi normal şebeke servisleri TOS'u kontrol etmenize izin vermediğinden akademik olabilir). Tüm TOS değerleri yasal veya anlamlı değildir - tanımların IP özelliklerine bakınız. Faydalı değerler, muhtemelen ' -t 16 ' (düşük gecikme) ve ` -t 8 '(yüksek verim) değerleridir.

-v

Ayrıntılı çıkış. TIME_EXCEEDED ve UNREACHABLEs dışındaki ICMP paketleri alındı.

-w

Probun yanıtını beklemek için süreyi (saniye cinsinden) ayarlayın (varsayılan 5 sn.).

-x

Ip checksum'u değiştir. Normalde, bu, traceroute'un ip sağlama toplamlarını hesaplamasını engeller. Bazı durumlarda, işletim sistemi giden paketin bölümlerinin üzerine yazabilir, ancak sağlama toplamını yeniden hesaplayamaz (bazı durumlarda varsayılan, sağlama toplamlarını hesaplamamaktadır ve -x kullanımı , bunların kalsual olmasına neden olur). ICMP ECHO probları ( -I ) kullanıldığında sağlama toplamları genellikle son sıçrama için gereklidir. Bu yüzden ICMP kullanırken her zaman hesaplanır.

-z

Problar arasında duraklatmak için süreyi (milisaniye cinsinden) ayarlayın (varsayılan 0). Solaris ve Ciscos hız limiti icmp mesajları gibi yönlendiriciler gibi bazı sistemler. Bununla kullanılabilecek iyi bir değer 500'dür (örneğin 1/2 saniye).

Bu program, bir IP paketinin UDP probe paketlerini küçük bir ttl (canlı yayın süresi) ile başlatarak bir ağ sunucusunun izleyeceği rotayı izlemeye ve daha sonra bir ağ geçidinden gelen bir ICMP "zaman aşımı" cevabını dinlemeye çalışır. Sonda bir ttl ile başlayıp, bir ICMP "bağlantı noktasına ulaşılamaz" (yani "ana bilgisayar" a sahip olmak) ya da bir maks tuşuna basana kadar bir artışla başlıyoruz (ki bu da varsayılan olarak 30 atlamaya ve -m ile değiştirilebiliyor) bayrak). Her bir ttl ayarında üç prob ( -q bayrağıyla değiştir) gönderilir ve ttl, ağ geçidinin adresi ve her bir probun gidiş dönüş zamanını gösteren bir satır yazdırılır. Prob cevapları farklı ağ geçitlerinden geliyorsa, yanıt veren her sistemin adresi yazdırılacaktır. 5 saniye içinde bir cevap yoksa. zaman aşımı aralığı ( -w bayrağı ile değiştirildi), bu prob için bir "*" yazdırılır.

Hedef ana bilgisayarın UDP prob paketlerini işlemesini istemiyoruz, bu nedenle hedef bağlantı noktası beklenmedik bir değere ayarlanmış (eğer hedefte bulunan bazı bileşenler bu değeri kullanıyorsa, -p bayrağı ile değiştirilebilir).

Bir örnek kullanım ve çıktı aşağıdaki gibi olabilir:

[yak 71]% traceroute nis.nsf.net. nis.nsf.net'e traceroute (35.1.1.48), 30 sekme maks, 38 bayt paket 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 0 ms2 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 0,48) 239 ms 239 ms 239 ms

2 ve 3 numaralı satırların aynı olduğunu unutmayın. Bunun sebebi, 2. hop sistemindeki (lbl-csam.arpa) - sıfır ttl (4.3BSD'nin dağıtılmış sürümünde bir hata) içeren paketleri ilerleten buggy çekirdeğidir. NSFNet'in (129.140) NSS'leri için adres-isim çevirileri sağlamadığından, paketlerin hangi ülkeden geçtiğini tahmin etmeniz gerektiğini unutmayın.

Daha ilginç bir örnek:

[yak 72]% traceroute allspice.lcs.mit.edu. allspice.lcs.mit.edu için traceroute (18.26.0.115), 30 atlama en fazla 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

12, 14, 15, 16 ve 17 nolu ağ geçitlerinin, ICMP "zaman aşımına uğramış" mesajlarını göndermemesine ya da bize ulaşmak için çok küçük bir ttl göndermemesine dikkat edin. 14 - 17, "zaman aşıldı" mesajını göndermeyen MIT C Ağ Geçidi kodunu çalıştırıyor. Tanrı sadece 12 ile ne olduğunu biliyor.

Yukarıdaki sessiz ağ geçidi (12), 4. [23] BSD ağ kodundaki (ve türevleri) bir hatanın sonucu olabilir: 4.x (x <= 3), orijinalde kalan ttl'leri kullanarak erişilemeyen bir ileti gönderir. veri birimi. Ağ geçitleri için, kalan ttl sıfır olduğundan, ICMP "zaman aşıldı", bize geri yapmamak için garanti edilir. Bu hatanın davranışı, hedef sistemde göründüğünde biraz daha ilginçtir:

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 ms3 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 ms! 39 ms!

12 "geçit yolunun" (13 nihai hedef) olduğuna dikkat edin ve tam olarak son yarısı "kayıp" dır. Gerçekten olan şey, rip'in (Sun-3 çalışan bir Sun OS3.5), gelen datagramımızdan gelen ttl'i ICMP yanıtında ttl olarak kullanmasıdır. Bu nedenle, yanıt yolunda en az iki katı olan bir ttl ile problanana kadar, dönüş yolunda (ICMP'ler ICMP'ler için gönderilmediğinden beri herhangi bir bildirimde bulunulmadan) zaman aşımına uğrayacaktır. Yani, Rip gerçekten sadece 7 atlama uzakta. 1 ttl ile dönen bir yanıt, bu sorunun varlığından ipucu. Traceroute bir "!" Yazdırır ttl'in <= 1 olması durumunda, satıcılar çok fazla eski (DEC Ultrix, Sun 3.x) veya standart olmayan (HPUX) yazılımlar ürettikleri için, bu sorunu sık sık görmeyi ve / veya hedefi seçmeyi beklerler. senin probların ev sahibi.

Süre sonra diğer olası ek açıklamalar ! H ,! N veya ! P (ana bilgisayar, ağ veya protokol ulaşılamaz) ,! S (kaynak yolu başarısız) ,! F- (parçalanma gerekli - RFC1191 Yolu MTU Bulma değeri görüntülenir), ! X (yönetimsel olarak yasaklanmış iletişim) ,! V (ev sahibi önceliği ihlali) ,! C (etkide önceliği kesme) veya ! (ICMP erişilemez kod). Bunlar RFC1812 (RFC1716'nın yerini alır) tarafından tanımlanır. Neredeyse tüm problar bir çeşit ulaşılamazsa, traceroute vazgeçecek ve çıkacaktır.

Bu program ağ testi, ölçüm ve yönetimde kullanılmak üzere tasarlanmıştır. Manuel hata izolasyonu için öncelikle kullanılmalıdır. Ağa yükleyebileceği yükten dolayı, normal işlemler sırasında veya otomatik komut dosyalarından traceroute kullanmak zordur .

Ayrıca bakınız

patika (8), netstat (1), ping (8)