Traceroute is een eenvoudig netwerkhulpprogramma dat de route kan traceren die een internetpakket aflegt van de bron naar de bestemmingshost. Dit artikel laat zien hoe u Traceroute kunt gebruiken om de netwerkstatus van uw Linux te controleren en opkomende problemen te diagnosticeren.
Opmerking: Hoewel dit artikel traceroute in Linux belicht, kunt u dit hulpprogramma ook gebruiken in macOS en ramen.
Inhoud
- Hoe werkt Traceroute?
- Welke netwerkproblemen kan Traceroute oplossen?
- Traceroute gebruiken onder Linux
Hoe werkt Traceroute?
Traceroute werkt door UDP-pakketten met korte TTL-lengtes naar elke internetgateway langs het pad naar een externe host te sturen. Deze korte TTL-lengtes dwingen deze gateways vervolgens om een ICMP “TIME_EXCEEDED”-antwoord te rapporteren, samen met het IP-adres van hun interface.
Deze twee factoren gecombineerd zorgen ervoor dat traceroute een gedetailleerde lijst kan maken van machines waar uw pakket doorheen gaat als het verbinding maakt met een externe server. Als u bijvoorbeeld een traceroute naar 'google.com' in mijn netwerk uitvoert, worden er tussen de 9 en 10 gateways weergegeven voordat deze de servers van Google bereikt.
Welke netwerkproblemen kan Traceroute oplossen?
Traceroute is slechts een tool voor netwerkonderzoek en optimaliseert of repareert geen openstaande problemen in uw netwerk. Traceroute kan alleen beschrijven hoe netwerken en de pakketten die daarop reizen zich gedragen.
Desondanks is het nog steeds een belangrijk hulpmiddel voor het diagnosticeren van potentiële netwerkproblemen. Een goed voorbeeld is wanneer een lokale gateway er niet in slaagt een pakket door te sturen naar de volgende hop. Traceroute kan dit aanpakken door elke router binnen uw kernnetwerk te markeren die geen “TIME_EXCEEDED”-antwoord verzendt.
Daarnaast kunt u traceroute ook gebruiken om te controleren op latentieproblemen tussen hosts. Dit kan handig zijn als u wilt zien of uw lokale netwerk een VPN nodig heeft om een consistente lage latentie te garanderen bij het verbinden met een externe machine.
Goed om te weten: Lees meer over netwerkonderzoek door nmap gebruiken zonder sudo in Linux.
Traceroute gebruiken onder Linux
Open een nieuwe terminal en typ traceroute
gevolgd door het machineadres waarmee u uw machine wilt verbinden. Dit kan een domeinnaam of een IP-adres zijn. Bijvoorbeeld:
traceroute ubuntu.myvpsserver.top
druk op Binnenkomen om het pad naar uw externe host in kaart te brengen.
Tip: Leer hoe u uw lokale internetgateway kunt controleren door het IP-adres van uw router vinden.
Pakketten verzenden met aangepaste TTL in Traceroute
Hoewel het gebruik van traceroute op zichzelf voldoende is voor basisgebruik, kunt u ook de werking van het programma aanpassen met behulp van vlaggen. Dit kan vooral handig zijn als u een triage van uw netwerk uitvoert.
Een van de meest voorkomende aanpassingen in traceroute is het wijzigen van de hoeveelheid pakketten die naar een gateway worden verzonden. Gebruik hiervoor de -q
vlag gevolgd door het aantal pakketten dat u per verzoek wilt verzenden:
traceroute -q1 ubuntu.myvpsserver.top
Je kunt ook gebruik maken van de -N
flag gevolgd door “1” om gelijktijdige pakketverzoeken expliciet uit te schakelen. Dit is handig als u gateways heeft die UDP-pakketten met korte TTL beperken.
Ten slotte kunt u ook de standaard TTL-waarde voor traceroute wijzigen. Om dat te doen, voegt u de -f
vlag gevolgd door de TTL die u wilt voor uw eerste testpakket.
Het Traceroute-protocol wijzigen in Linux
Standaard gebruikt traceroute in Linux UDP voor het verzenden van testpakketten naar netwerkgateways. Dit kan een probleem zijn als u een gateway onderzoekt die traceroute-pakketten actief blokkeert.
Om dit op te lossen, kunt u de -T
flag om traceroute uit te voeren met behulp van eenvoudige TCP SYN-pakketten.
Aan de andere kant kunt u traceroute ook dwingen een ICMP ECHO-pakket te gebruiken als de bestemmingsgateway alleen UDP beperkt:
sudo traceroute -I myvpsserver.top
De interface en poort in Traceroute aanpassen
Traceroute ondersteunt ook aangepaste netwerkinterfaces. Hier gebruikt traceroute een andere netwerkkaart in uw machine om het pad van een pakket te onderzoeken.
Om dat te doen, voert u het programma uit met de -i
vlag gevolgd door de apparaatnaam van uw interface.
traceroute -i enp1s0 myvpsserver.top
Opmerking: U kunt de beschikbare netwerkinterfaces voor uw machine vinden door te draaien ifconfig -s | awk '{print $1}'
.
Daarnaast kun je gebruik maken van de -p
flag om het startpoortnummer op te geven dat traceroute zal gebruiken voor UDP-probing:
traceroute -p34543 myvpsserver.top
Tenslotte de -p
flag verandert ook zijn gedrag afhankelijk van het protocol dat u gebruikt. Het koppelen ervan -I
zal de -p
waarde als het initiële ICMP-volgnummer in plaats van de bestemmingspoort.
Leren hoe u Traceroute kunt gebruiken is slechts de eerste stap om te begrijpen hoe computers met elkaar communiceren via een netwerk. Lees meer over computernetwerken door het analyseren van de inhoud van een TCP-pakket met behulp van tcpdump.
Ondertussen kunt u ook meer te weten komen over de hogere OSI-lagen, zoals DNS, door met behulp van de dig-tool in Linux.
Alle wijzigingen en screenshots door Ramces Red.
Abonneer op onze nieuwsbrief!
Onze nieuwste tutorials rechtstreeks in uw inbox