tracepath-commando: hops en pad-MTU controleren in plaats van traceroute
Op een Linux-server kun je met het commando tracepath zonder root-rechten nagaan welk pad (hops) pakketten naar een bestemming afleggen en wat de pad-MTU is. Op een AlmaLinux 9-server zonder traceroute hebben we het aantal hops beperkt tot 10 en het pad naar example.com gecontroleerd: tot de vierde hop waren responstijden en een pad-MTU van 1500 te zien, en de zes hops daarna gaven geen antwoord.
De uitvoer hieronder komt van een AlmaLinux 9.8-server (root-account); de traceroute-versie en de pakketstatus zijn gecontroleerd op een Debian 12-server (gewoon account). De IPv6-adressen van de eerste hop en de tussenliggende routers zijn vervangen door voorbeeldadressen voor documentatie, en de responstijden en pmtu-waarden zijn ongewijzigd gelaten.
1️⃣ Het tracepath-commando gebruiken
tracepath neemt één bestemmingsnaam of IP-adres, stuurt UDP-pakketten en toont de hops die antwoorden, één regel per hop in TTL-volgorde. Het standaard maximum aantal hops is 30 en is te wijzigen met -m.
Voor example.com hebben we -m 10 toegevoegd om alleen tot de tiende hop te controleren.
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 Deze server stuurde de pakketten naar het IPv6-adres van example.com, en tot de vierde hop verschenen responstijden. Vanaf de vijfde hop volgde no reply, waardoor de regel reached, die aangeeft dat de bestemming binnen tien hops is bereikt, niet verscheen, en de uitvoering duurde ongeveer 18 seconden.
Zonder -m naar dezelfde bestemming was de uitvoering na 30 seconden nog niet klaar. Bij paden met veel hops die niet antwoorden, verklein je met -m het aantal te controleren hops.
De geïnstalleerde tracepath-versie controleer je met -V; op deze server was het iputils 20210202.
tracepath -Vtracepath from iputils 202102022️⃣ tracepath-uitvoer lezen
Elke uitvoerregel toont achtereenvolgens het hopnummer, het adres dat antwoordde en de rondetijd. Waar de pad-MTU verandert staat pmtu, en als heen- en terugweg een verschillend aantal hops hebben staat asymm. Dit controleer je per regel.
| Uitvoer | Betekenis |
|---|---|
| 1?: | Veld van het hopnummer — een ? staat bij een geschat nummer als het antwoord geen TTL gaf |
| [LOCALHOST] | De regel van de server zelf, voordat het pakket het netwerk op gaat |
| 0.077ms | Rondetijd tot die hop |
| pmtu 1500 | Pad-MTU (bytes) die op dat punt verandert — staat er alleen bij een wijziging |
| asymm 8 | Verschil in aantal hops tussen heen- en terugweg — volgens de officiële handleiding geen betrouwbare waarde |
| no reply | Hop die niet antwoordde op het pakket dat met die TTL is verstuurd |
| reached | Regel waarin de bestemming is bereikt |
| Too many hops | Stopt na controle tot het met -m ingestelde aantal hops |
| Resume: pmtu … hops … back … | MTU van het hele pad, aantal hops tot de bestemming en geschat aantal hops terug |
In de uitvoer voor example.com was de pmtu op de eerste regel [LOCALHOST] 9001 en die veranderde bij de eerste hop in 1500. Dat de regel met TTL 1 twee keer verschijnt met alleen een ander adres, past ook bij het voorbeeld in de officiële handleiding. Volgens de handleiding verschijnt dezelfde TTL-regel nog een keer als het eerste pakket bij de eerste hop wordt geweigerd vanwege de pad-MTU.
Is de bestemming bereikt, dan staat reached aan het eind van de regel en toont de laatste Resume-regel het aantal hops tot de bestemming. Bij versturen naar 127.0.0.1 verscheen reached na één hop en was de Resume-regel [pmtu 65535 hops 1 back 1].
tracepath -n 127.0.0.1 1: 127.0.0.1 0.047ms reached
Resume: pmtu 65535 hops 1 back 1 Een pad dat zonder reached eindigt met Too many hops kreeg binnen de met -m ingestelde hops geen antwoord van de bestemming. Ook het pad naar example.com had tot tien hops geen reached, dus bleef op de Resume-regel alleen pmtu over, zonder aantal hops.
3️⃣ tracepath-opties
tracepath heeft maar acht opties: -4, -6, -n, -b, -l, -m, -p en -V; zonder bestemming verschijnt deze lijst als gebruiksinstructie. Zonder opties zet het antwoordende adressen om in namen; bij versturen naar localhost stond localhost in het hopveld.
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] toont alleen IP-adressen zonder namen op te zoeken. Met -n voor dezelfde localhost veranderde het hopveld in het IPv6-adres ::1, en ook het pad naar example.com met -n toonde alleen adressen in het hopveld.
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 toont naam en adres samen. Met -b voor 127.0.0.1 kwam het adres tussen haakjes achter de naam: [localhost (127.0.0.1)].
tracepath -b 127.0.0.1 1: localhost (127.0.0.1) 0.050ms reached
Resume: pmtu 65535 hops 1 back 1 -m stelt het maximum aantal te controleren hops in en accepteerde waarden van 0 tot 255. Met -m 0 verschenen zonder hopregels meteen alleen Too many hops en de Resume-regel, en 256 werd geweigerd met [out of range].
tracepath -m 0 127.0.0.1 Too many hops: pmtu 65535
Resume: pmtu 65535 -l is de lengte van het eerste verstuurde pakket; standaard 65535 bytes voor IPv4 en 128000 bytes voor IPv6. Met -l 1500 voor 127.0.0.1 veranderde de pmtu op de Resume-regel van 65535 in 1500.
tracepath -l 1500 -n 127.0.0.1 1: 127.0.0.1 0.028ms reached
Resume: pmtu 1500 hops 1 back 1 -p stelt de eerste UDP-bestemmingspoort in. Met -p 33434 voor 127.0.0.1 was het resultaat hetzelfde als zonder.
| Optie | Kopiëren | Uitleg |
|---|---|---|
| -n | Alleen IP-adressen tonen, zonder namen op te zoeken | |
| -b | Naam en adres samen tonen | |
| -mhops | Maximum aantal te controleren hops instellen, standaard 30 | |
| -llengte | Lengte van het eerste pakket instellen, standaard IPv4 65535, IPv6 128000 | |
| -V | Versie tonen en afsluiten |
| Optie | Kopiëren | Uitleg |
|---|---|---|
| -4 | Stuurt alleen naar IPv4-adressen | |
| -6 | Stuurt alleen naar IPv6-adressen | |
| -pPoort | Eerste UDP-bestemmingspoort instellen |
4️⃣ Verschil tussen tracepath en traceroute
Op servers waar traceroute niet te installeren is, controleer je het pad met tracepath in plaats van traceroute. De gecontroleerde AlmaLinux 9.8-server had geen traceroute-pakket, terwijl tracepath in het pakket iputils zit en zonder aparte installatie draaide.
rpm -q traceroutepackage traceroute is not installedBij de Debian 12-server was het andersom: traceroute 2.1.2 was geïnstalleerd, maar het pakket iputils-tracepath met tracepath niet.
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+deb12u1Zoals deze twee servers laten zien, verschilt per distributie welke commando's aanwezig zijn; controleer dus eerst welke er op de verbonden server staat. tracepath heeft geen root-rechten nodig en werkt met elk account dat UDP-pakketten kan versturen. Het tracepath-bestand op de AlmaLinux 9.8-server had ook de rechten rwxr-xr-x, zonder extra capabilities.
| Onderdeel | tracepath | traceroute |
|---|---|---|
| AlmaLinux 9.8-server | Zit in het pakket iputils, draait direct | Niet geïnstalleerd |
| Debian 12-server | Pakket iputils-tracepath niet geïnstalleerd | traceroute 2.1.2 geïnstalleerd |
| Verstuurde pakketten | UDP | Standaard UDP, -I voor ICMP, -T voor TCP |
| Uitvoer per hop | Eén regel | Standaard drie keer versturen, drie tijden (te wijzigen met -q) |
| Aantal opties | Acht: -4 -6 -n -b -l -m -p -V | Meer dan 20 alleen al op het eerste --help-scherm |
Moet je het pad via ICMP of TCP bekijken of per hop meerdere keren versturen om tijden te vergelijken, dan installeer en gebruik je het commando traceroute. Op servers waar installeren lastig is of waar je ook de pad-MTU wilt zien, past tracepath.
🔲 tracepath-commandosimulator
In de simulator hieronder kun je het pad naar example.com opnieuw bekijken met alleen een ander aantal hops, of zelf -n, -b, -m en -l invoeren voor localhost en 127.0.0.1 om de verschillen te zien.
🔢 FAQ & aanbevolen content
Firewall
FirewallD installeren op Linux en de daemon instellen
Installatie en daemoninstellingen van FirewallD, dat firewallregels beheert met zones en services.
Netwerk · Instellingen
Linux netstat-commando, ifconfig-commando
De commando's netstat en ifconfig, die open poorten, verbindingsstatussen en informatie over netwerkinterfaces tonen.
Netwerk · DNS
nslookup-commando
Het commando nslookup, dat een DNS-server vraagt naar welk IP-adres een domeinnaam verwijst.
ℹ️ 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.