Linux'ta traceroute Komutu Nasıl Kullanılır

Linux traceroutekomutunu, bir ağ paketinin yolculuğunun yavaş ayağını tespit etmek ve yavaş ağ bağlantılarını gidermek için kullanabilirsiniz. Nasıl olduğunu size göstereceğiz!

Traceroute nasıl çalışır?

Nasıl tracerouteçalıştığını takdir ettiğinizde , sonuçları anlamayı çok daha kolay hale getirir. Bir ağ paketinin hedefine ulaşmak için gitmesi gereken yol ne kadar karmaşıksa, herhangi bir yavaşlamanın nerede meydana gelebileceğini belirlemek o kadar zor olur.

Küçük bir kuruluşun yerel alan ağı (LAN) nispeten basit olabilir. Muhtemelen en az bir sunucusu ve bir veya iki yönlendiricisi olacaktır. Farklı lokasyonlar arasında veya internet üzerinden iletişim kuran bir geniş alan ağında (WAN) karmaşıklık artar. Ağ paketiniz daha sonra yönlendiriciler ve ağ geçitleri gibi birçok donanımla karşılaşır (ve yönlendirilir ve yönlendirilir).

Veri paketlerindeki meta verilerin başlıkları, veri paketlerinin uzunluğunu, nereden geldiklerini, nereye gittiğini, kullandığı protokolü vb. Tanımlar. Protokolün özellikleri başlığı tanımlar. Protokolü tanımlayabiliyorsanız, başlıktaki her alanın başlangıcını ve sonunu belirleyebilir ve meta verileri okuyabilirsiniz.

tracerouteTCP / IP protokol paketini kullanır ve Kullanıcı Datagram Protokolü paketleri gönderir. Başlık, sekiz bitlik bir tamsayı değeri içeren Yaşam Süresi (TTL) alanını içerir. Adından da anlaşılacağı gibi, bir süreyi değil bir sayımı temsil eder.

Bir paket, bir yönlendirici aracılığıyla kaynağından hedefine gider. Paket bir yönlendiriciye her ulaştığında, TTL sayacını azaltır. TTL değeri bire ulaşırsa, paketi alan yönlendirici değeri düşürür ve artık sıfır olduğunu fark eder. Paket daha sonra atılır ve "zaman aşımına uğradığı" için yolculuğunun bir sonraki durağına iletilmez.

Yönlendirici, paketin zaman aşımına uğradığını bildirmek için paketin kaynağına bir İnternet Mesaj Kontrol Protokolü (ICMP) Süresi Aşıldı mesajı gönderir. Süre Aşıldı mesajı, orijinal başlığı ve orijinal paket verilerinin ilk 64 bitini içerir. Bu, Yorum İsteği 792'nin altıncı sayfasında tanımlanmıştır.

Bu nedenle, traceroutebir paket gönderirse, ancak daha sonra TTL değerini bir olarak ayarlarsa, paket atılmadan önce yalnızca ilk yönlendiriciye kadar gidecektir. Yönlendiriciden bir ICMP süresi aşıldı mesajı alır ve gidiş dönüş için geçen süreyi kaydedebilir.

Daha sonra alıştırmayı TTL 2'ye ayarlanmış şekilde tekrarlar ve bu iki atlamadan sonra başarısız olur. tracerouteTTL'yi üçe çıkarır ve tekrar dener. Bu işlem, hedefe ulaşılıncaya veya maksimum atlama sayısı (varsayılan olarak 30) test edilinceye kadar tekrar eder.

Bazı Yönlendiriciler Güzel Oynamıyor

Bazı yönlendiricilerde hatalar var. Paketleri atmak yerine sıfır TTL'ye sahip paketleri iletmeye ve ICMP süresi aşıldı mesajını yükseltmeye çalışırlar.

Cisco'ya göre, bazı İnternet Servis Sağlayıcıları (ISP'ler) yönlendiricilerinin ilettiği ICMP mesajlarının sayısını sınırlar.

Bazı cihazlar hiçbir zaman ICMP paketleri göndermeyecek şekilde yapılandırılmıştır. Bu genellikle, cihazın farkında olmadan bir şirin saldırısı gibi dağıtılmış hizmet reddine katılmaya zorlanmamasını sağlamak içindir.

traceroutebeş saniyelik yanıtlar için varsayılan zaman aşımına sahiptir. Bu beş saniye içinde yanıt almazsa, girişim iptal edilir. Bu, çok yavaş yönlendiricilerden gelen yanıtların göz ardı edildiği anlamına gelir.

Traceroute yükleniyor

tracerouteFedora 31'e zaten kurulmuştu, ancak Manjaro 18.1 ve Ubuntu 18.04'e yüklenmesi gerekiyor. tracerouteManjaro'ya kurmak için aşağıdaki komutu kullanın:

sudo pacman -Sy traceroute

tracerouteUbuntu'ya kurmak için aşağıdaki komutu kullanın:

sudo apt-get install traceroute

İzleme yolunu kullanma

Yukarıda ele aldığımız gibi, traceroute'samaç bilgisayarınızdan hedefe her atlamada yönlendiriciden bir yanıt elde etmektir. Bazıları ağzı sıkı olabilir ve hiçbir şey vermezken, diğerleri muhtemelen çekirdekten hiç çekinmeden dökülür.

Örnek olarak, tracerouteünlü Blarney Stone'un evi olan İrlanda'daki Blarney Castle web sitesine gideceğiz . Efsaneye göre, Blarney Taşı'nı öpersen, "gevezelik hediyesi" ile kutsanacaksın. Yol boyunca karşılaştığımız yönlendiricilerin uygun şekilde gürültülü olmasını umalım.

Aşağıdaki komutu yazıyoruz:

traceroute www.blarneycastle.ie

İlk satır bize şu bilgileri verir:

  • Hedef ve IP adresi.
  • traceroute Vazgeçmeden önce deneyeceğiniz atlama sayısı .
  • Gönderdiğimiz UDP paketlerinin boyutu.

Diğer tüm satırlar, atlamalardan biri hakkında bilgi içerir. Ayrıntılara girmeden önce, bilgisayarımız ile Blarney Kalesi web sitesi arasında 11 atlama olduğunu görebiliriz. Hop 11 de bize hedefimize ulaştığımızı söylüyor.

Her atlama satırının formatı aşağıdaki gibidir:

  • Cihazın adı veya cihaz kendini tanımlamıyorsa IP adresi.
  • IP adresi.
  • Üç testin her biri için gidiş dönüş süreleri. Yıldız işareti buradaysa, bu test için bir yanıt olmadığı anlamına gelir. Cihaz hiç yanıt vermezse, üç yıldız işareti görürsünüz ve cihaz adı veya IP adresi görünmez.

Aşağıdakileri gözden geçirelim:

  • Atlama 1: İlk arama bağlantı noktası (kelime anlamı yoktur) yerel ağdaki DrayTek Vigor Router'dır. Bu, UDP paketlerimizin yerel ağdan çıkma ve internete girme şeklidir.
  • Atlama 2: Bu cihaz yanıt vermedi. Belki de ICMP paketlerini asla göndermeyecek şekilde yapılandırılmıştır. Ya da belki yanıt verdi ama çok yavaştı, bu yüzden  traceroutezaman aşımına uğradı.
  • Atlama 3: Bir cihaz yanıt verdi, ancak adını almadık, yalnızca IP adresini aldık. Bu satırda bir yıldız işareti olduğuna dikkat edin, bu da üç isteğe de yanıt alamadığımız anlamına gelir. Bu, paket kaybını gösterebilir.
  • 4 ve 5 sekmeleri : Daha anonim sekmeler.
  • Hop 6: Burada çok fazla metin var çünkü üç UDP isteğimizin her birini farklı bir uzak cihaz ele aldı. Her cihaz için (oldukça uzun) isimler ve IP adresleri yazdırıldı. Bu, üzerinde yüksek hacimli trafiğin üstesinden gelebilecek çok sayıda donanımın bulunduğu "zengin nüfuslu" bir ağla karşılaştığınızda olabilir. Bu atlama, İngiltere'deki en büyük ISS'lerden biridir. Dolayısıyla, aynı uzaktan donanım parçasının üç bağlantı isteğimizi ele alması küçük bir mucize olur.
  • Hop 7: Bu, UDP paketlerimizin ISS ağından çıkarken oluşturduğu hop.
  • Hop 8: Yine, bir IP adresi alıyoruz, ancak cihaz adını alamıyoruz. Her üç test de başarıyla geri döndü.
  • Hops 9 ve 10: İki tane daha anonim atlama.
  • Hop 11: Blarney Kalesi web sitesine ulaştık. Kale Cork, İrlanda'dadır, ancak IP adresinin coğrafi konumuna göre web sitesi Londra'da bulunmaktadır.

Yani karışık bir çantaydı. Bazı cihazlar top oynadı, bazıları cevap verdi ama bize isimlerini söylemedi ve diğerleri tamamen isimsiz kaldı.

Ancak varış noktasına vardık, 11 atlama uzaklıkta olduğunu biliyoruz ve yolculuk için gidiş-dönüş süresi 13.773 ve 14.715 milisaniye idi.

Aygıt Adlarını Gizleme

Gördüğümüz gibi, bazen cihaz adlarının dahil edilmesi karmaşık bir görüntüye yol açar. Verileri görmeyi kolaylaştırmak için -n(eşleştirme yok) seçeneğini kullanabilirsiniz.

Bunu örneğimizle yapmak için aşağıdakileri yazıyoruz:

traceroute -n blarneycastle.ie

Bu, bir darboğazı gösterebilecek gidiş-dönüş zamanlamaları için büyük sayıları seçmeyi kolaylaştırır.

Hop 3 biraz şüpheli görünmeye başlıyor. Geçen sefer yalnızca iki kez yanıt verdi ve bu sefer yalnızca bir kez yanıt verdi. Bu senaryoda elbette bizim kontrolümüz dışında.

Ancak, kurumsal ağınızı araştırıyorsanız, bu düğümün biraz daha derine inmeye değer.

İzleme Yolu Zaman Aşımı Değerini Ayarlama

Belki de varsayılan zaman aşımı süresini uzatırsak (beş saniye), daha fazla yanıt alırız. Bunu yapmak için, -w(bekleme süresi) seçeneğini kullanarak yedi saniyeye değiştireceğiz. (Bunun bir kayan noktalı sayı olduğunu unutmayın.)

Aşağıdaki komutu yazıyoruz:

traceroute -w 7.0 blarneycastle.ie

Bu pek bir fark yaratmadı, bu yüzden yanıtlar muhtemelen zaman aşımına uğruyor. Muhtemelen isimsiz atlamalar kasıtlı olarak gizlidir.

Test Sayısının Ayarlanması

Varsayılan olarak, tracerouteher atlamaya üç UDP paketi gönderir. Bunu -qyukarı veya aşağı ayarlamak için (sorgu sayısı) seçeneğini kullanabiliriz.

tracerouteTesti hızlandırmak için, gönderdiğimiz UDP yoklama paketlerinin sayısını bire düşürmek için aşağıdakileri yazıyoruz:

traceroute -q 1 blarneycastle.ie

Bu, her sekmeye tek bir araştırma gönderir.

İlk TTL Değerini Ayarlama

TTL'nin başlangıç ​​değerini birden farklı bir değere ayarlayabilir ve bazı sekmeleri atlayabiliriz. Genellikle, TTL değerleri ilk test grubu için bir, sonraki test grubu için ikiye vb. Ayarlanır. Beşe ayarlarsak, ilk test beşe atlamaya ve birden dörde atlama atlamaya çalışacaktır.

Blarney Castle web sitesinin bu bilgisayardan 11 atlama olduğunu bildiğimiz için, doğrudan Hop 11'e gitmek için aşağıdakileri yazıyoruz:

traceroute -f 11 blarneycastle.ie

Bu bize hedefe olan bağlantının durumu hakkında güzel, yoğun bir rapor verir.

Düşünceli Olun

tracerouteağ yönlendirmesini araştırmak, bağlantı hızlarını kontrol etmek veya darboğazları belirlemek için harika bir araçtır. Windows da tracertbenzer şekilde çalışan bir komuta sahiptir.

Bununla birlikte, bilinmeyen cihazları UDP paketleri torrentleriyle bombalamak istemezsiniz ve traceroutekomut dosyalarına veya gözetimsiz işlere dahil edilmekten kaçının .

Yük traceroutebir ağa yerleştirilebilir, performansını olumsuz etkileyebilir. Şimdi düzelt gibi bir durumda değilseniz, normal çalışma saatlerinin dışında kullanmak isteyebilirsiniz.