Traceroute

Traceroute programı, TCP/IP ağlarında kaynak bilgisayardan hedef bilgisayara giden paketlerin hangi rotayı takip ettiğinin anlaşılması ve bu rotalardan geçerken meydana gelen gecikmelerin görülebilmesini sağlayan bir ağ aracıdır.

Traceroute programı tüm unix/Linux ve Microsoft Windows tabanlı işletim sistemlerinde bulunur. Microsoft Windows işletim sistemlerinde bu aracın adı "tracert" olarak da geçmekte olup Türkçeye İzleme Yolu adıyla aktarılmıştır.

TTL, IP başlığının (IP header) dokuzuncu baytında yer alır ve 8 bitlik bir alana sahiptir. TTL'in başlangıç değeri, IP paketinin oluşturulduğu işletim sistemi tarafından belirlenir. TTL değeri işletim sisteminden işletim sistemine farklılık göstermektedir. TTL değeri, IP paketinin üzerinden geçtiği her hop tarafından "bir" azaltılır. IP başlığındaki TTL alanının amacı, IP paketlerinin ağlarda sonsuz dolaşımının önüne geçmektir. Bir yönlendirici, TTL alanı 0 ya da 1 olan bir IP paketi almış ise bu paketi düşürür, başka bir yere yönlendirmez ve kaynak bilgisayara "ICMP TTL time exceeded” mesajı gönderir. "TTL time exceeded" mesajı ICMP başlığında "Type 11" ve "Code 0" değerlerini alacak şekilde tanımlanmıştır.

Linux işletim sistemine sahip olan bilgisayarlarda "traceroute" komutu, hedef bilgisayara UDP datagramları gönderir. Linux işletim sistemine sahip bilgisayarlar bunun yanı sıra, hedef bilgisayarlara "ICMP Echo Request" mesajları ya da TCP SYN segmentleri de gönderebilirler. Windows işletim sistemine sahip olan bilgisayarlar hedef bilgisayarlara UDP datagramları yerine "ICMP Echo Request" mesajları gönderirler.

"Traceroute" programı, hedef bilgisayara ilk olarak TTL alan değeri "1" olan üç adet paket gönderir. TTL değeri "1" yapılmış olan IP paketlerini alan birinci yönlendirici, bu paketleri bir sonraki -ikinci- yönlendiriciye göndermez, düşürür ve kaynak IP adresine "ICMP TTL time exceeded” (Type 11, Code 0) mesajını gönderir. "ICMP TTL time exceeded" mesajını alan kaynak bilgisayar bu sefer TTL değeri "2" olan üç adet IP paketini hedef bilgisayara gönderir. Bu paketleri alan birinci yönlendirici TTL değerini "1" düşürerek "1" yaparak ikinci yönlendiriciye iletir. İkinci yönlendirici TTL değeri "1" olan IP paketlerini bir sonraki yönlendiriciye göndermez, düşürür ve kaynak IP adresine "ICMP TTL time exceeded” (Type 11, Code 0) mesajını gönderir. Kaynak bilgisayar bu sefer TTL değer "3" olan üç adet paketi hedefe gönderir. İlk iki yönlendirici, yine TTL değerlerini "1" düşürerek IP paketlerini üçüncü yönlendiriciye iletir. Üçüncü yönlendirici yönlendirici TTL değeri "1" olan IP paketlerini bir sonraki yönlendiriciye göndermez, düşürür ve kaynak IP adresine "ICMP TTL time exceeded” (Type 11, Code 0) mesajını gönderir. Bu durum hedef bilgisayara ulaşana kadar TTL değeri "1" artırılarak devam eder. Kaynak bilgisayar tarafından üretilen üç adet IP paketi son olarak hedefe ulaştığında bu sefer hedef bilgisayar kaynak bilgisayar tarafından gönderilmiş olan bu IP paketlerine cevap verir. Bu şekilde hedef bilgisayara ulaşana kadar hangi "hop"lardan geçildiği "traceroute" ile tespit edilir.

Alt satırlarda TTL değeri, yönlendirici ya da hostun adı ve/veya ip adresi yer alır. Ardından gelen ms cinsindeki üç değer, o TTL değeri ile gönderilen üç veri paketinin, icmp mesajının gelişine kadar gecen sürelerdir. ICMP mesajı 4 saniye içinde gelmez ise yerine ekrana yıldız koyulur.

Trauceroute ağda sorun gidermek için kullanılır. Kaynak IP adresinden hedef IP adresine doğru gidilecek rota üzerinde yönlendirme problemlerinin tespit edilmesini sağlar. Ayrıca hedef IP adresine doğru giderken geçilen hostlara verilen IP adreslerini görmeye ve ağ altyapısı hakkında bilgi sahibi olmak için kullanılır.