Traceroute to proste narzędzie sieciowe, które może śledzić trasę pakietu internetowego od źródła do hosta docelowego. W tym artykule dowiesz się, jak używać Traceroute do sprawdzania stanu sieci systemu Linux i diagnozowania pojawiających się problemów.
Notatka: Chociaż w tym artykule omówiono funkcję Traroute w systemie Linux, tego narzędzia można także używać w systemach macOS i Okna.
Treść
- Jak działa Traceroute?
- Jakie problemy z siecią może rozwiązać Traceroute?
- Korzystanie z Traceroute w systemie Linux
Jak działa Traceroute?
Traceroute działa poprzez wysyłanie pakietów UDP o krótkich długościach TTL do każdej bramy internetowej na ścieżce do zdalnego hosta. Te krótkie długości TTL zmuszają te bramy do zgłaszania odpowiedzi ICMP „TIME_EXCEEDED” wraz z adresem IP interfejsu.
Połączenie tych dwóch czynników umożliwia programowi traceroute utworzenie szczegółowej listy komputerów, przez które przejdzie pakiet podczas łączenia się z serwerem zewnętrznym. Na przykład uruchomienie trasy trasowanej do „google.com” w mojej sieci spowoduje wyświetlenie od 9 do 10 bram, zanim dotrze ona do serwerów Google.
Jakie problemy z siecią może rozwiązać Traceroute?
Traceroute to tylko narzędzie do badania sieci, które nie optymalizuje ani nie rozwiązuje żadnych nierozstrzygniętych problemów w sieci. Traceroute może jedynie opisywać zachowanie sieci i pakietów, które nimi podróżują.
Mimo to nadal jest ważnym narzędziem do diagnozowania potencjalnych problemów z siecią. Dobrym przykładem jest sytuacja, gdy brama lokalna nie przekazuje pakietu do następnego przeskoku. Traceroute może rozwiązać ten problem, podświetlając dowolny router w sieci szkieletowej, który nie wysyła odpowiedzi „TIME_EXCEEDED”.
Poza tym możesz także użyć funkcji Traroute do sprawdzenia problemów z opóźnieniami między hostami. Może to być pomocne, jeśli chcesz sprawdzić, czy Twoja sieć lokalna potrzebuje VPN, aby zapewnić stałe niskie opóźnienia podczas łączenia się ze zdalnym komputerem.
Dobrze wiedzieć: Dowiedz się więcej o sondowaniu sieci przez używając nmap bez sudo w Linuksie.
Korzystanie z Traceroute w systemie Linux
Otwórz nowy terminal i wpisz traceroute
po którym następuje adres komputera, z którym chcesz się połączyć. Może to być nazwa domeny lub adres IP. Na przykład:
traceroute ubuntu.myvpsserver.top
Naciskać Wchodzić aby rozpocząć mapowanie ścieżki do zdalnego hosta.
Wskazówka: Dowiedz się, jak sprawdzić lokalną bramę internetową za pomocą znalezienie adresu IP routera.
Wysyłanie pakietów z niestandardowym TTL w Traceroute
Chociaż do podstawowego użytku wystarczy sam program traceroute, możesz także dostosować sposób działania programu, używając flag. Może to być pomocne, zwłaszcza jeśli przeprowadzasz selekcję sieci.
Jedną z najczęstszych poprawek w programie Traroute jest zmiana ilości pakietów wysyłanych do bramy. Aby to zrobić, użyj -q
flaga, po której następuje liczba pakietów, które chcesz wysłać w ramach jednego żądania:
traceroute -q1 ubuntu.myvpsserver.top
Możesz także skorzystać z -N
flaga, po której następuje „1”, aby wyraźnie wyłączyć jednoczesne żądania pakietów. Jest to przydatne, jeśli masz bramy ograniczające szybkość pakietów UDP z krótkim TTL.
Na koniec możesz także zmodyfikować domyślną wartość TTL dla traceroute. Aby to zrobić, dodaj -f
flaga, po której następuje TTL, który chcesz dla swojego pierwszego pakietu sondującego.
Zmiana protokołu Traceroute w systemie Linux
Domyślnie traceroute w systemie Linux używa protokołu UDP do wysyłania pakietów sondujących do bram sieciowych. Może to stanowić problem, jeśli sondujesz bramę, która aktywnie blokuje pakiety traceroute.
Aby to naprawić, możesz użyć -T
flagę, aby uruchomić funkcję Traroute przy użyciu prostych pakietów TCP SYN.
Z drugiej strony możesz także wymusić na Traroute użycie pakietu ICMP ECHO, jeśli brama docelowa ogranicza tylko UDP:
sudo traceroute -I myvpsserver.top
Modyfikowanie interfejsu i portu w Traceroute
Traceroute obsługuje również niestandardowe interfejsy sieciowe. W tym miejscu traceroute użyje innej karty sieciowej w twoim komputerze do sprawdzenia ścieżki pakietu.
Aby to zrobić, uruchom program z rozszerzeniem -i
flaga, po której następuje nazwa urządzenia interfejsu.
traceroute -i enp1s0 myvpsserver.top
Notatka: Możesz znaleźć dostępne interfejsy sieciowe dla swojego komputera, uruchamiając ifconfig -s | awk '{print $1}'
.
Poza tym możesz skorzystać z -p
flaga określająca początkowy numer portu, który będzie używany przez program Traroute do sondowania UDP:
traceroute -p34543 myvpsserver.top
Wreszcie, -p
flag zmienia również swoje zachowanie w zależności od używanego protokołu. Łączenie tego z -I
ustawi -p
wartość jako początkowy numer sekwencyjny ICMP zamiast portu docelowego.
Nauka korzystania z narzędzia Traroute to dopiero pierwszy krok w zrozumieniu, w jaki sposób komputery komunikują się ze sobą w sieci. Dowiedz się więcej o sieciach komputerowych według analizowanie zawartości pakietu TCP za pomocą tcpdump.
Tymczasem możesz także dowiedzieć się więcej o wyższych warstwach OSI, takich jak DNS, poprzez za pomocą narzędzia Dig w systemie Linux.
Wszystkie zmiany i zrzuty ekranu wykonał Ramces Red.
Zapisz się do naszego newslettera!
Nasze najnowsze samouczki dostarczane bezpośrednio do Twojej skrzynki odbiorczej