traceroute komutu: Kurulum, kullanım ve -n, -I, -T seçenekleri
Hedefe giderken paketlerin geçtiği yönlendiricileri atlama atlama görmek için traceroute komutunu kullanırsınız. AlmaLinux 9.8 sunucusunda traceroute kurulu olmadığı için dnf ile kurduk; traceroute 2.1.2 bulunan bir Debian 12 sunucusundan example.com adresine giden yolu izlediğimizde yedinci atlamada hedefe ulaştık.
Aşağıdaki çıktı Debian 12 sunucusunda normal hesapla çalıştırılan sonuçtur; yalnızca kurulum bölümündeki rpm ve dnf çıktıları AlmaLinux 9.8 sunucusundan (root hesabı) alınmıştır. Sunucunun ana makine adı server1 olarak, yollarda görünen yönlendirici ve hedef adresleri de örnek adreslerle (192.0.2.x, 198.51.100.x, 203.0.113.x) değiştirilmiştir. Kurulan paketin sürüm numarası (ana sürüm 2.1 aynı kalmıştır) ve dnf meta veri saati de örnek değerdir; yanıt süreleri ölçüldüğü gibi bırakılmıştır.
1️⃣ traceroute kurulumu
traceroute'un varsayılan olarak kurulu olup olmadığı dağıtıma göre değişir. AlmaLinux 9.8 sunucusunda çalıştırınca [traceroute: command not found] çıktı, rpm ile sorgulayınca da kurulu paket bulunamadı.
rpm -q traceroutepackage traceroute is not installedRHEL ailesinde dnf ile kurarsınız. Kurmadan önce [--assumeno] ekleyerek baktığımızda kurulacak tek paket baseos deposundaki traceroute'tu ve onunla birlikte kurulan başka paket yoktu.
dnf install --assumeno tracerouteLast metadata expiration check: 0:05:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
traceroute x86_64 3:2.1.0-9.el9 baseos 56 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 56 k
Installed size: 107 k
Operation aborted.İndirme boyutu 56k, kurulum sonrası boyut 107k idi. [--assumeno] tüm sorulara no yanıtını veren seçenektir, bu yüzden hiçbir şey kurmadan [Operation aborted.] ile biter (dnf resmî belgelerine göre).
Asıl kurulumu [--assumeno] olmadan [dnf install traceroute] ile yaptık.
dnf install tracerouteLast metadata expiration check: 0:20:00 ago on Thu Oct 29 09:00:00 2026.
Dependencies resolved.
================================================================================
Package Architecture Version Repository Size
================================================================================
Installing:
traceroute x86_64 3:2.1.0-9.el9 baseos 56 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 56 k
Installed size: 107 k
Downloading Packages:
traceroute-2.1.0-9.el9.x86_64.rpm 3.6 MB/s | 56 kB 00:00
--------------------------------------------------------------------------------
Total 97 kB/s | 56 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : traceroute-3:2.1.0-9.el9.x86_64 1/1
Running scriptlet: traceroute-3:2.1.0-9.el9.x86_64 1/1
Verifying : traceroute-3:2.1.0-9.el9.x86_64 1/1
Installed:
traceroute-3:2.1.0-9.el9.x86_64
Complete![Installed:] altında yalnızca traceroute paketi göründü ve kurulum bağımlılık paketi olmadan [Complete!] ile bitti.
Kurulumdan sonra sürümü [traceroute --version] ile kontrol ettik.
traceroute --versionModern traceroute for Linux, version 2.1.0
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any later[command -v traceroute] ile bulunan çalıştırılabilir dosya yolu [/usr/bin/traceroute] idi.
Debian ailesinde dağıtım deposundaki traceroute paketini [apt install traceroute] ile kurarsınız (Debian resmî paket bilgilerine göre). Kurulu sürümü --version ile kontrol edersiniz.
traceroute --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterDebian 12 sunucusunda traceroute paketi zaten kuruluydu ve sürüm [Modern traceroute for Linux] 2.1.2 olarak göründü.
2️⃣ traceroute komutunun kullanımı
traceroute bir hedef adı veya IP adresi alır ve TTL'si 1'den başlayıp birer artan paketler gönderir. TTL'si 1 olan paketin ömrü ilk yönlendiricide, 2 olan paketin ömrü ikinci yönlendiricide biter. traceroute, bu yönlendiricilerin geri gönderdiği [time exceeded] yanıtlarından her atlama için adresi ve gidiş-dönüş süresini yazdırır (resmî kılavuza göre).
Paket hedefe ulaşınca hedef [port unreachable] ile yanıt verir ve izleme o atlamada biter; ulaşamazsa en fazla atlama sayısına kadar sürer. Resmî kılavuza göre her atlamaya üç paket gönderilir, bu yüzden bir satırda üç süre görünür ve varsayılan olarak en fazla 30 atlama kontrol edilir.
example.com için -n ile yalnızca adresleri yazdırdık ve -m 10 ile yalnızca onuncu atlamaya kadar kontrol ettik.
traceroute -n -m 10 example.comtraceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
1 192.0.2.1 0.110 ms 0.083 ms 0.067 ms
2 192.0.2.2 0.348 ms 0.273 ms 0.263 ms
3 198.51.100.77 0.426 ms 0.337 ms 198.51.100.13 1.251 ms
4 198.51.100.49 0.968 ms 1.264 ms 198.51.100.53 1.148 ms
5 * * *
6 203.0.113.19 1.631 ms 203.0.113.25 2.549 ms 203.0.113.14 1.543 ms
7 203.0.113.154 1.544 ms 1.656 ms 1.607 msİlk satırda hedef adı, gerçekte kullanılan adres, en fazla atlama sayısı ve 60 baytlık paket boyutu göründü. Yedinci atlamada hedef adres yanıt verdiği için onuncu atlamaya gitmeden bitti ve çalıştırma baştan sona bir saniyeden kısa sürdü.
| Çıktı | Anlamı |
|---|---|
| traceroute to example.com (203.0.113.154) | Hedef adı ve bu addan çözülüp paketlerin gerçekte gönderildiği adres |
| 10 hops max | Kontrol edilecek en fazla atlama sayısı — -m ile belirlenir, varsayılan 30 |
| 60 byte packets | Gönderilen paket boyutu — varsayılan olarak IPv4'te 60 bayt, IPv6'da 80 bayt (resmî kılavuza göre) |
| 1 | Atlama numarası — o pakete verilen TTL değeri |
| 192.0.2.1 | O atlamada yanıt veren yönlendiricinin adresi |
| 0.110 ms 0.083 ms 0.067 ms | Bir atlamaya gönderilen üç paketin gidiş-dönüş süreleri |
| 198.51.100.77 … 198.51.100.13 | Aynı atlamada farklı paketlere farklı yönlendiriciler yanıt verdiği için iki adres görünen satır |
| * * * | Üç paketin hiçbiri zamanında yanıt almadı — her yıldız bir paket demektir |
| !H · !N · !P · !X | Sürenin arkasındaki erişilemezlik işareti — ana makine, ağ veya protokol erişilemez, yönetimsel olarak yasak (resmî kılavuza göre) |
Üçüncü ve dördüncü atlamalarda bir satırda iki, altıncı atlamada üç adres göründü. Bir atlamaya gönderilen üç pakete farklı yönlendiriciler yanıt verirse traceroute, resmî kılavuzda yazdığı gibi yanıt veren tüm adresleri art arda yazdırır.
-n olmadan çalıştırıldığında yanıt veren adresleri ana makine adına çevirip yazdırır.
traceroute localhosttraceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
1 server1 (127.0.0.1) 0.068 ms 0.048 ms 0.028 mslocalhost ile çalıştırdığımızda atlama sütununda Debian 12 sunucusunun ana makine adı göründü ve parantez içinde 127.0.0.1 adresi yer aldı.
3️⃣ traceroute seçenekleri
traceroute 2.1.2'nin --help çıktısında 34 seçenek listelenir. Bunlardan çıktıyı değiştiren -n, -q, -m ile gönderilen paketi değiştiren -I, -T seçeneklerini Debian 12 sunucusunda normal hesapla çalıştırdık.
[traceroute -n] adresleri ana makine adına çevirmeden yalnızca IP adreslerini yazdırır. Aynı localhost'a -n ekleyince atlama sütununda yalnızca 127.0.0.1 kaldı.
traceroute -n localhosttraceroute to localhost (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.073 ms 0.075 ms 0.025 ms-q bir atlamaya gönderilen paket sayısını belirler, varsayılanı 3'tür. -q 1 ile tek süre, -q 5 ile beş süre göründü.
traceroute -q 1 -n 127.0.0.1traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.096 mstraceroute -q 5 -n 127.0.0.1traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
1 127.0.0.1 0.083 ms 0.028 ms 0.024 ms 0.022 ms 0.022 ms-m kontrol edilecek en fazla atlama sayısını değiştirir. 256 girildiğinde [max hops cannot be more than 255] ile reddedildi.
traceroute -m 256 -n 127.0.0.1max hops cannot be more than 255Paketler varsayılan olarak UDP ile gönderilir. -I paketleri ICMP ECHO, -T ise TCP SYN (varsayılan 80 numaralı bağlantı noktası) olarak gönderir. Bu iki seçenek, UDP'nin süzüldüğü bir yolu başka bir paketle yeniden kontrol etmek için kullanılır. Normal hesapla çalıştırıldığında iki seçenek de yetersiz yetki mesajı bırakıp çıkış kodu 1 ile bitti.
traceroute -I -n 127.0.0.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedtraceroute -T -n 127.0.0.1You do not have enough privileges to use this traceroute method.
socket: Operation not permittedResmî kılavuz, varsayılan yöntemi ve -U'yu (sabit hedef bağlantı noktası 53) normal hesaplara izin verilen yöntemler olarak belirtir. -I, normal hesapla yalnızca çekirdek ayarı ping_group_range o hesabın grubuna izin veriyorsa çalışır.
cat /proc/sys/net/ipv4/ping_group_range1 0Debian 12 sunucusundaki değer, Linux çekirdek belgelerine göre hiçbir gruba izin vermeyen [1 0] idi. -T bu ayardan bağımsız olarak normal hesaplara izin verilen yöntemler arasında yer almaz, bu yüzden iki seçeneği root yetkisine sahip bir hesapla çalıştırın.
📌 Başlıca seçenekler: bu yazıda çalıştırılan sonuçlar
| Seçenek | Görev | Bu yazıdaki sonuç |
|---|---|---|
| -n | Adresleri ana makine adına çevirmeden yalnızca IP adreslerini yazdırır | localhost'a eklenince atlama sütununda yalnızca 127.0.0.1 kaldı |
| -q | Bir atlamaya gönderilen paket sayısını belirler (varsayılan 3) | -q 1 tek süre, -q 5 beş süre gösterir |
| -m | Kontrol edilecek en fazla atlama sayısını belirler (varsayılan 30) | -m 10 ile example.com yedinci atlamada bitti, -m 256 ise [max hops cannot be more than 255] ile reddedildi |
| -I | Paketleri ICMP ECHO olarak gönderir | Normal hesapta yetersiz yetki mesajı ve çıkış kodu 1 |
| -T | Paketleri TCP SYN (varsayılan 80 numaralı bağlantı noktası) olarak gönderir | Normal hesapta yetersiz yetki mesajı ve çıkış kodu 1 |
| -U | Hedef bağlantı noktasını 53'e sabitleyip UDP ile gönderir | example.com'da yedinci atlamadan onuncu atlamaya kadar * * * göründü, hedef adres çıkmadı |
📎 Diğer seçenekler: resmî kılavuza göre
| Seçenek | Görev |
|---|---|
| -w | Yanıt için beklenecek en uzun süreyi belirler (varsayılan 5 saniye) |
| -p | Bağlantı noktasını belirler (UDP'de başlangıç noktası, TCP'de sabit hedef noktası, ICMP'de başlangıç sıra numarası) |
| -f | Başlangıç TTL'sini belirler (varsayılan 1) |
| -N | Aynı anda gönderilen paket sayısını belirler (varsayılan 16, yanıt hızını sınırlayan yönlendiricilerde azaltın) |
| -s | Gönderen adresini sunucunun başka bir arayüz adresiyle değiştirir |
| -i | Paketlerin çıkacağı ağ arayüzünü belirler (varsayılan olarak yönlendirme tablosuna göre) |
| -4 | Yalnızca IPv4 ile gönderir (ad hem IPv4 hem IPv6 adresi döndürürse varsayılan IPv4'tür) |
| -6 | Yalnızca IPv6 ile gönderir |
🔲 traceroute komutu simülatörü
Aşağıdaki simülatörde example.com yolunu -m ile kısaltabilir veya 127.0.0.1 ve localhost üzerinde -n, -q, -f (başlangıç atlaması) ile yetki gerektiren -I, -T seçeneklerini kendiniz deneyebilirsiniz.
4️⃣ traceroute'ta yanıt vermeyen atlamalar
Gönderme yöntemini değiştirebilseniz de yanıt vermeyen atlama [* * *] olarak kalır. Resmî kılavuza göre her yıldız, zamanında yanıt gelmeyen bir pakettir ve bekleme süresi en fazla 5 saniyedir.
Ara atlamadaki * * * satırını görünce yolun orada koptuğunu düşünmek kolaydır. Varsayılan yöntemle gönderilen example.com yolunda yalnızca beşinci atlama * * * idi, ancak paketler o atlamayı geçip altıncı atlamadan yedinci atlamadaki hedefe ulaştı.
-U hedef bağlantı noktasını 53'e sabitleyerek gönderir. Aynı example.com'a -U ile paket gönderdiğimizde altıncı atlamada hedefin önündeki yönlendirici yanıt verdi, ardından yedinci atlamadan onuncu atlamaya kadar * * * sürdü ve hedef adres çıkmadı.
traceroute -U -n -m 10 example.comtraceroute to example.com (203.0.113.154), 10 hops max, 60 byte packets
1 192.0.2.1 0.176 ms 0.096 ms 0.661 ms
2 * * *
3 198.51.100.13 0.622 ms 0.586 ms 0.562 ms
4 198.51.100.49 0.898 ms 1.314 ms 198.51.100.53 1.159 ms
5 * * *
6 203.0.113.9 3.773 ms 203.0.113.27 3.275 ms 203.0.113.14 8.973 ms
7 * * *
8 * * *
9 * * *
10 * * *Resmî kılavuz, -U ile gönderildiğinde hedef taraftaki programın genellikle yanıt vermediğini, bu yüzden son atlamanın görülemediğini açıklar. Güvenlik duvarının traceroute'un UDP bağlantı noktalarını veya ICMP ECHO'yu süzdüğü yollarda da o duvarın arkasından yanıt gelmez ve yalnızca * * * sürer.
| * * * çıkan yer | Nasıl okunur | Yeniden kontrol |
|---|---|---|
| Tek bir ara atlama | O atlamadan yanıt gelmiyor — sonraki atlamalar yanıt veriyorsa paketler o atlamayı geçmiştir | Olduğu gibi bırakıp sonraki atlamaları okuyun |
| Hedefin önünden -m değerine kadar | Hedef veya önündeki güvenlik duvarı o paketi ya da bağlantı noktasını süzüyor (resmî kılavuza göre) | Varsayılan yöntem / -T (root) / [-T -p bağlantı noktası] |
| Her çalıştırmada değişen atlamalar | Yönlendirici ICMP yanıt hızını sınırlıyorsa yanıtların bir kısmı eksik olabilir (resmî kılavuza göre) | [-N 1] · [-w 5] |
Hedefin önünde durduysa gönderme yöntemini değiştirip yeniden kontrol edin. Resmî kılavuz -T'yi güvenlik duvarlarından geçmek için tasarlanmış bir yöntem olarak tanıtır. Posta sunucusu gibi açık bağlantı noktası belli olan hedeflerde [-T -p 25] gibi o noktayı belirtmenin, -I ulaşamasa bile ulaşabileceğini açıklar.
Ara atlamadaki * işareti gönderme yöntemine veya çalıştırmaya göre de değişebilir. İkinci atlama varsayılan yöntemle yanıt verdi, ancak -U ile * * * olarak göründü. Resmî kılavuz, yönlendirici ICMP yanıt hızını sınırlıyorsa yanıtların bir kısmının eksik olabileceğini söyler ve [-N 1] ile aynı anda gönderilen paket sayısını azaltmayı önerir. traceroute ayrıca önceden aldığı yanıt sürelerine bakarak bekleme süresini kısaltır; bu yüzden * erken çıkıyorsa [-w 5] gibi tek bir bekleme süresi belirterek bu hesabı kapatın (resmî kılavuza göre).
5️⃣ traceroute yerine tracepath
Paket kuramadığınız bir sunucuda aynı yolu tracepath komutuyla kontrol edersiniz. AlmaLinux 9.8 sunucusunda traceroute yoktu ama tracepath, iputils 20210202 ile geliyordu. Debian 12 sunucusunda ise tracepath yoktu. tracepath'in resmî kılavuzuna göre tracepath root yetkisi olmadan çalışır, buna karşılık seçenekleri azdır ve yalnızca UDP gönderir. Bu yüzden -I, -T ile gönderme yöntemini değiştirmeniz veya -q ile atlama başına birkaç paket gönderip karşılaştırmanız gerektiğinde traceroute'u kurup kullanın.
🔢 SSS & önerilen içerikler
Ağ · Ayarlar
[Linux] ip komutu: ağ arayüzlerini ve ayarlarını yönetme
Ağ arayüzü durumunu, IP adreslerini ve yönlendirme tablosunu kontrol edip yöneten ip komutu.
Güvenlik duvarı · Ubuntu
[Ubuntu] Ubuntu güvenlik duvarı UFW ayarları
Ubuntu'nun varsayılan güvenlik duvarı UFW'yi etkinleştirip durumunu ve kurallarını kontrol etme ayarları.
Ağ · DNS
Linux host komutu | DNS sorgulama komutu
Ana makine adlarını IP adreslerine, IP adreslerini ana makine adlarına çevirip DNS sorgulayan host 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.