Ping sonuçlarında TTL'yi yorumlama


11

Bir VoIP servis sağlayıcısı için çalışıyorum ve beni bir döngü için fırlatma kablo internet bağlantısı olan bir müşteri ile bir sorun üzerinde çalışıyorum.

70.141.15.0/29 olduğunu iddia edeceğimiz tek bir blok var, ağ geçidi .1 ve yönlendiriciler .2 ve .3. Her iki yönlendirici de kablo modemine bağlıdır, bu da bilgimiz dahilinde, kablo sağlayıcılarının "köprü modu" nu hayal ettiğine göre ayarlanır.

Bu yönlendiricilerin her ikisine de aynı kutudan aynı anda ping atıyorum, bu da (muhtemelen) Seviye (3) 'ten fibere bağlı bir linux sistemidir. Söylemeye gerek yok, gezegende kimse burada ve orada kaç düğüm olduğunu bilmiyor. Ancak ping sonuçlarını kontrol edin.

İlk yönlendiriciye:

64 bytes from 70.141.15.2: icmp_seq=2637 ttl=47 time=45.0 ms
64 bytes from 70.141.15.2: icmp_seq=2638 ttl=47 time=39.2 ms
64 bytes from 70.141.15.2: icmp_seq=2639 ttl=47 time=37.3 ms
64 bytes from 70.141.15.2: icmp_seq=2640 ttl=47 time=46.1 ms
64 bytes from 70.141.15.2: icmp_seq=2641 ttl=47 time=45.8 ms
64 bytes from 70.141.15.2: icmp_seq=2642 ttl=47 time=46.5 ms
64 bytes from 70.141.15.2: icmp_seq=2643 ttl=47 time=40.9 ms

İkincisi:

64 bytes from 70.141.15.3: icmp_seq=631 ttl=239 time=54.7 ms
64 bytes from 70.141.15.3: icmp_seq=637 ttl=239 time=40.5 ms
64 bytes from 70.141.15.3: icmp_seq=638 ttl=239 time=40.3 ms
64 bytes from 70.141.15.3: icmp_seq=639 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=640 ttl=239 time=44.9 ms
64 bytes from 70.141.15.3: icmp_seq=641 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=642 ttl=239 time=38.8 ms

TTL değerlerini kontrol edin. Bu mantıklı mı? Bu cihazlar birbirine doğrudan bitişiktir ve ayrı anahtar bağlantı noktaları aracılığıyla bu modeme takılır. Nasıl yaklaşık 200 şerbetçiotu olabilir? Diğer sitelere ping atmaktan TTL'nin düşündüğüm şekilde uygulanmadığı izlenimini alıyorum. Ben ve 4.2.2.2 veya woot.com arasında 200 şerbetçiotu olduğundan şüpheliyim, ancak her ikisinden de 50 TTL sonucunun altındayım.

Bu yönlendiricilerden biri (daha yüksek TTL'ye sahip olan) Fortinet'ten, diğeri ise özel bir Linux tabanlı cihazdır. Linux kutusunda donanım devs indirilen kaynak tarball ile gelen her şeyi kullanırken, Forti'nin ev ağına sahip bir ağ yığını olduğundan eminim. ICMP yankısının bunlardan birine tuhaf bir biçimde uygulanması ve tüm yanıtları 50 TTL ile kasıtlı olarak göndermesi muhtemel mi?

Ayrıca aklı başında görünen TTL ile cevap bulabildiğim tek sitelerden birinin slashdot olduğunu ve sunucularının ve yönlendiricilerinin ortalama bir web sitesinden biraz daha az "garajda bulduğumuz" olabileceğini hayal edebiliyorum. bu son varsayımla doğru yolda olduğumu hissettiriyor.

Özetle: ping üzerindeki TTL güvenilir bir şey ifade ediyor mu?


3
Windows XP ve Windows 7'nin TTL'yi 128 olarak ayarladığı bir yerde okudum ve Linux sistemleri için genellikle TTL 64'e sahipler. Mükemmel değil ama bazen bilmek çok faydalı.
Sean

Yanıtlar:


22

Söylemeye gerek yok, gezegende kimse burada ve orada kaç düğüm olduğunu bilmiyor.

Kaç tane düğüm olduğunu biliyorum. Tam 16 vardır. Farklı yanıtlar almanızın nedeni, farklı işletim sistemlerinin TTL için farklı başlangıç ​​değerleri kullanmasıdır. Bazı aygıtlar 255, diğerleri 63'ü kullanır. Yani, ping yaptığınız aygıtlardan biri TTL'yi 255 olarak ayarlayarak yanıtı gönderir. Size geri döndüğünde 239'a düşmüştür. Bu 16 atlamadır.

Ping yaptığınız diğer cihaz TTL'yi 63 olarak ayarlar. Böylece, size ulaştığında değer 47 olur.

255-239 = 63-47 = 16.

Hedef ile aranızdaki atlama sayısından emin olmak istiyorsanız traceroute kullanın.


Teşekkür ederim! Şimdi fark etmediğim bir varsayım yapıyordum (iade paketi TTL herhangi bir şekilde istek paketi TTL tarafından dikte edildi). Bir soru daha: 255 ve 63 standart tabanlı değerler mi yoksa keyfi mi? Yani, herhangi bir üç basamaklı TTL'nin hayata 255, vb. Başladığını varsayabilir miyim?
Daniel Thompson

3
Bu konuda "standartlar" olduğunu sanmıyorum. OTOH, hiç biri olmayan bir sistem görmedim.
Ron Trunk

63, ilk TTL için alışılmadık bir değer gibi geliyor.
JeanPierre

2

TTL değerleri uzak makine tarafından belirlenir. Örneğin, bir Linux makinesine ping atıyorsanız, menşeli TTL değeri 64'tür. Size geri dönmek için kaç ağdan geçtiğine bağlı olarak, TTL 1 değerinden düşülür. Yani 8.8.8.8'e ping yaparsanız, Googles ad sunucusu, kaynak değeri 128'dir. Size geri döndüğünde, 121 değeri olabilir (benim için yapar). Bu bana ulaşmak için 7 ağ geçti ve bir windows makine olduğu anlamına gelir.

Ortak TTL değerleri

  • Yönlendirici - 255
  • Windows - 128
  • Linux-Mac - 64

0

128-Windows, 64-en çok Linux ve yönlendirici, 60-çok nadir, 32-Windows 95.

Ve hiç kimse 63 kullanmıyor, muhtemelen dönüş yolunda başka bir yönlendirici vuruyor.


0

toplam rota sayısını görmek için "Tracert [IP ADRESİ]" seçeneğini deneyin.

Eğer sistem 64 TTL'den başlarsa, bir hop uzaktaki bir cihazı TRACERT yaparsanız, TTL = 63 elde edersiniz.

Denedim ve ben de öyle. Her zaman merak ediyorum TTL ... hmm cool 😎


Bu, sorulan soruya cevap vermiyor.
Teun Vink
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.