Netwerkproblemen op Linux diagnosticeren met Traceroute

Admin

Traceroute Linux aanbevolen

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.

Een terminal die een eenvoudige traceroute voor google.com toont.

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.

Een terminal die een eenvoudige traceroute toont waarbij gateways voortdurend niet op het programma reageren.

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.

Een terminal die een eenvoudige traceroute naar een kleine VPS toont.

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.

Een terminal die een traceroute toont waarbij gelijktijdige pakketten zijn uitgeschakeld.

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.

Een terminal die een traceroute toont waarbij het programma de eerste twee gateways overslaat.

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.

Een terminal die een traceroute toont waarbij het programma het TCP SYN-pakket gebruikt in plaats van UDP.

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.

Een terminal die een traceroute toont met behulp van ICMP ECHO met een aangepast ICMP-volgnummer.

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

De beste open source-tools om uw Linux-server te beveiligen
De beste open source-tools om uw Linux-server te beveiligen

Hoewel Linux verschillende beveiligingsfuncties heeft om het veiliger te maken, is het niet ondoo...

Python-versies in Linux installeren en beheren
Python-versies in Linux installeren en beheren

De programmeertaal Python werd in 1991 geïntroduceerd. In al die jaren heeft het veel verandering...

Hoe Android-apps in Linux te ontwikkelen
Hoe Android-apps in Linux te ontwikkelen

Het kan intimiderend zijn als je net begint met het ontwikkelen van een app voor Android. Hier vi...