traceroute komutu: Kurulum, kullanım ve -n, -I, -T seçenekleri

Test ortamıRHEL ailesiAlmaLinux 9.8root hesabıDebian 12 · traceroute 2.1.2 normal hesap2026-10-29 tarihinde kontrol edildi
Ağ komutlarıtraceroute

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

  • ↪️ RHEL ailesinde dnf, Debian ailesinde apt

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 traceroute
package traceroute is not installed

RHEL 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 traceroute
Last 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 traceroute
Last 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 --version
Modern 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 --version
Modern traceroute for Linux, version 2.1.2
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later

Debian 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ı

  • ↪️ Temel biçim ve çıktı satırlarını okuma

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.com
traceroute 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 maxKontrol edilecek en fazla atlama sayısı — -m ile belirlenir, varsayılan 30
60 byte packetsGönderilen paket boyutu — varsayılan olarak IPv4'te 60 bayt, IPv6'da 80 bayt (resmî kılavuza göre)
1Atlama numarası — o pakete verilen TTL değeri
192.0.2.1O atlamada yanıt veren yönlendiricinin adresi
0.110 ms 0.083 ms 0.067 msBir atlamaya gönderilen üç paketin gidiş-dönüş süreleri
198.51.100.77 … 198.51.100.13Aynı 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 · !XSü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 localhost
traceroute 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 ms

localhost 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

  • ↪️ -n, -q, -m ve gönderme yöntemleri -I, -T

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 localhost
traceroute 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.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 60 byte packets
 1  127.0.0.1  0.096 ms
traceroute -q 5 -n 127.0.0.1
traceroute 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.1
max hops cannot be more than 255

Paketler 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.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted
traceroute -T -n 127.0.0.1
You do not have enough privileges to use this traceroute method.
socket: Operation not permitted

Resmî 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_range
1	0

Debian 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çenekGörevBu yazıdaki sonuç
-nAdresleri ana makine adına çevirmeden yalnızca IP adreslerini yazdırırlocalhost'a eklenince atlama sütununda yalnızca 127.0.0.1 kaldı
-qBir atlamaya gönderilen paket sayısını belirler (varsayılan 3)-q 1 tek süre, -q 5 beş süre gösterir
-mKontrol 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
-IPaketleri ICMP ECHO olarak gönderirNormal hesapta yetersiz yetki mesajı ve çıkış kodu 1
-TPaketleri TCP SYN (varsayılan 80 numaralı bağlantı noktası) olarak gönderirNormal hesapta yetersiz yetki mesajı ve çıkış kodu 1
-UHedef bağlantı noktasını 53'e sabitleyip UDP ile gönderirexample.com'da yedinci atlamadan onuncu atlamaya kadar * * * göründü, hedef adres çıkmadı

📎 Diğer seçenekler: resmî kılavuza göre

SeçenekGörev
-wYanıt için beklenecek en uzun süreyi belirler (varsayılan 5 saniye)
-pBağlantı noktasını belirler (UDP'de başlangıç noktası, TCP'de sabit hedef noktası, ICMP'de başlangıç sıra numarası)
-fBaşlangıç TTL'sini belirler (varsayılan 1)
-NAynı anda gönderilen paket sayısını belirler (varsayılan 16, yanıt hızını sınırlayan yönlendiricilerde azaltın)
-sGönderen adresini sunucunun başka bir arayüz adresiyle değiştirir
-iPaketlerin çıkacağı ağ arayüzünü belirler (varsayılan olarak yönlendirme tablosuna göre)
-4Yalnızca IPv4 ile gönderir (ad hem IPv4 hem IPv6 adresi döndürürse varsayılan IPv4'tür)
-6Yalnı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.

traceroute komutu simülatörütraceroute 2.1.2
[root@server work]#
Yalnızca tarayıcınızda çalışır ve gerçek paket göndermez. Önceki komutları ↑↓ ile geri çağırırsınız.

4️⃣ traceroute'ta yanıt vermeyen atlamalar

  • ↪️ * * * satırları ve güvenlik duvarları

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.com
traceroute 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 yerNasıl okunurYeniden kontrol
Tek bir ara atlamaO atlamadan yanıt gelmiyor — sonraki atlamalar yanıt veriyorsa paketler o atlamayı geçmiştirOlduğu gibi bırakıp sonraki atlamaları okuyun
Hedefin önünden -m değerine kadarHedef 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 atlamalarYö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

  • ↪️ Kurulumun zor olduğu sunucularda

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

Çıkış koduna bakarak anlaşılmaz. Varsayılan yöntemle example.com'a yedinci atlamada ulaşıldığında da -U ile onuncu atlamaya kadar ulaşılamadığında da çıkış kodu 0 idi. Geçersiz seçenekler, aralık dışı -m değerleri ve ad çözümleme hataları 2 ile, normal hesaptaki -I ve -T ise 1 ile bitti. Çıkış kodu yalnızca çalıştırma hatalarını ayırt eder, bu yüzden hedefe ulaşılıp ulaşılmadığını son satırda hedef adresin görünüp görünmediğinden kontrol edin.

Microsoft belgelerine göre Windows'taki tracert TTL'yi artırarak ICMP Echo Request gönderir, Linux'taki traceroute ise varsayılan olarak UDP paketi gönderir (resmî kılavuza göre). Linux'ta tracert ile aynı ICMP yöntemiyle kontrol etmek için -I ekleyin.

-f ile ilk TTL'yi belirlerseniz çıktı o atlamadan başlar. Resmî kılavuza göre varsayılan değer 1'dir ve 127.0.0.1'e -f 2 eklenince atlama numaraları 2'den başladı. -m 0 gibi en fazla atlama başlangıç atlamasından küçükse [first hop out of range] ile reddedildi.

ℹ️ 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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İnsan olduğunuzu kanıtlayın: 0   +   9   =