Jak diagnostikovat síťové problémy v Linuxu pomocí Traceroute 13

Jak diagnostikovat síťové problémy v Linuxu pomocí Traceroute

Traceroute je jednoduchý síťový nástroj, který dokáže vysledovat trasu, kterou internetový paket vede od zdroje k cílovému hostiteli. Tento článek vám ukáže, jak můžete pomocí Traceroute zkontrolovat stav sítě Linuxu a diagnostikovat vznikající problémy.

Poznámka: I když tento článek zdůrazňuje traceroute v Linuxu, můžete tento nástroj použít také v macOS a Windows.

Jak Traceroute funguje?

Traceroute funguje tak, že posílá UDP pakety s krátkými délkami TTL do každé internetové brány podél cesty ke vzdálenému hostiteli. Tyto krátké délky TTL pak nutí tyto brány, aby hlásily ICMP odpověď „TIME_EXCEEDED“ spolu s IP adresou jejich rozhraní.

Tyto dva faktory spolu umožňují traceroute vytvořit podrobný seznam počítačů, kterými váš paket projde, když se připojí k externímu serveru. Například spuštěním traceroute na „google.com“ v mé síti se zobrazí seznam 9 až 10 bran, než se dostane na servery Google.

Terminál zobrazující základní traceroute pro google.com.

Jaké síťové problémy může Traceroute opravit?

Traceroute je pouze nástroj pro průzkum sítě a neoptimalizuje ani neopravuje žádný nevyřešený problém ve vaší síti. Traceroute může pouze popsat, jak se chovají sítě a pakety, které po nich putují.

Navzdory tomu je stále důležitým nástrojem pro diagnostiku potenciálních problémů se sítí. Dobrým příkladem je situace, kdy se místní bráně nepodaří předat paket dalšímu skoku. Traceroute to může vyřešit zvýrazněním jakéhokoli routeru ve vaší hlavní síti, který neodesílá odpověď „TIME_EXCEEDED“.

Terminál zobrazující základní traceroute, kde brány neustále nereagují na program.

Kromě toho můžete také použít traceroute ke kontrole problémů s latencí mezi hostiteli. To může být užitečné, pokud chcete zjistit, zda vaše místní síť potřebuje VPN k zajištění konzistentní nízké latence při připojování ke vzdálenému počítači.

Dobré vědět: Zjistěte více o testování sítě pomocí nmap bez sudo v Linuxu.

Použití Traceroute v Linuxu

Otevřete nový terminál a zadejte traceroute následovaná adresou stroje, ke kterému se má stroj připojit. Může to být buď název domény nebo IP adresa. Například:

traceroute ubuntu.myvpsserver.top

lis Vstupte začněte mapovat cestu k vašemu vzdálenému hostiteli.

Terminál zobrazující základní trasu k malému VPS.

Spropitné: Naučte se, jak zjistit vaši místní internetovou bránu zjištěním IP adresy vašeho routeru.

Odesílání paketů s vlastním TTL v Traceroute

Zatímco použití traceroute samo o sobě stačí pro základní použití, můžete také vyladit fungování programu pomocí příznaků. To může být užitečné zejména v případě, že provádíte třídění sítě.

Ve vztahu :  Jak pokrýt téma, o kterém nic nevíte

Jedním z nejběžnějších vylepšení v traceroute je změna množství paketů, které odesílá na bránu. Chcete-li to provést, použijte -q příznak následovaný množstvím paketů, které chcete odeslat na požadavek:

traceroute -q 1 ubuntu.myvpsserver.top

Můžete také použít -N příznak následovaný „1“ pro explicitní zakázání simultánních požadavků na pakety. To je užitečné, pokud máte brány, které omezují UDP pakety s krátkým TTL.

Terminál zobrazující traceroute se zakázanými simultánními pakety.

Nakonec můžete také upravit výchozí hodnotu TTL pro traceroute. Chcete-li to provést, přidejte -f příznak následovaný TTL, který chcete pro svůj první testovací paket.

Terminál zobrazující traceroute, kde program přeskočí první dvě brány.

Změna protokolu Traceroute v Linuxu

Ve výchozím nastavení traceroute v Linuxu používá UDP pro odesílání testovacích paketů do síťových bran. To může být problém, pokud zkoumáte bránu, která aktivně blokuje pakety traceroute.

Chcete-li to opravit, můžete použít -T příznak ke spuštění traceroute pomocí jednoduchých paketů TCP SYN.

Terminál zobrazující traceroute, kde program místo UDP používá paket TCP SYN.

Na druhou stranu můžete také přinutit traceroute k použití paketu ICMP ECHO, pokud cílová brána omezuje pouze UDP:

sudo traceroute -I myvpsserver.top

Úprava rozhraní a portu v Traceroute

Traceroute také podporuje vlastní síťová rozhraní. To je místo, kde traceroute použije jinou síťovou kartu ve vašem počítači ke zjištění cesty paketu.

Chcete-li to provést, spusťte program pomocí -i příznak následovaný názvem zařízení vašeho rozhraní.

traceroute -i enp1s0 myvpsserver.top

Poznámka: Spuštěním můžete najít dostupná síťová rozhraní pro váš počítač ifconfig -s | awk '{print $1}'.

Kromě toho můžete použít -p příznak k určení počátečního čísla portu, který bude traceroute používat pro testování UDP:

traceroute -p 34543 myvpsserver.top

Konečně, -p flag také mění své chování v závislosti na protokolu, který používáte. Spárování s -I nastaví -p hodnotu jako počáteční pořadové číslo ICMP namísto cílového portu.

Terminál zobrazující traceroute pomocí ICMP ECHO s vlastním pořadovým číslem ICMP.

Naučit se používat traceroute je jen prvním krokem k pochopení toho, jak spolu počítače komunikují přes síť. Zjistěte více o počítačové síti analýzou obsahu paketu TCP pomocí tcpdump.

Mezitím se můžete také dozvědět více o vyšších vrstvách OSI, jako je DNS, pomocí nástroje dig v Linuxu.

Všechny úpravy a snímky obrazovky od Ramces Red.

Moyens I/O Staff vás motivoval, dává vám rady ohledně technologie, osobního rozvoje, životního stylu a strategií, které vám pomohou.