15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
09.10.2024

Jak uruchomić Traceroute w systemach Windows, Mac i Linux

A traceroute to narzędzie diagnostyczne sieci, które mapuje dokładną ścieżkę, jaką pakiety IP pokonują od Twojego komputera do docelowego hosta, rejestrując każdy pośredni router (hop) po drodze i mierząc czas podróży w obie strony (RTT) do każdego z nich. Jest to najskuteczniejsze narzędzie do izolowania, czy skok opóźnienia, utrata pakietów lub anomalia routingu pochodzi z Twojej sieci lokalnej, infrastruktury Twojego dostawcy usług internetowych, szkieletu tranzytowego, czy samego serwera docelowego.

Gdy uruchamiasz traceroute, Twój system wysyła serię pakietów sondujących z przyrostowo rosnącymi wartościami TTL (Time To Live). Każdy router, który zmniejsza TTL do zera, zwraca komunikat ICMP „Time Exceeded”, ujawniając swoją tożsamość i czas odpowiedzi. Ten mechanizm sprawia, że traceroute jest zasadniczo różny od prostego `ping` — ujawnia pełną topologię routingu, a nie tylko osiągalność end-to-end.

Jak działa Traceroute od środka

Zrozumienie podstawowych mechanizmów zapobiega błędnej interpretacji wyników — błędowi, który popełniają nawet doświadczeni administratorzy.

  • Windows (`tracert`) domyślnie wysyła pakiety ICMP Echo Request.
  • Linux i macOS (`traceroute`) domyślnie wysyłają datagramy UDP na porty o wysokich numerach (33434+), choć jest to konfigurowalne.
  • Każda sonda jest wysyłana trzy razy na hop, co daje trzy pomiary RTT na linię.
  • Router, który ogranicza przepustowość lub odrzuca ICMP/UDP, będzie wyświetlał gwiazdki (`* * *`), ale nie oznacza to koniecznie, że ścieżka za nim jest przerwana.

Ta różnica w zachowaniu między systemami operacyjnymi jest kluczowa: hop, który wydaje się nieresponsywny na Linux, może normalnie odpowiadać na Windows, po prostu dlatego, że ACL routera blokuje UDP, ale zezwala na ICMP.

Jak uruchomić Traceroute na Windows

Krok 1: Otwórz Wiersz poleceń

Naciśnij `Win + R`, wpisz `cmd` i naciśnij Enter. Alternatywnie wyszukaj Wiersz poleceń w menu Start. W środowiskach, gdzie ICMP jest ograniczone, rozważ uruchomienie jako Administrator.

Krok 2: Wykonaj polecenie

“`

tracert example.com

“`

Zastąp `example.com` docelową nazwą domeny lub adresem IP. Windows rozwiązuje nazwę hosta na adres IP przed wysłaniem pierwszej sondy.

Krok 3: Odczytaj wyniki

“`

Tracing route to example.com [93.184.216.34] over a maximum of 30 hops:

1 <1 ms <1 ms <1 ms 192.168.0.1

2 10 ms 11 ms 10 ms 10.0.0.1

3 15 ms 16 ms 15 ms isp.gateway.net [203.0.113.1]

4 * * * Request timed out.

5 22 ms 21 ms 23 ms core1.backbone.net [198.51.100.5]

“`

Kluczowe opcje `tracert` na Windows

FlagaFunkcja
`-d`Pomija odwrotne wyszukiwania DNS, znacznie przyspiesza wyniki
`-h <max_hops>`Ustawia maksymalną liczbę hopów (domyślnie: 30)
`-w <timeout>`Ustawia czas oczekiwania w milisekundach na sondę (domyślnie: 4000 ms)
`-4`Wymusza IPv4
`-6`Wymusza IPv6

Przykład z opcjami:

“`

tracert -d -h 20 -w 2000 example.com

“`

Wskazówka: Na Windows `tracert -d` to najszybszy sposób na uzyskanie wyników, gdy zależy Ci tylko na routingu na poziomie IP, a nie na nazwach hostów. Odwrotne wyszukiwania DNS mogą dodać kilka sekund na hop w przeciążonych sieciach.

Jak uruchomić Traceroute na macOS

Krok 1: Otwórz Terminal

Naciśnij `Command + Space`, wpisz Terminal i naciśnij Enter. Lub przejdź do Aplikacje > Narzędzia > Terminal.

Krok 2: Wykonaj polecenie

“`

traceroute example.com

“`

macOS jest dostarczany z `traceroute` preinstalowanym jako część zestawu narzędzi sieciowych BSD. Nie jest wymagana żadna dodatkowa instalacja.

Krok 3: Odczytaj wyniki

“`

traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets

1 192.168.0.1 (192.168.0.1) 1.206 ms 0.930 ms 0.799 ms

2 10.0.0.1 (10.0.0.1) 10.123 ms 10.456 ms 10.678 ms

3 isp.gateway.net (203.0.113.1) 15.789 ms 15.012 ms 15.234 ms

“`

Zauważ, że macOS domyślnie używa maksymalnie 64 hopów w porównaniu do 30 w Windows — ma to znaczenie przy śledzeniu ścieżek do geograficznie odległych lub złożonych miejsc docelowych w sieci.

Kluczowe opcje `traceroute` na macOS

FlagaFunkcja
`-n`Wyłącza rozwiązywanie nazw hostów, wyświetla tylko surowe adresy IP
`-q <nqueries>`Zmienia liczbę sond na hop (domyślnie: 3)
`-m <max_ttl>`Ustawia maksymalny TTL / liczbę hopów
`-w <waittime>`Limit czasu w sekundach na sondę
`-I`Używa ICMP Echo zamiast UDP (przydatne gdy UDP jest zablokowane)
`-T`Używa sond TCP SYN (wymaga uprawnień root; omija wiele zapór sieciowych)

Przykład — tryb ICMP do ominięcia filtrowania UDP:

“`

sudo traceroute -I example.com

“`

Przykład — tryb TCP SYN na porcie 80 (najbardziej przyjazny dla zapór sieciowych):

“`

sudo traceroute -T -p 80 example.com

“`

Jak uruchomić Traceroute na Linux

Krok 1: Otwórz Terminal

Naciśnij `Ctrl + Alt + T` lub znajdź terminal w programie uruchamiającym aplikacje.

Krok 2: Zainstaluj `traceroute` jeśli potrzebne

W wielu minimalnych lub serwerowych dystrybucjach Linux `traceroute` nie jest instalowany domyślnie.

Debian / Ubuntu:

“`

sudo apt-get install traceroute

“`

CentOS / RHEL / AlmaLinux / Rocky Linux:

“`

sudo yum install traceroute

“`

Fedora:

“`

sudo dnf install traceroute

“`

Arch Linux:

“`

sudo pacman -S traceroute

“`

Krok 3: Wykonaj polecenie

“`

traceroute example.com

“`

Krok 4: Odczytaj wyniki

“`

traceroute to example.com (93.184.216.34), 30 hops max, 60 byte packets

1 192.168.0.1 (192.168.0.1) 0.728 ms 0.457 ms 0.373 ms

2 10.0.0.1 (10.0.0.1) 9.862 ms 9.946 ms 10.123 ms

3 isp.gateway.net (203.0.113.1) 14.987 ms 14.123 ms 15.456 ms

“`

Kluczowe opcje `traceroute` na Linux

FlagaFunkcja
`-n`Wyłącza odwrotne rozwiązywanie DNS
`-I`Wysyła sondy ICMP Echo (wymaga uprawnień root)
`-T`Wysyła sondy TCP SYN (wymaga uprawnień root)
`-U`Wysyła sondy UDP (domyślne zachowanie)
`-p <port>`Określa port docelowy
`-m <max_ttl>`Maksymalna liczba hopów
`-q <nqueries>`Liczba sond na hop
`-A`Wyświetla numery AS (Autonomous System) obok każdego hopu

Flaga `-A` jest szczególnie przydatna do diagnozowania problemów z routingiem między AS — pokazuje, który dostawca usług internetowych lub operator sieci jest właścicielem każdego hopu, pozwalając dokładnie wskazać, gdzie przekazanie między operatorami powoduje opóźnienie.

“`

traceroute -A example.com

“`

`mtr` — Lepsza alternatywa na Linux

Do bieżącej lub interaktywnej diagnostyki `mtr` (Matt’s Traceroute) łączy `ping` i `traceroute` w stale odświeżany wyświetlacz. Jest to preferowane narzędzie wśród inżynierów sieciowych do analizy utraty pakietów w czasie rzeczywistym.

“`

sudo apt-get install mtr

mtr example.com

“`

`mtr` gromadzi statystyki w czasie, dzięki czemu sporadyczna utrata pakietów staje się widoczna — coś, czego jednorazowy `traceroute` całkowicie przeoczy.

Porównanie między platformami: tracert vs. traceroute

FunkcjaWindows (`tracert`)macOS (`traceroute`)Linux (`traceroute`)
Domyślny protokół sondyICMP Echo RequestUDPUDP
Domyślna maksymalna liczba hopów306430
Domyślna liczba sond na hop333
Rozmiar pakietu (domyślny)40 bytes52 bytes60 bytes
Tryb ICMPDomyślnyFlaga `-I` (root)Flaga `-I` (root)
Tryb TCP SYNNiedostępny natywnieFlaga `-T` (root)Flaga `-T` (root)
Wyszukiwanie numerów ASNiedostępneNiedostępneFlaga `-A`
Obsługa IPv6Flaga `-6`Polecenie `traceroute6`Flaga `-6`
Wbudowany w system operacyjnyTakTakCzęsto wymaga instalacji

Rozumienie wyników Traceroute: Techniczne omówienie

Numer hopu

Każda linia reprezentuje jeden router na ścieżce. Hop 1 to prawie zawsze Twoja brama domyślna (router domowy lub przełącznik LAN). Hop 2 to zazwyczaj pierwszy punkt agregacji Twojego dostawcy usług internetowych.

Czasy odpowiedzi (RTT)

Na hop wyświetlane są trzy wartości RTT. Zdrowe wartości zazwyczaj podążają wzorcem stopniowego wzrostu w miarę jak hopy gromadzą odległość geograficzną. Nagły skok o 50+ ms przy konkretnym hopie, który utrzymuje się przez wszystkie kolejne hopy, wskazuje na rzeczywiste wąskie gardło w tym węźle.

Interpretacja `* * *` (gwiazdek)

Gwiazdki oznaczają, że sonda przekroczyła limit czasu — router nie zwrócił odpowiedzi ICMP w oknie oczekiwania. Nie jest to automatycznie problem. Wiele routerów korporacyjnych i węzłów szkieletowych depriorytetyzuje lub po cichu odrzuca pakiety sondujące ICMP/UDP ze względów bezpieczeństwa, jednocześnie normalnie przekazując ruch. Jeśli hopy po gwiazdkach wykazują normalne RTT, ścieżka jest nienaruszona.

Wysokie opóźnienie przy jednym hopie

Jeśli hop 7 pokazuje 200 ms, ale hop 8 pokazuje 25 ms, odczyt 200 ms to prawie na pewno ograniczanie przepustowości ICMP na routerze hopu 7 — nie rzeczywiste wąskie gardło. Router przetwarza sondę z niskim priorytetem, jednocześnie przekazując rzeczywisty ruch z pełną prędkością. Zawsze oceniaj trendy opóźnień na całej ścieżce, a nie poszczególne hopy w izolacji.

Routing asymetryczny

Traceroute mapuje tylko ścieżkę w przód. Pakiety powrotne mogą podążać zupełnie inną trasą. Oznacza to, że zaobserwowany skok opóźnienia może pochodzić ze ścieżki powrotnej, a nie ze ścieżki w przód pokazanej na wynikach. Do pełnej widoczności potrzebne są narzędzia takie jak `traceroute` w obu kierunkach (ze źródła i z miejsca docelowego).

Pętle routingu

Jeśli ten sam adres IP pojawia się przy wielu kolejnych hopach, istnieje pętla routingu. Pakiety są przekazywane między dwoma routerami w nieskończoność, aż TTL wygaśnie. Jest to błąd konfiguracji i spowoduje całkowity brak łączności z tym miejscem docelowym.

Typowe scenariusze Traceroute i ich znaczenie

Scenariusz 1: Wysokie opóźnienie zaczynające się od hopu 2

Pierwszy punkt agregacji Twojego dostawcy usług internetowych jest przeciążony. Jest to poza Twoją kontrolą. Udokumentuj wyniki ze znacznikami czasu i skontaktuj się z dostawcą usług internetowych z dowodami.

Scenariusz 2: Wszystkie hopy po hopie 5 pokazują `* * *`, ale miejsce docelowe odpowiada na ping

Routery nadrzędne miejsca docelowego blokują sondy ICMP. Przełącz się na tryb TCP SYN (`-T -p 443`), aby śledzić przez zapory sieciowe.

Scenariusz 3: Skoki opóźnienia przy hopie zlokalizowanym w nieoczekiwanym kraju

Twój ruch jest kierowany międzynarodowo przed dotarciem do lokalnego miejsca docelowego — anomalia routingu BGP. Jest to powszechne przy błędnie skonfigurowanym anycast lub słabo połączonych dostawcach usług internetowych.

Scenariusz 4: Traceroute kończy się, ale strona internetowa nadal działa wolno

Wąskie gardło może być po stronie serwera: przeciążony CPU, wolna odpowiedź aplikacji lub opóźnienie bazy danych. Traceroute mierzy tylko wydajność warstwy sieciowej. Jeśli hostujesz na VPS i doświadczasz tego problemu, zbadaj wykorzystanie zasobów serwera za pomocą `top`, `htop` lub `vmstat`.

Scenariusz 5: Traceroute nigdy się nie kończy (zatrzymuje się przy konkretnym hopie w nieskończoność)

Zapora sieciowa odrzuca Twoje sondy, a miejsce docelowe jest nieosiągalne. Potwierdź za pomocą `ping` do miejsca docelowego. Jeśli ping również nie działa, host jest wyłączony lub blokuje wszystkie ICMP. Jeśli ping działa, zablokowany jest tylko protokół sondy — zmień protokół.

Traceroute do diagnostyki serwera i hostingu

Traceroute jest niezbędny przy diagnozowaniu problemów z łącznością między Twoją infrastrukturą a użytkownikami końcowymi lub między usługami. Jeśli uruchamiasz aplikacje na Serwerze Dedykowanym, traceroute z wielu geograficznie rozproszonych punktów obserwacyjnych ujawnia, czy opóźnienie jest zlokalizowane w konkretnym regionie lub u dostawcy usług internetowych.

W środowiskach hostingowych zarządzanych przez panel sterowania, śledzenie tras do adresu IP Twojego serwera po stronie klienta pomaga rozróżnić między problemem na poziomie hostingu a problemem z tranzytem sieciowym. Administratorzy używający VPS z cPanel mogą porównywać dane traceroute z dziennikami dostępu po stronie serwera, aby zbudować pełny obraz skargi dotyczącej łączności.

Przy diagnozowaniu błędów dostarczania poczty e-mail lub przekroczeń limitu czasu SMTP, uruchomienie traceroute do adresu IP Twojego serwera pocztowego jest logicznym pierwszym krokiem przed zbadaniem rekordów SPF/DKIM. Jeśli korzystasz z dedykowanej usługi Hostingu Poczty E-mail, pomaga to potwierdzić, czy problem jest na poziomie sieci czy konfiguracji.

W przypadku obciążeń wrażliwych na opóźnienia, takich jak wnioskowanie uczenia maszynowego lub potoki renderowania działające na Hostingu GPU, traceroute pomaga zweryfikować, czy ścieżka sieciowa między Twoim klientem a węzłem GPU jest optymalnie trasowana bez nieoczekiwanych hopów tranzytowych.

Zaawansowane techniki: Traceroute online i rozproszony

Traceroute z jednego punktu pokazuje tylko ścieżkę z Twojego komputera. Do kompleksowej analizy sieci:

  • Serwery Looking Glass: Wielu dostawców usług internetowych i IXP obsługuje publiczne serwery looking glass, które pozwalają uruchamiać traceroute z ich krawędzi sieci, ujawniając ścieżkę z perspektywy operatora.
  • BGP.tools / RIPE Atlas: Rozproszone platformy pomiarowe, które uruchamiają traceroute z setek globalnych punktów obserwacyjnych jednocześnie, ujawniając regionalne anomalie routingu niewidoczne z jednej lokalizacji.
  • PathPing (Windows): Wbudowane narzędzie Windows, które łączy `ping` i `tracert`, uruchamiając ciągłe sondy do każdego hopu i obliczając statystyki utraty pakietów. Uruchom za pomocą: `pathping example.com`
  • WinMTR: Graficzny odpowiednik `mtr` dla Windows, zapewniający statystyki utraty pakietów i opóźnień w czasie rzeczywistym dla każdego hopu.

Praktyczna macierz decyzyjna: Które narzędzie wybrać

SytuacjaZalecane narzędzie
Szybkie jednorazowe sprawdzenie ścieżki na Windows`tracert -d target`
Szybkie jednorazowe sprawdzenie ścieżki na Linux/macOS`traceroute -n target`
Bieżąca/w czasie rzeczywistym analiza utraty pakietów`mtr target`
Cel za zaporą sieciową blokującą ICMP/UDP`traceroute -T -p 443 target` (Linux/macOS)
Identyfikacja, który dostawca usług internetowych jest właścicielem każdego hopu`traceroute -A target` (Linux)
Diagnozowanie z wielu globalnych lokalizacjiRIPE Atlas lub BGP.tools
Statystyki ciągłej utraty pakietów na Windows`pathping target`
Porównywanie ścieżek w przód i w tyłUruchom traceroute z obu punktów końcowych

Kluczowe wnioski techniczne

  • Zawsze najpierw używaj `-n` lub `-d`, aby wyeliminować opóźnienia rozwiązywania DNS i szybciej uzyskać surowe wyniki.
  • Hop pokazujący `* * *` nie wskazuje na przerwaną ścieżkę — oceń hopy, które po nim następują.
  • Opóźnienie przy jednym pośrednim hopie to często ograniczanie przepustowości ICMP, a nie rzeczywiste wąskie gardło.
  • Zmieniaj protokoły sond (ICMP, UDP, TCP SYN), gdy napotykasz trwałe przekroczenia limitu czasu — zapory sieciowe są selektywne pod względem protokołu.
  • Używaj `mtr` zamiast `traceroute` w każdej sesji diagnostycznej dłuższej niż jednorazowe sprawdzenie.
  • Traceroute ujawnia tylko ścieżkę w przód. Routing asymetryczny wymaga analizy dwukierunkowej.
  • Flaga `-A` w Linux traceroute dodaje adnotację numeru AS, która jest niezbędna do analizy routingu z wieloma dostawcami usług internetowych.
  • Dokumentuj wyniki traceroute ze znacznikami czasu przy składaniu zgłoszeń do pomocy technicznej dostawcy usług internetowych — operatorzy wymagają tych danych do badania problemów na poziomie BGP.

Często zadawane pytania

Dlaczego traceroute pokazuje `* * *` dla niektórych hopów, ale miejsce docelowe jest nadal osiągalne?

Routery na ścieżce są skonfigurowane do odrzucania lub ograniczania przepustowości komunikatów ICMP TTL-exceeded, jednocześnie normalnie przekazując ruch. Jest to celowa polityka bezpieczeństwa i wydajności na większości routerów korporacyjnych i klasy operatorskiej. Nie wskazuje to na utratę pakietów na ścieżce danych.

Jaka jest różnica między `tracert` na Windows a `traceroute` na Linux?

Podstawowa różnica to domyślny protokół sondy: `tracert` używa ICMP Echo Requests, podczas gdy Linux/macOS `traceroute` używa datagramów UDP. Oznacza to, że wchodzą w różne interakcje z zaporami sieciowymi i ACL. Linux `traceroute` obsługuje również sondy TCP SYN i wyszukiwanie numerów AS, czego `tracert` nie robi.

Jak uruchomić traceroute przez zaporę sieciową blokującą UDP i ICMP?

Użyj trybu TCP SYN z portem, który jest prawie na pewno otwarty na celu, takim jak port 80 lub 443: `sudo traceroute -T -p 443 example.com`. Sondy TCP SYN przechodzą przez większość stanowych zapór sieciowych, ponieważ przypominają początek legalnego połączenia.

Co oznacza nagły wzrost opóźnienia w traceroute, który utrzymuje się dla wszystkich pozostałych hopów?

Trwały wzrost opóźnienia od konkretnego hopu wskazuje na rzeczywiste wąskie gardło lub przeciążone łącze w tym miejscu ścieżki. Różni się to od skoku przy jednym hopie (który zazwyczaj jest ograniczaniem przepustowości). Trwały wzrost oznacza, że cały ruch jest opóźniany w tym węźle lub na łączu bezpośrednio po nim.

Czy traceroute może diagnozować wolne działanie strony internetowej?

Traceroute diagnozuje tylko opóźnienia na poziomie sieci i problemy z routingiem. Jeśli ścieżka sieciowa wygląda dobrze, ale strona internetowa nadal działa wolno, problem jest po stronie serwera — czas przetwarzania aplikacji, opóźnienie zapytań do bazy danych lub wyczerpanie zasobów. Używaj narzędzi do monitorowania serwera razem z traceroute, aby uzyskać pełną diagnozę.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij