Polecenie tracert: traceroute w Windows, na Macu i w Linuksie

Advertisement
Co to jest polecenie tracert?
Tracert (od trace route, czyli śledzenie trasy) to polecenie systemu Windows, które pokazuje drogę, jaką Twój ruch sieciowy pokonuje do innego hosta — każdy router po drodze („hop”, czyli przeskok) i czas, w jakim każdy z nich odpowiada. W macOS i Linuksie to samo narzędzie nazywa się traceroute.
Sięgnij po nie, gdy strona działa wolno lub jest nieosiągalna, a chcesz wiedzieć, gdzie leży problem: w Twojej własnej sieci, u dostawcy internetu, gdzieś pomiędzy czy po stronie celu. Ping mówi, czy host odpowiada, a tracert pokazuje trasę i miejsce, w którym się urywa.
Jak uruchomić tracert w Windows
Naciśnij Windows + R, wpisz
cmdi naciśnij Enter (albo wyszukaj Wiersz polecenia).Wpisz
tracert, a po nim nazwę domeny lub adres IP, na przykładtracert example.com, i naciśnij Enter.Poczekaj. Tracert sprawdza do 30 hopów, każdy trzykrotnie, i na każdą odpowiedź czeka do 4 sekund — śledzenie bez problemów kończy się w kilka sekund, ale pełne przekroczeń limitu czasu może potrwać kilka minut. Naciśnij Ctrl + C, aby przerwać wcześniej, albo przyspiesz je opcjami
-di-w(opisanymi niżej).
C:\> tracert example.com
Tracing route to example.com [203.0.113.10]
over a maximum of 30 hops:
1 1 ms <1 ms <1 ms 192.168.1.1
2 9 ms 8 ms 9 ms 10.20.0.1
3 12 ms 11 ms 12 ms 198.51.100.33
4 * * * Request timed out.
5 24 ms 23 ms 24 ms 203.0.113.1
6 25 ms 24 ms 24 ms 203.0.113.10
Trace complete.Każdy wiersz to jeden hop. Trzy liczby to trzy osobne pomiary, a adres po prawej to router, który odpowiedział. Hop 1 to prawie zawsze Twój własny router, a ostatni wiersz to cel. (Powyższe adresy IP to zarezerwowane adresy przeznaczone do dokumentacji.) W polskiej wersji Windows zobaczysz komunikaty „Śledzenie trasy do …”, „Upłynął limit czasu żądania.” i „Śledzenie zakończone.”
Advertisement
Opcje polecenia tracert
Składnia to tracert [options] target. Opcje, których faktycznie będziesz używać:
| Opcja | Działanie | Przykład |
|---|---|---|
| -d | Nie tłumacz adresów IP na nazwy hostów — znacznie szybciej | tracert -d example.com |
| -h max_hops | Maksymalna liczba hopów (domyślnie 30) | tracert -h 15 example.com |
| -w timeout | Czas oczekiwania na każdą odpowiedź w milisekundach (domyślnie 4000) | tracert -w 1000 example.com |
| -4 | Wymuś IPv4 | tracert -4 example.com |
| -6 | Wymuś IPv6 | tracert -6 example.com |
Opcje można dowolnie łączyć: tracert -d -w 1000 example.com daje najszybsze użyteczne śledzenie trasy. Aby zapisać wynik dla pomocy technicznej dostawcy internetu lub firmy hostingowej, przekieruj go do pliku: tracert -d example.com > trace.txt.
Jak uruchomić traceroute na Macu
Otwórz Terminal (Aplikacje › Narzędzia) i uruchom traceroute example.com. macOS domyślnie wysyła pakiety testowe UDP; dodaj -I, aby używać ICMP tak jak Windows — wtedy często odpowiadają też routery, które ignorują UDP. Przydatne opcje: -n (bez tłumaczenia adresów na nazwy), -m 30 (maksymalna liczba hopów; macOS domyślnie pozwala na maksymalnie 64), -w 2 (ile sekund czekać na każdy pakiet testowy) i -q 1 (jeden pakiet testowy na hop zamiast trzech).
traceroute -n -I example.comAdvertisement
Jak uruchomić traceroute w Linuksie
Uruchom traceroute example.com. Jeśli polecenie nie zostanie znalezione, zainstaluj je (sudo apt install traceroute w Debianie/Ubuntu, sudo dnf install traceroute w Fedorze) albo użyj polecenia tracepath, które zwykle jest preinstalowane. Traceroute w Linuksie domyślnie wysyła pakiety testowe UDP, po 3 na hop, maksymalnie do 30 hopów.
| Opcja | Działanie |
|---|---|
| -n | Pokazuj tylko adresy IP (bez zapytań DNS) |
| -I | Używaj pakietów ICMP echo (jak tracert w Windows) |
| -T | Używaj pakietów TCP SYN (domyślnie port 80) — przechodzą przez zapory, które blokują UDP/ICMP; wymaga sudo |
| -p port | Port docelowy pakietów testowych, np. -T -p 443 |
| -m max_ttl | Maksymalna liczba hopów (domyślnie 30) |
| -q n | Liczba pakietów testowych na hop (domyślnie 3) |
| -w seconds | Czas oczekiwania na każdą odpowiedź |
$ traceroute -n example.com
traceroute to example.com (203.0.113.10), 30 hops max, 60 byte packets
1 192.168.1.1 0.612 ms 0.571 ms 0.534 ms
2 10.20.0.1 8.911 ms 9.004 ms 8.872 ms
3 * * *
4 203.0.113.10 24.112 ms 23.980 ms 24.051 msAby przetestować trasę do serwera WWW dokładnie tak, jak łączą się z nim przeglądarki, śledź trasę przez port TCP 443: sudo traceroute -T -p 443 example.com.
Jak czytać wyniki tracert
Przekroczenie limitu czasu na jednym hopie w środku trasy, ale kolejne hopy odpowiadają (
*lub „Upłynął limit czasu żądania” / „Request timed out”): to normalne. Wiele routerów jest skonfigurowanych tak, aby ignorować te pakiety testowe lub ograniczać liczbę odpowiedzi. Trasa jest w porządku.Przekroczenia limitu czasu od jednego hopu aż do końca: ruch jest odrzucany na ostatnim hopie, który odpowiedział, lub za nim — często przez zaporę po stronie celu albo z powodu problemu z routingiem. Zanotuj ostatni odpowiadający hop; to z tą siecią trzeba się skontaktować.
Skok opóźnienia, który utrzymuje się na wszystkich kolejnych hopach (na przykład 10 ms → 120 ms → 121 ms → 125 ms): opóźnienie jest rzeczywiste i zaczyna się na tym hopie — często to łącze dalekosiężne lub przeciążona sieć. Skok na jednym hopie, po którym czasy znów spadają, oznacza tylko, że ten router wolno odpowiada, i można go zignorować.
„Host docelowy jest nieosiągalny” lub „Sieć docelowa jest nieosiągalna” (Destination host/net unreachable): router zgłosił, że nie zna trasy do celu — sprawdź adres albo poszukaj problemu z zaporą lub routingiem na tym hopie.
Adresy prywatne (192.168.x.x, 10.x.x.x) na pierwszych hopach: to Twój własny router i wewnętrzna sieć dostawcy internetu. Wolne czasy w tym miejscu wskazują na lokalne Wi-Fi lub modem.
Śledzenie kończy się na celu z niskimi czasami: trasa sieciowa jest w porządku, więc wolna strona to raczej problem z serwerem lub DNS — sprawdź to naszymi narzędziami Wyszukiwanie DNS i Test Szybkości DNS.
Advertisement
Jak działa tracert
Każdy pakiet IP ma licznik TTL (time to live), który każdy router zmniejsza o jeden; gdy licznik spadnie do zera, router odrzuca pakiet i odsyła komunikat ICMP „Time Exceeded” (przekroczony czas). Tracert to wykorzystuje: wysyła pakiety testowe z TTL równym 1, potem 2, potem 3 i tak dalej, dzięki czemu każdy router na trasie po kolei się ujawnia, aż w końcu odpowie cel.
Systemy operacyjne używają różnych pakietów testowych. Tracert w Windows wysyła żądania ICMP echo (te same pakiety co ping). Traceroute w macOS i Linuksie domyślnie wysyła pakiety UDP na wysokie porty. Zapory traktują je różnie, dlatego to samo śledzenie trasy może wyglądać inaczej w Windows i w Linuksie — i właśnie dlatego istnieją opcje -I i -T.
Tracert, traceroute, pathping i MTR — porównanie
| Narzędzie | Platforma | Najlepsze do |
|---|---|---|
| tracert | Windows | Szybkiego sprawdzenia trasy za pomocą pakietów ICMP |
| traceroute | macOS, Linux | Sprawdzania trasy pakietami UDP, ICMP (-I) lub TCP (-T) |
| pathping | Windows | Śledzenia trasy z pomiarem utraty pakietów na każdym hopie (ok. 25 sekund na hop) |
| mtr | macOS, Linux (a w Windows przez WinMTR) | Śledzenia trasy na żywo, stale aktualizowanego, z utratą pakietów i opóźnieniem dla każdego hopu |
| tracepath | Linux | Śledzenia trasy bez uprawnień roota z jednoczesnym wykrywaniem MTU ścieżki |
Przy problemach występujących sporadycznie pathping lub mtr sprawdzą się lepiej niż pojedynczy tracert, bo utrata pakietów, która zdarza się tylko od czasu do czasu, nie wyjdzie w trzech pakietach testowych.
Advertisement
Traceroute online
Śledzenie trasy z własnego komputera pokazuje tylko ścieżkę z Twojej sieci. Aby sprawdzić, czy strona jest osiągalna z innego miejsca — albo przetestować trasę bez terminala — uruchom nasze narzędzie Traceroute: śledzi ono trasę z serwerów DNS Robot i pokazuje każdy hop wraz z jego lokalizacją i siecią. Uzupełnij je narzędziem Ping, aby zmierzyć opóźnienie i utratę pakietów, oraz narzędziem Wyszukiwanie IP, aby sprawdzić, do kogo należy adres IP danego hopu.
Śledź trasę bez terminala
Uruchom traceroute z serwerów DNS Robot do dowolnej domeny lub adresu IP i zobacz każdy hop z jego opóźnieniem, siecią i lokalizacją.
Wypróbuj Traceroute onlineAdvertisement
Polecenie tracert — najczęstsze pytania
W Windows otwórz Wiersz polecenia i wpisz tracert, a po nim domenę lub adres IP, na przykład tracert example.com. W macOS lub Linuksie otwórz Terminal i wpisz traceroute example.com.