traceroute-commando: installatie, gebruik en de opties -n, -I, -T
Om hop voor hop te controleren langs welke routers pakketten naar de bestemming gaan, gebruik je het traceroute-commando. Op de AlmaLinux 9.8-server was traceroute niet geïnstalleerd, dus hebben we het met dnf geïnstalleerd, en op een Debian 12-server met traceroute 2.1.2 bereikte de route naar example.com de bestemming bij de zevende hop.
De onderstaande uitvoer komt van de Debian 12-server, uitgevoerd met een gewoon account, en alleen de rpm- en dnf-uitvoer in het installatiehoofdstuk komt van de AlmaLinux 9.8-server (root-account). De hostnaam van de server is veranderd in server1, en de router- en bestemmingsadressen in de routes zijn vervangen door voorbeeldadressen (192.0.2.x, 198.51.100.x, 203.0.113.x). Het releasenummer van het geïnstalleerde pakket (hoofdversie 2.1 blijft gelijk) en de dnf-metadatatijd zijn ook voorbeeldwaarden, en de responstijden zijn de echt gemeten waarden.
1️⃣ traceroute installeren
Of traceroute standaard is geïnstalleerd, hangt af van de distributie. Op de AlmaLinux 9.8-server gaf het uitvoeren [traceroute: command not found], en een zoekopdracht met rpm vond geen geïnstalleerd pakket.
rpm -q traceroutepackage traceroute is not installedIn de RHEL-familie installeer je het met dnf. Een voorbeeld met [--assumeno] toonde één pakket om te installeren, traceroute uit de baseos-repository, zonder andere pakketten.
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.De downloadgrootte was 56k en de grootte na installatie 107k. [--assumeno] beantwoordt alle vragen met no, dus er wordt niets geïnstalleerd en het commando eindigt met [Operation aborted.] (volgens de officiële dnf-documentatie).
De echte installatie gebeurde met [dnf install traceroute], zonder [--assumeno].
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!Onder [Installed:] verscheen alleen het pakket traceroute, en de installatie eindigde zonder afhankelijkheden met [Complete!].
Na de installatie hebben we de versie gecontroleerd met [traceroute --version].
traceroute --versionModern traceroute for Linux, version 2.1.0
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterHet pad van het uitvoerbare bestand dat [command -v traceroute] vond, was [/usr/bin/traceroute].
In de Debian-familie installeer je het pakket traceroute uit de repository van de distributie met [apt install traceroute] (volgens de officiële Debian-pakketinformatie). De geïnstalleerde versie controleer je met --version.
traceroute --versionModern traceroute for Linux, version 2.1.2
Copyright (c) 2016 Dmitry Butskoy, License: GPL v2 or any laterOp de Debian 12-server was het pakket traceroute al geïnstalleerd, en de versie verscheen als [Modern traceroute for Linux] 2.1.2.
2️⃣ Zo gebruik je het traceroute-commando
traceroute neemt een bestemmingsnaam of IP-adres en stuurt pakketten met een TTL die bij 1 begint en steeds met één toeneemt. Een pakket met TTL 1 verloopt bij de eerste router, een pakket met TTL 2 bij de tweede. Uit de [time exceeded]-antwoorden van die routers toont traceroute per hop het adres en de retourtijd (volgens de officiële handleiding).
Bereikt een pakket de bestemming, dan antwoordt die met [port unreachable] en eindigt de uitvoer bij die hop; lukt dat niet, dan gaat het door tot het maximale aantal hops. Volgens de officiële handleiding worden per hop drie pakketten gestuurd, dus een regel toont drie tijden, en standaard worden tot 30 hops gecontroleerd.
Voor example.com hebben we met -n alleen adressen getoond en met -m 10 alleen tot de tiende hop gecontroleerd.
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 msDe eerste regel toonde de bestemmingsnaam, het werkelijk gebruikte adres, het maximale aantal hops en de pakketgrootte van 60 bytes. Bij de zevende hop antwoordde het bestemmingsadres, dus de uitvoer eindigde zonder tot de tiende hop te gaan, en het geheel duurde minder dan een seconde.
| Uitvoer | Betekenis |
|---|---|
| traceroute to example.com (203.0.113.154) | Bestemmingsnaam en het opgeloste adres waarnaar werkelijk is gestuurd |
| 10 hops max | Maximaal aantal hops — in te stellen met -m, standaard 30 |
| 60 byte packets | Grootte van de verstuurde pakketten — standaard 60 bytes voor IPv4 en 80 bytes voor IPv6 (volgens de officiële handleiding) |
| 1 | Hopnummer — de TTL-waarde van dat pakket |
| 192.0.2.1 | Adres van de router die bij die hop antwoordde |
| 0.110 ms 0.083 ms 0.067 ms | Retourtijden van de drie pakketten naar één hop |
| 198.51.100.77 … 198.51.100.13 | Regel met twee adressen, omdat bij dezelfde hop verschillende routers op verschillende pakketten antwoordden |
| * * * | Geen van de drie pakketten kreeg op tijd antwoord — elk sterretje is één pakket |
| !H · !N · !P · !X | Unreachable-teken achter de tijd — host, netwerk of protocol onbereikbaar, administratief verboden (volgens de officiële handleiding) |
De derde en vierde hop toonden twee adressen op één regel, de zesde hop drie. Als verschillende routers antwoorden op de drie pakketten naar een hop, toont traceroute volgens de officiële handleiding alle antwoordende adressen achter elkaar.
Zonder -n zet traceroute de antwoordende adressen om in hostnamen.
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 msMet localhost verscheen in de hopkolom de hostnaam van de Debian 12-server, met het adres 127.0.0.1 tussen haakjes.
3️⃣ traceroute-opties
De --help van traceroute 2.1.2 toont 34 opties. Daarvan hebben we -n, -q en -m, die de uitvoer veranderen, en -I en -T, die de verstuurde pakketten veranderen, uitgeprobeerd met een gewoon account op de Debian 12-server.
[traceroute -n] toont alleen IP-adressen, zonder ze om te zetten in hostnamen. Met -n op dezelfde localhost bleef in de hopkolom alleen 127.0.0.1 over.
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 bepaalt het aantal pakketten per hop, standaard 3. Met -q 1 verscheen één tijd, met -q 5 verschenen er vijf.
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 verandert het maximale aantal hops. De waarde 256 werd geweigerd met [max hops cannot be more than 255].
traceroute -m 256 -n 127.0.0.1max hops cannot be more than 255Pakketten worden standaard via UDP verstuurd. -I stuurt ze als ICMP ECHO, -T als TCP SYN (standaard poort 80). Met deze twee opties controleer je een route die UDP filtert opnieuw met een ander soort pakket. Met een gewoon account gaven beide opties een melding over onvoldoende rechten en eindigden ze met afsluitcode 1.
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 permittedDe officiële handleiding noemt de standaardmethode en -U (vaste bestemmingspoort 53) als de methoden die voor gewone accounts zijn toegestaan. -I werkt met een gewoon account alleen als de kernelinstelling ping_group_range de groep van dat account toestaat.
cat /proc/sys/net/ipv4/ping_group_range1 0De waarde op de Debian 12-server was [1 0], wat volgens de Linux-kerneldocumentatie geen enkele groep toestaat. -T hoort ongeacht deze instelling niet bij de methoden die voor gewone accounts zijn toegestaan, dus voer deze twee opties uit met een account met root-rechten.
📌 Belangrijkste opties: resultaten uit dit artikel
| Optie | Taak | Resultaat in dit artikel |
|---|---|---|
| -n | Toont alleen IP-adressen, zonder ze om te zetten in hostnamen | Met localhost bleef in de hopkolom alleen 127.0.0.1 over |
| -q | Bepaalt het aantal pakketten per hop (standaard 3) | -q 1 toont één tijd, -q 5 toont er vijf |
| -m | Bepaalt het maximale aantal hops (standaard 30) | Met -m 10 eindigde example.com bij de zevende hop, -m 256 werd geweigerd met [max hops cannot be more than 255] |
| -I | Stuurt pakketten als ICMP ECHO | Melding over onvoldoende rechten en afsluitcode 1 met een gewoon account |
| -T | Stuurt pakketten als TCP SYN (standaard poort 80) | Melding over onvoldoende rechten en afsluitcode 1 met een gewoon account |
| -U | Stuurt via UDP met bestemmingspoort vast op 53 | example.com toonde * * * van de zevende tot de tiende hop, en het bestemmingsadres verscheen niet |
📎 Andere opties: volgens de officiële handleiding
| Optie | Taak |
|---|---|
| -w | Bepaalt de maximale wachttijd op een antwoord (standaard 5 seconden) |
| -p | Bepaalt de poort (startpoort bij UDP, vaste bestemmingspoort bij TCP, startvolgnummer bij ICMP) |
| -f | Bepaalt de start-TTL (standaard 1) |
| -N | Bepaalt het aantal pakketten dat tegelijk wordt verstuurd (standaard 16, verlaag dit bij routers die hun antwoordsnelheid beperken) |
| -s | Verandert het bronadres in het adres van een andere interface van de server |
| -i | Bepaalt de netwerkinterface waarlangs pakketten vertrekken (standaard volgens de routeringstabel) |
| -4 | Stuurt alleen via IPv4 (standaard IPv4 als een naam zowel IPv4- als IPv6-adressen teruggeeft) |
| -6 | Stuurt alleen via IPv6 |
🔲 Simulator voor het traceroute-commando
In de simulator hieronder kun je de route naar example.com inkorten met -m, of op 127.0.0.1 en localhost zelf -n, -q, -f (starthop) en de opties -I en -T proberen, die rechten vereisen.
4️⃣ Hops zonder antwoord in traceroute
Ook als je de verzendmethode kunt veranderen, blijft een hop die niet antwoordt op [* * *] staan. Volgens de officiële handleiding is elk sterretje één pakket zonder tijdig antwoord, en de wachttijd is maximaal 5 seconden.
Bij * * * op een hop halverwege denk je al snel dat de route daar breekt. Op de route naar example.com met de standaardmethode was alleen de vijfde hop * * *, maar de pakketten passeerden die hop, gingen via de zesde en bereikten bij de zevende de bestemming.
-U verstuurt met de bestemmingspoort vast op 53. Toen we met -U pakketten naar hetzelfde example.com stuurden, antwoordde bij de zesde hop de router vóór de bestemming, daarna ging * * * door van de zevende tot de tiende hop en verscheen het bestemmingsadres niet.
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 * * *De officiële handleiding legt uit dat met -U het programma aan de bestemmingskant meestal niet antwoordt, zodat de laatste hop niet zichtbaar is. Ook op een route waar een firewall de UDP-poorten van traceroute of ICMP ECHO filtert, komt van achter die firewall geen antwoord en gaat alleen * * * door.
| Waar * * * verschijnt | Zo lees je het | Opnieuw controleren |
|---|---|---|
| Eén hop halverwege | Geen antwoord van die hop — als latere hops antwoorden, zijn de pakketten die hop gepasseerd | Laat het staan en lees de latere hops |
| Vóór de bestemming tot -m | De bestemming of een firewall ervoor filtert dat pakket of die poort (volgens de officiële handleiding) | Standaardmethode / -T (root) / [-T -p poort] |
| Hops die per uitvoering veranderen | Als een router zijn ICMP-antwoordsnelheid beperkt, kunnen sommige antwoorden ontbreken (volgens de officiële handleiding) | [-N 1] · [-w 5] |
Stopte de uitvoer vóór de bestemming, verander dan de verzendmethode en controleer opnieuw. De officiële handleiding stelt -T voor als methode die is gemaakt om firewalls te passeren. Bij een bestemming met een duidelijk open poort, zoals een mailserver, kan volgens de handleiding het opgeven van die poort, zoals in [-T -p 25], ook lukken als -I niet aankomt.
De * op een hop halverwege kan ook veranderen per verzendmethode of uitvoering. De tweede hop antwoordde met de standaardmethode, maar toonde * * * met -U. De officiële handleiding zegt dat sommige antwoorden kunnen ontbreken als een router zijn ICMP-antwoordsnelheid beperkt, en raadt aan het aantal tegelijk verstuurde pakketten te verlagen met [-N 1]. traceroute verkort bovendien de wachttijd op basis van al ontvangen responstijden; verschijnt daardoor een * te vroeg, geef dan zoals in [-w 5] één wachttijd op om die berekening uit te zetten (volgens de officiële handleiding).
5️⃣ tracepath in plaats van traceroute
Op een server waar je geen pakketten kunt installeren, controleer je dezelfde route met het tracepath-commando. De AlmaLinux 9.8-server had geen traceroute, maar wel tracepath als iputils 20210202. De Debian 12-server had daarentegen geen tracepath. Volgens de officiële tracepath-handleiding draait tracepath zonder root-rechten, maar heeft het minder opties en verstuurt het alleen UDP. Als je dus met -I of -T de verzendmethode wilt veranderen of met -q meerdere pakketten per hop wilt versturen om te vergelijken, installeer en gebruik dan traceroute.
🔢 FAQ & aanbevolen content
Netwerk · Instellingen
[Linux] ip-commando: netwerkinterfaces en instellingen beheren
Het ip-commando controleert en beheert de status van netwerkinterfaces, IP-adressen en de routeringstabel.
Firewall · Ubuntu
[Ubuntu] De UFW-firewall van Ubuntu instellen
Instelling om UFW, de standaardfirewall van Ubuntu, in te schakelen en de status en regels te controleren.
Netwerk · DNS
Linux host-commando | commando voor DNS-opvraging
Het host-commando vraagt DNS op om hostnamen om te zetten in IP-adressen en IP-adressen in hostnamen.
ℹ️ Affiliatemelding
De content van deze site bevat affiliatelinks. Koopt een bezoeker via een van deze links een product of dienst, dan ontvangt deze site een commissie van de verkoper. Het bedrag dat de koper betaalt (bij acties gaat het omlaag ↓) wordt daardoor niet hoger. De vermelde prijzen, kortingen en voorraad gelden op het moment van schrijven en kunnen afwijken; controleer ze daarom vóór je aankoop bij de verkoper. Producten worden gekozen en beoordeeld volgens onze eigen criteria, en commissies hebben geen invloed op de volgorde of de inhoud van de beoordelingen.