İçeriğe atla

Traceroute

Traceroute ya da İzleme Yolu açık kaynak kodlu bir ağ analizi yazılımıdır.

Traceroute programı 1987 yılında Van Jacobson tarafından yazılmıştır.

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.[1][2]

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.

IPv6 desteği (traceroute6) vardır.

Çalışma sistemi

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.[3][4] 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.[5][6] 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.[7] 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)[8]

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)

Traceroute çıktısı

     meltem@meltem-pardus ~ $ traceroute  www.comu.edu.tr
     traceroute to www.comu.edu.tr (193.255.97.8), 30 hops max, 60 byte packets
       1  192.168.2.1 (192.168.2.1)  2.794 ms  3.320 ms  5.910 ms
       2  78.176.152.1 (78.176.152.1)  54.101 ms  59.571 ms  65.466 ms^[
       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 ms
       5  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 ms
       6  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 ms
       7  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 ms
       8  ldn-b4-link.telia.net (213.248.100.253)  243.763 ms  245.669 ms  245.049 ms
       9  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 ms
       10  hbg-bb2-link.telia.net (80.91.250.222)  195.472 ms  199.938 ms  197.181 ms
       11  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
       12  invitel-ic-124609-bpt-b2.c.telia.net (213.248.70.50)  185.564 ms  153.012 ms  162.719 ms
       13  xe-0-2-0.bix-p2.invitel.net (213.163.54.158)  166.343 ms  171.663 ms  168.550 ms
       14  xe-0-3-0.ist-c1.tr.invitel.net (213.163.54.102)  184.971 ms  181.357 ms  216.235 ms
       15  79.120.130.82 (79.120.130.82)  106.037 ms  116.352 ms  121.945 ms
       16  * * *
       17  * * *
     

Çı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[9] içinde gelmez ise yerine ekrana yıldız koyulur.

Kullanım yerleri

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.

Kaynakça

  1. ^ "What is traceroute?". 18 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  2. ^ "What is traceroute?". 16 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  3. ^ "IPv4 Başlığı". 11 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  4. ^ "IPv4 Header". 18 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  5. ^ "Default TTL Values". 5 Ağustos 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  6. ^ "Default TTL Values". 30 Temmuz 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  7. ^ "The Purpose of TTL". 16 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  8. ^ "trecert". 13 Mayıs 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 
  9. ^ "Traceroute Zaman Aşım Süresi". 19 Eylül 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2016. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">IPv4</span> İnternet Protokolünün 4. sürümü

İnternet Protokol Versiyon 4 (IPv4), İnternet Protokolü'nün (IP) dördüncü versiyonudur.

İnternette paketlerin hedeflerine ulaştırılması yönlendirici (router) adı verilen ve bu amaçla özel alarak tasarlanmış bilgisayarlar tarafından gerçekleştirilir. Yönlendiriciler, IP paketinin başlığında bulunan hedef adres bilgisini kullanarak bu paketleri diğer yönlendiricilere iletirler. Bu işlem paket hedefine ulaşıncaya kadar devam eder. Bu işleme IP Yönlendirme veya routing adı verilir. Yönlendiriciler tuttukları yönlendirme tablolarına göre paketleri alıcılara nasıl göndereceklerine karar verirler. Yönlendirme tabloları iki şekilde oluşturulur:

  1. Ağ yöneticisi kendisi tanımlayabilir. Genelde bir ya da birkaç yere bağlantısı olan ağlarda bu yöntem kullanılır. Statik yönlendirme olarak adlandırılır. Ağdaki herhangi bir değişiklik durumunda tanımların yeniden elle değiştirilmesi gerekir.
  2. Yönlendirme algoritmaları tarafından hesaplanarak oluşturulur. Ağ yöneticisinin önceden bazı tanımlamalar ve filtreleme girmesi gerekir. Ağda herhangi bir değişiklik olduğunda alternatif yollar otomatik olarak bulunur. Dinamik yönlendirme olarak adlandırılır. RIP, OSPF, BGP en çok kullanılan dinamik yönlendirme protokolleridir.
<span class="mw-page-title-main">UDP</span>

UDP, TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

Network Address Translation (NAT), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

Internet Control Message Protocol (ICMP), hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. ICMP RFC 792'de tanımlanmış ve RFC 950'de revize edilmiştir. Hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür. Bu şekilde normal kullanımının yanında, uzak sistem hakkında bilgi toplamak için sıkça kullanıldığından çok önemlidir. Genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP ile aynı düzeyde olmasına karşın aslında kendisi de IP’yi kullanır. ICMP' nin hata raporlamak için kullanılması, IP'yi güvenli yaptığı anlamına gelmez. Datagram, yerine ulaşmayabilir ve bununla ilgili bir hata mesajı da gelmeyebilir. ICMP mesajlarındaki hataları raporlamak için ICMP kullanılmaz. ICMP, TCP/IP' nin işlemesine yardımcı olan bir protokoldür. Her hostta mutlaka ICMP protokolü çalışır. Hata durumunda host tarafından geri bilgilendirmeyi sağlar.

Adres Çözümleme Protokolü ağ katmanı adreslerinin veri bağlantısı katmanı adreslerine çözümlenmesini sağlayan bir telekomünikasyon protokolüdür. 1982 yılında RFC 826 aracılığıyla tanımlanmıştır. STD 37 kodlu bir internet standardıdır.

ping (ağ aracı)

Ping programı, 1983 yılında Mike Muuss tarafından yazılmış bir programdır. Çalışma prensibi hedefe 64 baytlık bir ICMP paketi göndermek ve aynı paketin geri gelmesini beklemek üzerine kuruludur. Sunucu istemciye ne kadar uzak ise, bekleme süresi o kadar artmaktadır.

IGMP, TCP/IP'de çoklu dağıtım (multicast) üyelerini yönetmek için kullanılan bir iletişim protokolüdür. Taşıma protokolü gibi davranmamasına rağmen, ağ katmanının üzerinde çalışması IP çokludağıtımın önemli bir özelliğidir. Tekli dağıtım(unicast) bağlantılardaki ICMP ye benzerdir. IGMP online streaming videolarda ve oyunlarda kullanılabilir. Bu tip uygulamaları desteklerken kaynaklarının daha verimli şekilde kullanılmasını sağlar.

<span class="mw-page-title-main">Yönlendirici</span>

Yönlendirici, aynı ağ iletişim kurallarını kullanan iki bilgisayar ağı arasında veri çerçevelerinin iletimini sağlayan ağ donanımıdır. Yönlendirme için OSI yedi katman modelinin üçüncüsü olan ağ katmanı kullanılır. Genellikle bu iş için özel üretilmiş donanımlar varsa da birden çok arayüzü olan bilgisayarlar da yazılım desteğiyle yöneltici olarak çalışabilirler.

ToS IP datagram başlığı üzerinde yer alan servis türü alanı, ağları talep ettikleri hizmetler hakkında bilgilendirir. Bu bilgilere hizmet parametreleri denir. Böylece öncelik, gecikme, hizmet gibi parametre tanımlamaları yapılabilir. 8 bitlik alan içerisinde yer alan bitlerin taşıyabileceği anlamlar şunlardır.

ICMPv6(Internet Control Message Protocol Version 6 )

Time to live (TTL) veya atlama sınırı bilgisayardaki veya ağdaki bir verinin ömrünü sınırlayan bir mekanizmadır. Ttl veriye eklenmiş veya gömülmüş bir sayaç veya zaman damgası olarak düşünülebilir. Öngörülen atlama sayısı veya zaman geçtikten sonra, veri düşürülür. Bilgisayar ağlarında, bir veri paketinin süresiz dolaşmasını önler. Bilgi işlemde, önbellek performansının arttırımını ve gizliliğini geliştirmek için kullanılır.

Bilgisayar ağları konusunda geçen Önyükleme Protokolü veya BOOTP, bir yapılandırma sunucusundan bir IP adresi almak için bir ağ istemcisi tarafından kullanılan bir ağ protokolüdür. BOOTP protokolü ilk olarak RFC 951 içerisinde tanımlanmıştı.

Komşu Keşfi Protokolü IPv6 ile kullanılan internet iletişim kuralları dizisinde bir protokoldur. Bağlantı katmanında çalışır ve bağlantıdaki diğer düğümleri bulmak, diğer düğümlerin ağ katmanı adreslerine karar vermek, uygun routerlar bulmak ve diğer aktif komşu düğümlere yollar hakkında erişilebilirlik bilgisi sağlamakla yükümlüdür(RFC 4861, 2007).

hop count, IP tabanlı Bilgisayar Ağı'ndaki uzaklığı ölçmek için kullanılır. Bu sayı, bir IP paketinin hedefe ulaşmadan önce geçtiği yönlendirici sayısıdır.

İnternet Protokolü (IP), ağlar arası paket transferinde eğer paketin boyutu gönderilecek ağın taşıyabileceği maksimum taşıma birimi 'nden (MTU) daha büyük olması durumunda datagram parçalamasını uygularlar. Böylece daha büyük boyuttaki paketleri kabul edecek olan ağın MTU'na uygun şekilde küçük parçalara böler. Parçalama bir IP datagramının ağlar arasında dolaşırken MTU(Maksimum Transfer Unit) değeri daha düşük kapasitede bir ağa geldiginde yaşadıgı durumdur. Yani parçalama, bölünmedir. Örneğin; Ethernet ağlarının MTU değeri 1500 byte'dır. Bizim IP datagramımızın değeri 2400 byte olsun. Bu paket ethernet ağının girişindeki yönlendiriciye geldiğinde yönlendirici diğer tarafında ethernet ağı ve bunun MTU değerinin 1500 byte olduğunu bilir ve 2400 byte’lık gelen paketi Ethernet ağına parçalayarak gönderir. Paketimiz artık hedefine ilk parça 1500 byte, ikinci parçası 900 byte olmak üzere iki parça olarak ulaşır ve birleştirilir.

TCP/IP, yapı olarak iki katmanlı bir haberleşme protokolüdür. Üst Katman TCP verinin iletimden önce paketlere ayrılmasını ve karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. Alt Katman IP ise, iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.

<span class="mw-page-title-main">SoftEther VPN</span> Baymuhammet

SoftEther VPN, Tsukuba Üniversitesi'nden Daiyuu Nobori'nin yüksek lisans tezi araştırması kapsamında geliştirilen ücretsiz bir açık kaynak kodlu, çapraz platform, çoklu protokol destekli VPN çözümüdür. SoftEther VPN, SSL VPN, L2TP/IPsec, OpenVPN ve Microsoft Güvenli Yuva Tünel Protokolü gibi VPN iletişim kurallarını tek bir VPN sunucusundan verilecek şekilde desteklemektedir. 4 Ocak 2014 tarihinde GPLv2 lisansını kullanarak yayınlanmıştır.

<span class="mw-page-title-main">Port tarayıcı</span>

Port tarayıcı, açık portlar için bir sunucuyu veya ana bilgisayarı araştırmak için tasarlanmış bir uygulamadır. Bu tür bir uygulama, yöneticiler tarafından bilgisayar ağlarının güvenlik politikalarını doğrulamak ve saldırganlar tarafından bir ana bilgisayar üzerinde çalışan ağ hizmetlerini tanımlamak ve güvenlik açıklarından yararlanmak için kullanılabilir.