tracepath komutu: traceroute yerine atlamaları ve yol MTU değerini kontrol etme
Bir Linux sunucusunda paketlerin bir hedefe giderken izlediği yolu (atlamaları) ve yol MTU değerini tracepath komutuyla root yetkisi olmadan görebilirsiniz. traceroute kurulu olmayan bir AlmaLinux 9 sunucusunda atlama sayısını 10 ile sınırlayıp example.com'a giden yolu kontrol ettik: dördüncü atlamaya kadar yanıt süreleri ve 1500 yol MTU değeri okundu, sonraki altı atlamadan yanıt gelmedi.
Aşağıdaki çıktı bir AlmaLinux 9.8 sunucusunda (root hesabı) çalıştırıldı; traceroute sürümü ve paket durumu ise bir Debian 12 sunucusunda (normal hesap) kontrol edildi. İlk atlamanın ve aradaki yönlendiricilerin IPv6 adresleri belgeleme için ayrılmış örnek adreslerle değiştirildi, yanıt süreleri ve pmtu değerleri olduğu gibi bırakıldı.
1️⃣ tracepath Komutu Nasıl Kullanılır
tracepath bir hedef adı ya da IP adresi alır, UDP paketleri gönderir ve yanıt veren atlamaları TTL sırasıyla her biri bir satır olacak şekilde yazdırır. Varsayılan en fazla atlama sayısı 30'dur ve -m ile değiştirilebilir.
example.com için -m 10 ekleyerek yalnızca onuncu atlamaya kadar kontrol ettik.
tracepath -n -m 10 example.com 1?: [LOCALHOST] 0.006ms pmtu 9001
1: fe80::1%eth0 0.077ms pmtu 1500
1: 2001:db8:a::5b 2.627ms asymm 8
2: 2001:db8:a::52 1.473ms asymm 12
3: 2001:db8:b::1e 19.653ms asymm 9
4: 2001:db8:c:: 3.642ms asymm 11
5: no reply
6: no reply
7: no reply
8: no reply
9: no reply
10: no reply
Too many hops: pmtu 1500
Resume: pmtu 1500 Bu sunucu paketleri example.com'un IPv6 adresine gönderdi ve dördüncü atlamaya kadar yanıt süreleri göründü. Beşinci atlamadan itibaren no reply sürdü; bu yüzden hedefe on atlama içinde ulaşıldığını gösteren reached satırı çıkmadı ve işlemin bitmesi yaklaşık 18 saniye sürdü.
Aynı hedefe -m olmadan çalıştırıldığında 30 saniye içinde bitmedi. Yanıt vermeyen atlaması çok olan yollarda kontrol edilecek atlama sayısı -m ile azaltılır.
Kurulu tracepath sürümü -V ile görülür; bu sunucudaki tracepath iputils 20210202 idi.
tracepath -Vtracepath from iputils 202102022️⃣ tracepath Çıktısını Okuma
Her çıktı satırı sırasıyla atlama numarasını, yanıt veren adresi ve gidiş-dönüş süresini gösterir. Yol MTU değerinin değiştiği noktada pmtu, gidiş ve dönüş yollarının atlama sayısı farklıysa asymm eklenir. Her satırda kontrol edilenler aşağıdadır.
| Çıktı | Anlamı |
|---|---|
| 1?: | Atlama numarası alanı — yanıttan TTL alınamadığı için tahmin edilen numaraya ? eklenir |
| [LOCALHOST] | Paket henüz ağa çıkmadan önce sunucunun kendi satırı |
| 0.077ms | O atlamaya kadarki gidiş-dönüş süresi |
| pmtu 1500 | O noktada değişen yol MTU değeri (bayt) — yalnızca değiştiğinde eklenir |
| asymm 8 | Gidiş ve dönüş yolları arasındaki atlama sayısı farkı — resmi kılavuz bunun güvenilir bir değer olmadığını belirtir |
| no reply | O TTL ile gönderilen pakete yanıt vermeyen atlama |
| reached | Hedefe ulaşılan satır |
| Too many hops | -m ile belirlenen atlama sayısına kadar kontrol edip durur |
| Resume: pmtu … hops … back … | Yolun tamamının MTU değeri, hedefe kadar atlama sayısı ve dönüş atlama sayısının tahmini |
example.com çıktısında ilk satır [LOCALHOST] için pmtu 9001 idi ve ilk atlamada 1500 oldu. TTL 1 satırının yalnızca adresi değişerek iki kez çıkması da resmi kılavuzdaki örnekte görülen biçimdir. Kılavuz, ilk paket yol MTU değeri yüzünden ilk atlamada reddedilirse aynı TTL satırının bir kez daha çıktığını açıklar.
Hedefe ulaşıldığında satırın sonuna reached eklenir ve son Resume satırında hedefe kadarki atlama sayısı görünür. 127.0.0.1 adresine gönderince tek atlamada reached çıktı ve Resume satırı [pmtu 65535 hops 1 back 1] oldu.
tracepath -n 127.0.0.1 1: 127.0.0.1 0.047ms reached
Resume: pmtu 65535 hops 1 back 1 reached olmadan Too many hops ile biten bir yol, -m ile belirlenen atlamalar içinde hedeften yanıt alamamış demektir. example.com yolunda da on atlamaya kadar reached olmadığından Resume satırında atlama sayısı olmadan yalnızca pmtu kaldı.
3️⃣ tracepath Seçenekleri
tracepath'in yalnızca sekiz seçeneği vardır: -4, -6, -n, -b, -l, -m, -p ve -V; hedef verilmeden çalıştırılınca bu liste kullanım bilgisi olarak çıkar. Seçeneksiz çalıştırıldığında yanıt veren adresleri adlara çevirir; localhost adresine gönderince atlama alanında localhost göründü.
tracepath localhost 1?: [LOCALHOST] 0.003ms pmtu 65536
1: localhost 0.048ms reached
1: localhost 0.030ms reached
Resume: pmtu 65536 hops 1 back 1 [tracepath -n] adları çözmeden yalnızca IP adreslerini yazdırır. Aynı localhost için -n eklenince atlama alanı IPv6 adresi ::1 oldu; example.com yolu da -n ile çalıştırılınca atlama alanında yalnızca adresler göründü.
tracepath -n localhost 1?: [LOCALHOST] 0.005ms pmtu 65536
1: ::1 0.039ms reached
1: ::1 0.010ms reached
Resume: pmtu 65536 hops 1 back 1 -b adı ve adresi birlikte yazdırır. 127.0.0.1 için -b eklenince adın arkasına parantez içinde adres eklendi ve [localhost (127.0.0.1)] çıktı.
tracepath -b 127.0.0.1 1: localhost (127.0.0.1) 0.050ms reached
Resume: pmtu 65535 hops 1 back 1 -m kontrol edilecek en fazla atlama sayısını belirleyen seçenektir ve 0 ile 255 arasındaki değerleri kabul etti. -m 0 eklenince atlama satırı olmadan doğrudan yalnızca Too many hops ve Resume satırları çıktı, 256 girilince [out of range] ile reddedildi.
tracepath -m 0 127.0.0.1 Too many hops: pmtu 65535
Resume: pmtu 65535 -l ilk gönderilen paketin uzunluğudur; varsayılan değer IPv4 için 65535 bayt, IPv6 için 128000 bayttır. 127.0.0.1 için -l 1500 eklenince Resume satırındaki pmtu 65535'ten 1500'e değişti.
tracepath -l 1500 -n 127.0.0.1 1: 127.0.0.1 0.028ms reached
Resume: pmtu 1500 hops 1 back 1 -p ilk gönderilecek hedef UDP bağlantı noktasını belirleyen seçenektir. 127.0.0.1 için -p 33434 eklenince sonuç eklenmediği durumla aynıydı.
| Seçenek | Kopyala | Açıklama |
|---|---|---|
| -n | Adları çözmeden yalnızca IP adreslerini yazdırır | |
| -b | Adı ve adresi birlikte yazdırır | |
| -matlama sayısı | Kontrol edilecek en fazla atlama sayısını belirler, varsayılan 30 | |
| -luzunluk | İlk gönderilen paketin uzunluğunu belirler, varsayılan IPv4 65535, IPv6 128000 | |
| -V | Sürümü yazdırıp çıkar |
| Seçenek | Kopyala | Açıklama |
|---|---|---|
| -4 | Yalnızca IPv4 adreslerine gönderir | |
| -6 | Yalnızca IPv6 adreslerine gönderir | |
| -pPort | İlk gönderilecek hedef UDP bağlantı noktasını belirler |
4️⃣ tracepath ve traceroute Farkı
traceroute kurulamayan sunucularda yol, traceroute yerine tracepath ile kontrol edilir. Kontrol ettiğimiz AlmaLinux 9.8 sunucusunda traceroute paketi yoktu; tracepath ise iputils paketinde bulunduğu için ayrıca kurulmadan çalıştı.
rpm -q traceroutepackage traceroute is not installedDebian 12 sunucusunda durum tersiydi: traceroute 2.1.2 kuruluydu, tracepath'i içeren iputils-tracepath paketi ise kurulu değildi.
traceroute --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterapt-cache policy iputils-tracepathiputils-tracepath:
Installed: (none)
Candidate: 3:20221126-1+deb12u1Bu iki sunucuda olduğu gibi dağıtıma göre bulunan komutlar farklıdır; bu yüzden önce bağlandığınız sunucuda hangisinin olduğunu kontrol edin. tracepath root yetkisi gerektirmez ve UDP paketi gönderebilen her hesapla çalıştırılabilir. AlmaLinux 9.8 sunucusundaki tracepath dosyasının izinleri de rwxr-xr-x idi ve ayrıca eklenmiş bir yetki (capability) yoktu.
| Öğe | tracepath | traceroute |
|---|---|---|
| AlmaLinux 9.8 sunucusu | iputils paketinde var, hemen çalışır | Kurulu değil |
| Debian 12 sunucusu | iputils-tracepath paketi kurulu değil | traceroute 2.1.2 kurulu |
| Gönderilen paketler | UDP | Varsayılan UDP, -I ile ICMP, -T ile TCP |
| Atlama başına çıktı | Tek satır | Varsayılan olarak üç kez gönderir, üç süre (-q ile değişir) |
| Seçenek sayısı | Sekiz: -4 -6 -n -b -l -m -p -V | Yalnızca --help ilk ekranında 20'den fazla |
Yolu ICMP ya da TCP ile görmeniz veya her atlamaya birkaç kez gönderip süreleri karşılaştırmanız gerekiyorsa traceroute komutunu kurup kullanırsınız. Kurulumun zor olduğu ya da yol MTU değerini de görmek istediğiniz sunucularda tracepath uygun seçimdir.
🔲 tracepath Komutu Simülatörü
Aşağıdaki simülatörde example.com yolunu yalnızca atlama sayısını değiştirerek yeniden görebilir ya da localhost ve 127.0.0.1 için -n, -b, -m ve -l seçeneklerini kendiniz girerek farkları görebilirsiniz.
🔢 SSS & önerilen içerikler
Güvenlik duvarı
Linux'ta FirewallD kurulumu ve daemon ayarları
Güvenlik duvarı kurallarını bölge ve hizmetlerle yöneten FirewallD'nin kurulumu ve servis ayarları.
Ağ · Ayarlar
Linux netstat komutu, ifconfig komutu
Açık bağlantı noktalarını, bağlantı durumlarını ve ağ arayüzü bilgilerini gösteren netstat ve ifconfig komutları.
Ağ · DNS
nslookup komutu
Bir alan adının hangi IP adresine çözüldüğünü DNS sunucusuna sorarak kontrol eden nslookup komutu.
ℹ️ Satış ortaklığı bildirimi
Bu sitenin içeriklerinde satış ortaklığı bağlantıları bulunur. Bir ziyaretçi bu bağlantılar üzerinden ürün veya hizmet satın alırsa bu site satıcıdan komisyon alır. Bu süreçte alıcının ödediği tutar (kampanya indirimlerinde tutar düşer↓) artmaz. Yayımlanan fiyat, indirim ve stok bilgileri yazının yazıldığı zamana aittir ve gerçek durumdan farklı olabilir; bu yüzden satın almadan önce son bilgiyi satıcıdan kontrol etmenizi rica ederiz. Ürünler kendi ölçütlerimize göre seçilir ve değerlendirilir; komisyon alınıp alınmaması tanıtım sırasını veya değerlendirme içeriğini etkilemez.