Co to jest Traceroute i do czego go używasz?

Korzystając z Internetu, bardzo łatwo zapomnieć, że istnieje wiele działających części i serwerów, które pomagają utrzymać przy życiu sieć WWW. Każdy wysyłany pakiet, od wiadomości na czacie po zdjęcie kota, musi przejść przez giełdy i serwery, aby dotrzeć do miejsca przeznaczenia.

Niestety nic lepiej nie przypomina o tej konfiguracji niż sytuacja, w której nie można już połączyć się z witryną internetową. Przyczyna może leżeć gdzieś po Twojej stronie, po stronie witryny lub gdzieś pomiędzy. Najlepszym sposobem, aby dowiedzieć się, gdzie leży problem, jest użycie Traceroute.

Co to jest Traceroute?

Traceroute to sposób na śledzenie trasy, jaką pokonują pakiety danych w Internecie. Każdy nowoczesny system operacyjny może prześledzić trasę.

Kiedy uruchamiasz Traceroute, mówisz mu, do której strony internetowej lub serwera chcesz prześledzić trasę. Zwykle jest to adres URL witryny, do której próbujesz dotrzeć, ale jeśli chcesz, możesz także podać mu adres IP.

Po zainicjowaniu Traceroute wysyła pakiety do ustawionego miejsca docelowego. Następnie rejestruje podróż pakietu i wysyła informacje z powrotem do komputera, który następnie pokazuje, dokąd zmierza.

Jest to bardzo przydatne, jeśli próbujesz znaleźć usterkę w sieci. Jeśli serwer lub giełda nie działa, Traceroute napotka problem i zgłosi, że coś nie działa poprawnie. Możesz następnie wykorzystać te informacje, aby lepiej zdiagnozować, co się dzieje.

Jak działa Traceroute?

Traceroute to wygodny sposób diagnozowania błędów sieciowych. Jednakże wynalazek Traceroute powstał dzięki sprytnemu exploitowi wykorzystującemu zmienną „Time-to-Live” pakietu.

Jaki jest „czas życia” pakietu?

W idealnej sytuacji, gdy komputer wysyła pakiet z jednego miejsca do drugiego, dociera tam bez żadnego problemu. Pokonuje najszybszą możliwą trasę z punktu A do punktu B, nie zacinając się ani nie zatrzymując.

Niestety sieci potrafią być kapryśne. Jeśli inżynier popełni błąd podczas konfigurowania serwera, pakiety mogą być przesyłane w nieskończonej pętli pomiędzy serwerami. A jeśli zdarza się to zbyt często, sieć może być wypełniona pakietami przesyłanymi w kółko w nieskończoność.

Inteligentne umysły stojące za pakietem danych wpadły na rozwiązanie tego problemu, zwane „czasem życia” lub „TTL”. Każdemu pakietowi, zanim zostanie wysłany w wielką niewiadomą, przypisana jest liczba większa od 0 jako wartość TTL. Jeśli ta wartość kiedykolwiek osiągnie 0, pakiet zostanie uznany za „martwy” i zniszczony.

Gdy pakiet zostanie wysłany w swoją podróż, będzie wielokrotnie zatrzymywał się na różnych serwerach. Za każdym razem, gdy dociera do serwera, odejmuje jedną wartość od wartości TTL. Zwykle ta wartość TTL jest ustawiana na liczbę, przy której pakiet ma więcej niż wystarczająco dużo czasu, aby dotrzeć do miejsca docelowego, zanim osiągnie 0. Jeśli jednak pakiet wejdzie w pętlę, TTL ostatecznie będzie się zmniejszać, aż do wygaśnięcia pakietu.

Kiedy pakiet wygasa, serwer, na którym się kończy, wysyła z powrotem do domu tak zwany komunikat „Przekroczono czas ICMP”. Zasadniczo jest to powiadomienie, że pakiet spotkał swój przedwczesny koniec, i informuje użytkownika, kiedy pakiet wygasł, co pomaga w rozwiązywaniu problemów.

Jak czas życia pakietu pozwolił na działanie Traceroute

Komunikat o przekroczeniu czasu ICMP jest kluczem do działania Traceroute. Na początek Traceroute wysyła pakiet z TTL ustawionym na 1. Oznacza to, że opuszcza Twój komputer, dociera do pierwszego serwera, odejmuje jeden od swojego TTL, zauważa, że ​​TTL wynosi 0 i wygasa.

Serwer obsługujący pakiet w tym czasie wysyła następnie komunikat ICMP Time Exceeded z powrotem do Twojego komputera PC wraz z jego lokalizacją. Następnie Twój komputer rejestruje lokalizację serwera, co stanowi pierwszy krok w kierunku celu.

Następnie wysyła pakiet z TTL ustawionym na 2, 3 i tak dalej, aż pakiet dotrze do miejsca docelowego. Każdy pakiet wygaśnie w następnym kroku, a każdy serwer po drodze zgłosi wygasły pakiet, przekazując Twojemu komputerowi informacje potrzebne do ustalenia, dokąd zmierzają Twoje pakiety.

Do czego służy Traceroute?

Na podstawowym poziomie Traceroute pozwala rzucić okiem na sposób przemieszczania się pakietów w sieci. Niezależnie od tego, czy jesteś inżynierem sieciowym i dokładnie sprawdzasz, czy wszystko działa tak, jak powinno, czy też interesuje Cię, w jaki sposób podróżują Twoje pakiety podczas odwiedzania Google, Traceroute jest właściwym wyborem.

Jednak przydaje się również do wykrywania błędów w systemie. Jeśli Traceroute spróbuje skontaktować się z serwerem, który nie odpowiada, zauważy, że wysłany pakiet nie wywołał odpowiedzi przez jakiś czas. Po upływie wystarczającego czasu Traceroute stwierdza, że ​​„Upłynął limit czasu żądania”, co oznacza, że ​​odpowiedź nie dotarła w wyznaczonym czasie.

Oczywiście żądanie, które przekroczyło limit czasu, nie zawsze oznacza, że ​​serwer nie działa; czasami serwer nie lubi żądań Traceroute i blokuje je, gdy przychodzą. Jeśli jednak masz względną pewność, że żaden serwer w sieci nie powinien blokować Traceroute, jest to dobry sposób na zdiagnozowanie witryny lub serwera, który nie odpowiada przy próbie połączenia się z nią.

Jaka jest różnica między Traceroute a Ping?

Doświadczony technicznie czytelnik zauważy, że Traceroute brzmi bardzo podobnie do innego przydatnego narzędzia sieciowego, Ping. Chociaż te dwie funkcje w pewnym stopniu się pokrywają, ludzie używają ich z różnych powodów.

Jak wspomnieliśmy powyżej, Traceroute pomaga dowiedzieć się, dokąd trafia pakiet po opuszczeniu komputera. Tymczasem Ping informuje Cię, czy Twój komputer może połączyć się z określonym serwerem i ile czasu zajmuje dotarcie na miejsce.

Jeśli więc chcesz zobaczyć każdą część łańcucha sieci, Traceroute jest tam, gdzie to możliwe. Tymczasem, jeśli chcesz tylko sprawdzić, czy serwer odpowiada, możesz go pingować. To prawda, możesz to zrobić również za pomocą Traceroute, ale będziesz musiał chwilę poczekać, aż w końcu dotrze do twojego serwera, zanim otrzymasz odpowiedź, której szukasz.

Jak wykonać trasę Traceroute

Jak powiedzieliśmy wcześniej, wszystkie główne systemy operacyjne mogą wykonywać Traceroute. Jest to tak proste, jak otwarcie terminala poleceń i wprowadzenie polecenia Traceroute.

W systemie macOS wystarczy otworzyć terminal i wpisać „traceroute”, a następnie adres URL lub adres IP miejsca docelowego. To samo dotyczy Linuksa, ale być może będziesz musiał najpierw zainstalować Traceroute, zanim będziesz mógł go uruchomić.

Uruchamianie polecenia traceroute w systemie Linux.

W systemach operacyjnych Windows działa to w ten sam sposób, z tą różnicą, że funkcja nazywa się „tracert”. Omówiliśmy polecenie Trart i inne polecenia w naszym przewodniku dotyczącym poleceń zarządzania sieciami bezprzewodowymi w systemie Windows, więc koniecznie go przeczytaj, jeśli chcesz poznać dostępne narzędzia.

Źródło zdjęcia: Michel Bakni/Wikimedia Commons

Śledzenie pakietów za pomocą Traceroute

Jeśli chcesz zobaczyć, dokąd trafiają Twoje pakiety po opuszczeniu komputera, najlepszym wyborem będzie Traceroute. Niezależnie od tego, czy chcesz zdiagnozować problem z siecią, czy po prostu ciekawi Cię, dokąd wysyłane są Twoje pakiety, łatwo je skonfigurować i obserwować przesyłanie danych.