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.Traceroute programın çalışabilmesi için veri paketinin üzerinden geçtiği hostlarda herhangi ek özelliğin bulunmasına gerek yoktur.Traceroute; IP başlığındaki TTL (time-to-live) alanını ve ICMP (Internet Control Message Protocol) kullanı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.Kaynak bilgisayar Windows işletim sistemine sahipse hedef bilgisayara "ICMP Echo Request" mesajları göndermiştir. (Type: 8, Code:0) Bu ICMP mesajları hedef bilgisayara ulaştığında hedef bilgisayar bu mesajlara ICMP Echo Reply mesajıyla cevap verir. (Type: 0, Code:0)Kaynak bilgisayar Linux işletim sistemine sahipse hedef bilgisayara, hedef portunun kullanılmadığı düşünülen bir UDP datagram'ı gönderir. (Örneğin 29082 numaralı UDP portu hedef port olarak belirlenir.) Hedef bilgisayar bu UDP datagram'ını alır. 29082 numaralı portu açık olmadığı için de kaynak bilgisayara "ICMP Destination Port Unreachable" mesajını göndrerir. (Type: 3, Code: 3)4  izmir_t2_1-canakkale_t3_1.turktelekom.com.tr (81.212.26.113)  102.468 ms bursa_t2_2-canakkale_t3_1.turktelekom.com.tr (212.156.120.86)  125.490 ms izmir_t2_1-canakkale_t3_1.turktelekom.com.tr (81.212.26.113)  124.906 ms5  izm_t1_2-bursa_t2_2.turktelekom.com.tr (212.156.109.45)  125.920 ms izm_t1_1-izmir_t2_1.turktelekom.com.tr (212.156.120.5)  125.845 ms izm_t1_2-bursa_t2_2.turktelekom.com.tr (212.156.109.45)  127.406 ms6  uls_t1_2-izm_t1_2.turktelekom.com.tr (81.212.26.210)  144.937 ms  64.192 ms uls_t1_1-izm_t1_1.turktelekom.com.tr (212.156.120.21)  35.734 ms7  ulus_ebgp_1-uls_t1_2.turktelekom.com.tr (212.156.119.246)  63.097 ms ulus_ebgp_1-uls_t1_1.turktelekom.com.tr (212.156.119.242)  61.394 ms  65.089 ms9  ldn-bb1-link.telia.net (80.91.249.131)  214.484 ms ldn-bb2-link.telia.net (80.91.249.133)  223.082 ms ldn-bb1-link.telia.net (80.91.249.131)  214.984 ms11  bpt-b2-link.telia.net (80.91.250.129)  196.374 ms bpt-b2-link.telia.net (80.91.250.133)  178.905 ms bpt-b2-link.telia.net (80.91.250.129)  205.910 msÇıktının ilk satırında hedefin IP adresi, tanımlanacak maksimum yönlendirici sayısı ve veri paketi büyüklüğü bilgileri bulunur.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.