Skip to main content

Linux'ta 'traceroute' Komutu Nasıl Kullanılır

Traceroute Command in Cisco Routers (Mayıs Ayı 2024)

Traceroute Command in Cisco Routers (Mayıs Ayı 2024)
Anonim

Traceroute komutu, bir bilgi paketinin kaynağından hedefine yaptığı yolculuğun haritasını çıkarmak için Linux'ta kullanılır. Traceroute için bir kullanım, bir ağ boyunca veri kaybının ne zaman gerçekleştiğini bulmaktır; bu, aşağıdaki bir düğümü ifade edebilir.

Kayıttaki her atlama, kaynak PC ile hedeflenen hedef arasında yeni bir sunucu veya yönlendirici yansıttığından, bir traceroute taramasının sonuçlarını incelemek, ağ trafiğinizi olumsuz yönde etkileyebilecek yavaş noktaları tanımlamanızı da sağlar.

Nasıl çalışır

Ağ trafiğinin izlediği belirli rotaları değerlendirmek (ya da paketlerinizi iptal eden yanlış geçiş ağ geçidini bulmak), çeşitli sorun giderme zorlukları sunar. Traceroute IP protokolünü kullanır yaşama zamanı Bir hedef ana bilgisayara giden yol boyunca her ağ geçidinden bir ICMP TIME_EXCEEDED yanıtı istemek için alan.

Traceroute komutunu çalıştırdığınızda eklemeniz gereken tek parametre, hedefin ana bilgisayar adı veya IP adresidir.

Traceroute Sözdizimi ve Anahtarları

traceroute -dFInrvx -f first_ttl -g geçit -ben iface -m max_ttl -p Liman -q nqueries -s src_addr -t tos -w bekleme zamanı -z pausemsecs evsahibi packetlen

Komut satırında çalışmak için traceroute komutunun nasıl yazılacağı yukarıda açıklanırken, komutun performansı veya çıktısı bir veya daha fazla isteğe bağlı anahtar belirtilerek değiştirilebilir.

  • -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. (Bkz.-s Bunu yapmanın başka bir yolu için bayrak.)
  • -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ında hiçbir şeyin dinlenmediğini umut ediyor baz için taban + nhops - 1 Hedef ana bilgisayarda (böylece rota izlemeyi sonlandırmak için ICMP PORT_UNREACHABLE bir mesaj gönderilir). 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 yapmak için kullanılabilir (örneğin, arabirim tarafından düştükten sonra). Yönlendirilen (8C)).
  • -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. (Bkz.-ben Bunu yapmanın başka bir yolu için bayrak.)
  • -t: Yı kur servis tipi prob paketlerinde aşağıdaki değere (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. (4.4bsd'yi çalıştırmıyorsanız, bu durum akademik olabilir, çünkü telnet ve ftp gibi normal ağ hizmetleri TOS'u kontrol etmenize izin vermez.) Tüm TOS değerleri yasal veya anlamlı değildir - tanımlar için IP belirtimlerine bakın. Faydalı değerler muhtemelen-t 16 '(düşük gecikme) ve-t 8 '(yüksek verim).
  • -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 checksumları 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; Bu nedenle, bazı durumlarda varsayılan, sağlama toplamlarını hesaplamamak ve-x hesaplanmasına neden olur. ICMP ECHO probları kullanılırken genellikle son sıçrama için sağlama toplamları gerektiğini unutmayın (-BEN), 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 Cisco'dan yönlendiriciler, hız sınırı icmp mesajları gibi bazı sistemler. Bununla kullanılmak üzere iyi bir değer 500'dür (örneğin, 1/2 saniye).

Sonuçları yorumlamak

Traceroute, bir IP paketinin UDP prob paketlerini küçük bir TTL (canlı yayın süresi) ile başlatarak bir internet sunucusuna izlediği yolu izler ve bir ağ geçidinden yanıt olarak ICMP "zaman aşımı" cevabını dinler. Sondalar bir TTL ile başlıyor ve bir ICMP "bağlantı noktasına ulaşılamıyor" (bu, paketin hedefine vardığı anlamına geliyor) veya azami denemelere ulaşana kadar teker teker artar.-m bayrağı.

Traceroute yürütüldüğünde, her TTL ayarında üç sonda gönderir ve ardından TTL'yi, ağ geçidinin adresini ve her bir sondanın gidiş geliş süresini gösteren konsola bir çizgi basar. Prob yanıtları farklı ağ geçitlerinden geliyorsa, yanıt veren her sistemin adresi yazdırılır. Beş saniyelik bir zaman aşımı aralığı içinde yanıt yoksa (-w bayrak), bu sonda için bir yıldız işareti yazdırılır.

Hedef ana bilgisayarın UDP probe-packet işlemi tarafından boğulmasını engellemek için, hedef port, bu cihaz tarafından kullanılmayacak bir değere ayarlanır. Hedefteki bir ağ veya hizmet bu bağlantı noktasını kullanıyorsa, değeri-p bayrağı.

Örnek bir kullanım ve çıktı, bu örneğe benzer sonuçları döndürür:

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

İkinci ve üçüncü satırların aynı olduğunu unutmayın. Bu sonuç, sıfır-TTL (4.3 BSD'nin dağıtılmış versiyonunda bir hata) içeren paketleri ilerleten ikinci hop sistemindeki (lbl-csam.arpa) bir buggy çekirdeği ile ilgilidir. NSFNet'in (129.140) NSS'leri için adres-isim çevirileri sağlamadığı için paketlerin hangi ülkeden geçtiğini tahmin etmelisiniz.

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 no'lu ağ geçitlerinin atladığı ya da ICMP "zaman aşımına uğradı" mesajlarını göndermediğini ya da bize ulaşamayacak kadar küçük bir TTL göndermediğini unutmayın. 14'ten 17'ye kadar olan satırlar, "zaman aşımı" mesajlarını göndermeyen MIT C Ağ Geçidi kodunu çalıştırıyor.

Yukarıdaki örnekte yer alan sessiz ağ geçidi (12), 4. 23 BSD ağ kodu ve türevlerindeki bir hatanın sonucu olabilir: 4.3 kodu çalıştıran ve daha önce, orijinal datagramda kalan TTL'yi kullanarak erişilemeyen bir mesaj gönderir. Ağ geçitleri için, kalan TTL sıfır olduğundan, ICMP "zaman aşımına uğradı", bize geri getirmemesi garantilidir. 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 var" (13 son hedef) olduğuna dikkat edin ve son yarısı eksik. Gerçekten olan şey, sunucunun adlandırılmış olmasıdır Huzur içinde yatsın (Sun Sun 3.5 çalışan bir Sun-3), gelen datagramımızdan TTL'yi ICMP cevabında TTL olarak kullanıyor. Bu yüzden, cevap, yol uzunluğunun en az iki katı olan bir TTL ile probleme edene kadar (yani, ICMP'ler ICMP'ler için gönderilmediğinden) herhangi bir bildirimde bulunmadan geri dönüş yolunda zaman aşımına uğrayacaktır - diğer bir deyişle, rip gerçekten sadece yedi Uzaklaşıyor.

1'lik bir TTL ile dönen bir yanıt, bu sorunun varlığından bir ipucu. Traceroute bir "!" Yazdırır TTL'nin 1'den küçük olması veya eşit 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 beklerler. Problarınızın hedef kitlesi.

Zaman geçtikten sonra diğer olası ek açıklamalar! H, N!veya! P (ev sahibi, ağ veya protokol ulaşılamıyor),! S (kaynak rota başarısız oldu),! F (parçalanma gerekli - RFC1191 Yol MTU Discovery değeri görüntülenir),! X (idari olarak yasaklanmış iletişim),! V (ev sahibi öncelik ihlali),! C (Öncelikli olarak kesme eşiği) veya! (ICMP erişilemez kod). Bu kodlar RFC1716'nın yerini alan RFC1812 tarafından tanımlanmıştır. Neredeyse tüm problar bir tür erişilemeyen ana bilgisayar ile sonuçlanırsa, 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.