5 Ekim 2011 Çarşamba

Linux Default TTL Değerini Değiştirmek

TTL (Time To Live) değeri ağda dolaşan paketlerin yaşam süresini belirleyen bir değerdir. Bu değer geçilen her router tarafından bir azaltılarak bir sonraki router'a yollanır. Bu sayede hedefine ulaşamayan veya routerlar arasında kısa döngüye giren paketlerin sonsuza kadar ağda dolaşmaları engellenir...

Aynı zamanda bu değer uzaktaki bir sistemin işletim sistemini kabaca tahmin etmekte kullanılabilir. Zira modern MS Windows işletim sistemleri TTL değerini 128 kullanırken, eski Windows sistemler 32 değerini kullanır. Linuxlar genellikle 64 kullanırken bazı Unix ve Linuxlar 255 değerini kullanırlar...

Ağda dolaşan paketlerin TTL değerlerine bakarak işletim sistemi hakkında fikir yürütmek mümkün olabilir ancak bu tahminin doğruluğu kesin değildir ve oldukça geniş bir işletim sistemi grubunu kapsar... Daha doğru bir tahmin yapmak için diğer TCP/IP davranışlarını test etmek ve elde edilecek bulgulara göre karar vermek gerekir. İşletim sistemi tespiti konusunu bir başka yazıya bırakıp Linux işletim sistemleri için ön tanımlı TTL değerinin nasıl değiştirileceğine bakalım..

TTL değerini değiştirmek isterseniz aşağıdaki komutla default TTL değerini değiştirebilirsiniz.

echo 128 > /proc/sys/net/ipv4/ip_default_ttl

Bu komut ilk restart işlemine kadar Ubuntu 11.04 sistemin default TTL değeri olan 64 yerine 128 kullanılmasını sağlayacaktır.


2 yorum:

  1. peki bu işlemin faydaları var mıdır, yani daha az internet kesintisi gibi? veya eksileri, internetin kesildiğini geç farketmek vs ???

    YanıtlaSil
  2. TTL değerini değiştirmenin pratikte bağlantı kalitesini arttırıcı bir faydası olacağını sanmıyorum ancak TTL değerini fazlaca küçültmeniz bağlantı sorunlarına neden olur.

    Çok küçük TTL değerleri verdiğinizde, TTL değerinden daha fazla router üzerinden ulaşmanız gereken sistemlere erişemezsiniz. Paketleriniz TTL değeri sıfır olana kadar yoluna devam eder ve TTL değerinin sıfır olduğu router üzerinde çöpe atılır, ilgili router tarafından size ICMP Type 11 Code 0 "Time to Live exceeded in Transit" mesajı gönderilir. Bu mesajın meali "hedefe ulaşmak için paketinizin vadesi yetmedi başınız sağ olsun" demektir.

    Yani TTL değerini küçülterek bağlantınızı sabote edebilirsiniz ama bağlantı kalitesini arttıramazsınız...

    Peki o zaman bu ne işe yarar diyorsanız, aslında bir işe yaramaz. Paketlerin özellikle belirli bir router üzerinde ölmesini isterseniz veya işletim sisteminizin ping cevaplarında farklı bir işletim sistemi gibi görünmesini isterseniz o zaman bir işe yarayabilir...

    YanıtlaSil