Traceroute — lub tracert, jeśli żyjesz w świecie Windows — jest, obok ping, jednym z najczęściej używanych narzędzi do rozwiązywania problemów z siecią. Jak sama nazwa wskazuje, traceroute będzie śledzić trasę z jednego komputera lub urządzenia podłączonego do sieci do drugiego. Jest to bardzo przydatne narzędzie, które nie tylko przetestuje łączność z hostem, ale także ujawni wiele o ścieżce do tego miejsca i niektórych problemach, które mogą go nękać. Chociaż traceroute jest świetnym narzędziem, jest również dość ograniczonym narzędziem i nie robi nic poza śledzeniem tras. Z drugiej strony, Nmap, inne dobrze znane narzędzie - choć nie tak bardzo - pochodzące ze świata Linuksa, zapewnia sposób na śledzenie trasy do hosta, ale oferuje również wiele dodatkowych funkcji. W rzeczywistości głównymi zastosowaniami Nmapa są wykrywanie sieci i skanowanie portów. Dzisiaj przyjrzymy się używaniu Nmapa do traceroute.
Zanim przejdziemy do faktycznego wyjaśnienia, jak używać Nmapa do traceroute, zaczniemy od wprowadzenia narzędzia traceroute. Wiedza o tym, co to jest, ale co ważniejsze, jak to działa, pomoże ci lepiej zrozumieć, w jaki sposób Nmap wykonuje tego samego rodzaju zadania. Następnie krótko przedstawimy narzędzie Nmap, omawiając, czym jest, skąd pochodzi i do czego może być używane. Prześledzimy to, omawiając, jak używać Nmapa do traceroute i wyjaśniając, w jaki sposób Nmap faktycznie wykonuje śledzenie. Zobaczysz, że jest to radykalnie odmienne od podejścia traceroute. Na koniec przyjrzymy się pokrótce innym narzędziom, których możesz użyć do śledzenia trasy między dwoma urządzeniami. Jak zobaczysz, dostępnych jest wiele opcji.
O Traceroute
Definicja traceroute z Wikipedii jest bardzo jasna: „Traceroute to narzędzie diagnostyczne sieci komputerowej do wyświetlania trasy (ścieżki) i mierzenia opóźnień tranzytu pakietów w sieci protokołu internetowego (IP)”. Choć ten opis jest dobry, nie podaje zbyt wielu szczegółów na temat tego, czym jest konkretnie i jak działa. Wyjaśnijmy. Traceroute poinformuje Cię o adresie IP każdego routera znajdującego się między Twoim komputerem a komputerem zdalnym. Ale to nie wszystko, traceroute będzie również raportować o opóźnieniu sieci między każdym z tych routerów.
Traceroute to bardzo stare narzędzie. Pierwsza wersja została wydana w 1987 roku. To ponad 30 lat temu; wieczność w latach komputerowych. Jest to również bardzo powszechne narzędzie. Po raz pierwszy wprowadzony w systemie operacyjnym Unix, jest teraz obecny w każdym systemie operacyjnym podobnym do Uniksa, w tym w systemie Linux i Mac OS. W końcu został nawet przeniesiony na platformę Windows, gdzie zmieniono jego nazwę na tracert z powodu oryginalnego limitu 8 znaków w nazwach plików w systemie Windows.
Traceroute to narzędzie, które każdy administrator sieci powinien zrozumieć i używać. Niestety, wielu użytkowników nie do końca rozumie, jak to działa i dlatego może napotkać pewne pułapki tego narzędzia. Na przykład ścieżka może być asymetryczna z ruchem w przypadku wybrania innej trasy niż ruch wychodzący, a narzędzie jej nie zobaczy.
Operacja Traceroute
Najpierw kilka warunków wstępnych. Internet — lub jakakolwiek sieć IP, jeśli o to chodzi — składa się z połączonych routerów. Routery rozmawiają ze sobą, wymieniając informacje o tym, do jakich sieci wiedzą, jak dotrzeć. Wykorzystują te informacje do tworzenia tablic routingu. Za każdym razem, gdy pakiet danych dociera do routera, wyszukuje miejsce docelowe w swojej tablicy routingu i przesyła go do następnego routera na ścieżce. Router wie tylko o następnym routerze i nie ma pojęcia o pełnej ścieżce. Nie musi.
Aby ograniczyć opóźnienia propagacji spowodowane nadmiernymi przeskokami routingu, nagłówek każdego pakietu danych zawiera pole danych zwane TTL lub Time To Live. To naprawdę myląca nazwa, ponieważ wartość TTL nie ma nic wspólnego z czasem, ale raczej z odległością. Gdy pakiet opuszcza swój punkt początkowy, TTL jest ustawiany na 32. Od tego momentu każdy router obsługujący go na ścieżce do miejsca docelowego zmniejsza TTL o jeden przed trasowaniem pakietu. Gdy wartość TTL osiągnie zero, router nie skieruje pakietu i zamiast tego zwróci komunikat ICMP „Przekroczono czas” z powrotem do źródła pakietu.
Traceroute wykorzystuje ten system wykrywania i raportowania błędów, aby wykonać swój wyczyn. Traceroute najpierw wyśle pakiet do miejsca docelowego z TTL ustawionym na 1. Pierwszy router na ścieżce zmniejszy TTL i zwróci komunikat o przekroczeniu czasu, umożliwiając traceroute na poznanie adresu IP tego pierwszego routera lub przeskoku, jak to się często nazywa. Traceroute wyśle następnie kolejny pakiet z TTL ustawionym na 2 i dowie się o drugim przeskoku. I będzie to robił, zwiększając TTL za każdym razem, aż w końcu otrzyma odpowiedź z miejsca docelowego, informującą, że została osiągnięta.
Traceroute zazwyczaj mierzy również czas potrzebny na otrzymanie każdej kolejnej odpowiedzi, umożliwiając zbudowanie tabeli czasu odpowiedzi dla każdego przeskoku. Często wykonuje również wyszukiwanie DNS adresu IP każdego przeskoku, aby wyświetlić nazwę FQDN każdego hosta zamiast tylko jego adresów IP w wynikach.
Niedociągnięcia Traceroute
W przypadku poprzedniego wyjaśnienia zorientowałeś się, że ze względu na sposób działania traceroute wskaże ci tylko drogę do celu. Nie ma jednak możliwości odkrycia drogi powrotnej. To może stanowić problem, zwłaszcza w sytuacjach, gdy droga powrotna jest w jakiś sposób opóźniona. Traceroute mierzy czas potrzebny na otrzymanie każdej odpowiedzi, ale nie ma możliwości sprawdzenia, czy wystąpiły jakiekolwiek opóźnienia w drodze do miejsca docelowego lub w drodze powrotnej, co potencjalnie zapewnia mylące wyniki.
Istnieje również potencjalny problem z miejscami docelowymi, które mają zrównoważone obciążenie na kilku hostach. Nic nie gwarantuje użytkownikowi traceroute, że każdy kolejny pakiet jest wysyłany do tego samego hosta o zrównoważonym obciążeniu. A jeśli dwa hosty znajdują się w różnych lokalizacjach, może to prowadzić do niedokładnych wyników.
Wreszcie, z oczywistych względów bezpieczeństwa, niektóre routery są skonfigurowane tak, aby nie odpowiadały na żądania używane przez traceroute. To nie zatrzyma działania traceroute, a narzędzie po prostu zignoruje te przeskoki i zgłosi je jako nieosiągalne. Jednak niektóre bardziej zaawansowane narzędzia — takie jak Nmap — mogą wykorzystywać różne typy pakietów do wykrywania ścieżek, zmniejszając w ten sposób ryzyko braku odpowiedzi na przeskoki.
Przedstawiamy Nmap
Nmap, co oznacza „Network Mapper”, to bezpłatne narzędzie typu open source do eksploracji sieci i audytu bezpieczeństwa. Został zaprojektowany do szybkiego skanowania dużych sieci, ale działa równie dobrze na pojedynczych hostach. Nmap wykorzystuje surowe pakiety IP w nowatorski sposób, aby określić, które hosty są dostępne w sieci, jakie usługi (nazwa i wersja aplikacji) te hosty oferują, jakie systemy operacyjne (i wersje OS) działają, jaki typ filtrów pakietów/zapory ogniowej są w użyciu i dziesiątki innych cech. Nmap jest używany głównie do audytów bezpieczeństwa, ale wielu administratorów systemów i sieci używa go do rutynowych zadań, takich jak inwentaryzacja sieci, zarządzanie harmonogramami aktualizacji usług oraz monitorowanie czasu pracy hosta lub usługi.
Oto przegląd wszystkiego, do czego Nmap może być użyty:
- Odkrywanie hosta
- Wykrywanie portów / wyliczanie
- Wykrywanie usług
- Wykrywanie wersji systemu operacyjnego
- Wykrywanie adresu sprzętowego (MAC)
- Wykrywanie wersji usługi
- Wykrywanie podatności/eksploitów przy użyciu skryptów Nmap (NSE)
- Wykrywanie ścieżki sieciowej (traceroute)
Nmap został stworzony przez Gordona Lyona (AKA Fiodor Vaskovich) i pierwotnie rozpowszechniany na licencji GNU Public License (GPL). Niezadowoleni z niektórych warunków licencji, autorzy w końcu dodali do niej wyjaśnienia i konkretne interpretacje, w których uznali, że GPL jest niejasna lub jej brak.
Używanie Nmapa do Traceroute
Używanie Nmapa do wykonywania traceroute jest bardzo łatwe. Wystarczy dodać do polecenia opcję –traceroute. Na przykład:
nmap 64.13.134.52 --traceroute
Opcja –traceroute może być używana razem z większością typów skanowań Nmapa, z wyjątkiem skanowań połączonych (-sT) i skanowań bezczynności (-sI). Śledzenie jest wykonywane po skanowaniu z wykorzystaniem informacji zebranych z wyników skanowania w celu określenia portu i protokołu, który z największym prawdopodobieństwem dotrze do celu. Wszystkie ślady wykorzystują dynamiczny model taktowania Nmapa i są wykonywane równolegle.
W przeciwieństwie do oryginalnego narzędzia traceroute opisanego powyżej, traceroute Nmapa zaczyna się od wysokiego czasu TTL, a następnie zmniejsza go aż do zera. Robienie tego wstecz (w porównaniu z traceroute) pozwala Nmapowi na zastosowanie sprytnych algorytmów buforowania w celu przyspieszenia śledzenia na wielu hostach. Średnio Nmap wysyła od 5 do 10 pakietów mniej na host, w zależności od warunków sieciowych.
Kilka innych narzędzi Traceroute, które możesz chcieć wypróbować
Traceroute (lub tracert) i Nmap nie są jedynymi narzędziami, których możesz użyć do śledzenia ścieżek sieciowych. W rzeczywistości wiele narzędzi jest dostępnych u różnych dostawców. Niektórzy twierdzą, że robią to szybciej, niektórzy odniosą sukces tam, gdzie inni zawodzą, używając do tego różnych portów i typów pakietów. Przyjrzyjmy się kilku najlepszym narzędziom traceroute, jakie mogliśmy znaleźć. Da ci wyobrażenie o tym, co jest dostępne.
Ostatnie dwa narzędzia na naszej liście to narzędzia online. Zasadniczo wykonują ten sam rodzaj testu, co każdy traceroute, ale robią to ze źródła w Internecie. Większość takich usług pozwala wybrać miejsce pochodzenia, a najlepsze oferują opcje w wielu krajach. Ich głównym zastosowaniem jest określenie, w jaki sposób użytkownicy witryny docierają do Twojej witryny.
1. Traceroute NG firmy SolarWinds (DARMOWE POBRANIE)
SolarWinds to dobrze znana nazwa w dziedzinie narzędzi do zarządzania siecią. Firma tworzy jedne z najlepszych narzędzi do monitorowania, zaczynając od swojego flagowego produktu, Network Performance Monitor , kompletnego rozwiązania do monitorowania sieci. SolarWinds ma również solidną reputację w zakresie tworzenia świetnych bezpłatnych narzędzi, które odpowiadają na specyficzne potrzeby administratorów sieci. Traceroute NG jest jednym z takich narzędzi.
Traceroute NG wykorzystuje technologię SolarWinds Netpath , aby oferować ciągłe śledzenie TCP i ICMP. Twierdzi, że jest szybszy niż inne narzędzia traceroute i zwraca wyniki w ciągu zaledwie kilku sekund. Oczywiście zależy to głównie od sieci.
Ale Traceroute NG nie tylko poprawia prędkość traceroute. Zwraca również trochę więcej informacji, dając głębszy wgląd w sytuację. Dla każdego przeskoku narzędzie użyje polecenia ping do zwrócenia procentu utraty pakietów, bieżącego i średniego czasu odpowiedzi oraz wykresu słupkowego opóźnienia. Co ważne, Traceroute NG użyje odwrotnego wyszukiwania DNS, aby znaleźć i wyświetlić w pełni kwalifikowaną nazwę domeny (FQDN) każdego przeskoku.
Kolejną wspaniałą cechą Traceroute NG jest automatyczne wykrywanie zmian ścieżki. Jeśli istnieje wiele ścieżek do danego hosta, narzędzie to rozwiąże i wyświetli każdą ścieżkę indywidualnie. Jest to bardzo przydatne podczas rozwiązywania problemów ze środowiskami o zrównoważonym obciążeniu. Narzędzie pozwoli również wybrać wykonanie testu przy użyciu pakietów TCP lub ICMP. Może to być przydatne, jeśli jakieś urządzenie na ścieżce blokuje na przykład ICMP. I wreszcie, to narzędzie zapisze wyniki swojego testu w pliku dziennika .txt.
Traceroute NG działa tylko w systemie Windows, ale zwodniczo nie jest to prawdziwa aplikacja Windows. Chociaż działa w systemie operacyjnym Windows i jest wyświetlany w oknie, jest to głównie narzędzie tekstowe. Ale z drugiej strony, czy GUI zwiększy użyteczność narzędzia? Prawdopodobnie nie.
Narzędzie, które jest pobierane jako plik .zip nie wymaga instalacji, ale opiera się na Winpcap, który należy zainstalować, jeśli nie jest jeszcze obecny na Twoim komputerze. Traceroute NG wykryje jednak jego brak podczas uruchamiania i automatycznie uruchomi instalator Winpcap, który jest zawarty w pliku .zip.
2. Otwórz wizualne Traceroute
Jeśli szukasz prawdziwego narzędzia traceroute opartego na graficznym interfejsie użytkownika, Open Visual Traceroute może być właśnie tym, czego potrzebujesz. Narzędzie, które jest dostępne dla Windows, większości odmian Linuksa lub Mac OS, jest po prostu niesamowite. Aby było jeszcze lepiej, narzędzie jest bezpłatne i open-source, wydane na licencji LGPL V3.
Głównym składnikiem tego oprogramowania jest Visual Traceroute per se. Jest to wizualne narzędzie oparte na graficznym interfejsie użytkownika, które pozwala zobaczyć na mapie świata 3D - lub 2D, jeśli wolisz - jaką ścieżkę obierają dane, aby przejść z twojego komputera do docelowego hosta. Mapę można dowolnie powiększać i przewijać, zapewniając dowolny poziom szczegółowości.
Open Visual Traceroute zawiera również kilka dodatkowych narzędzi, dzięki czemu jest jeszcze bardziej użytecznym produktem. Po pierwsze, istnieje „sniffer pakietów”. Nie jest to jednak sniffer pakietów, taki jak Wireshark. Jego celem jest wyłącznie umożliwienie ci zobaczenia, jakie dane są przesyłane tam iz powrotem z systemu lokalnego do Internetu. Istnieje również funkcja Whois, która pobiera informacje o nazwach domen z Internetu.
3. MTR (Mój Traceroute)
MTR został po raz pierwszy opracowany przez kogoś o imieniu Mike, a akronim oznaczał Mike's Traceroute . Ktoś inny przejął i zmienił nazwę na My Traceroute, ale to wciąż ten sam produkt. Oprogramowanie istnieje od 1997 roku. Jeśli jego długowieczność świadczy o jego jakości, powinno to być całkiem dobre narzędzie.
I to jest. Funkcjonalnie jest prawie identyczny – a przynajmniej bardzo podobny – do opisanego powyżej Traceroute NG . Główne różnice między nimi polegają na tym, że podczas gdy pierwszy jest aplikacją Windows, MTR działa w systemie Linux i może być używany z GUI lub z wiersza poleceń.
Konkretnie, MTR łączy funkcjonalność traceroute i ping w jednym narzędziu do diagnostyki sieci. Po uruchomieniu oprogramowanie najpierw działa dokładnie tak, jak traceroute, aby poznać ścieżkę sieciową do określonego hosta. Gdy już zna ścieżkę, narzędzie może pójść trochę dalej. Wyśle sekwencję żądań ICMP ECHO do każdego przeskoku, aby zmierzyć jakość łącza do każdego routera. A gdy to robi, wyświetla zmierzone statystyki na ekranie. W rzeczywistości wypisuje go na standardowe wyjście, co oznacza, że można go przekierować do pliku.
4. Narzędzie Monitis Online Visual Trace Route Tool (narzędzie online)
Monitis to firma TeamViewer , która tworzy dobrze znaną platformę do monitorowania wydajności witryny. Wirtualna usługa w chmurze pozwoli Ci monitorować Twoje strony internetowe, serwery, aplikacje i nie tylko w dowolnym czasie i z dowolnego miejsca. Z blisko ćwierć miliona użytkowników jest to dość popularna platforma.
Podobnie jak wielu innych dostawców, Monitis ma kilka bezpłatnych narzędzi dostępnych na swojej stronie internetowej. Online wizualne Trace Route , pomimo nietypowej pisowni, jest dokładnie to, co mówi jest. Prześledzi trasę między serwerem Monitis a hostem, który określisz i wykreśli ją na mapie świata. Niestety wyświetlanie mapy rzadko obejmuje wszystkie przeskoki. Jest to normalne, ponieważ narzędzie nie będzie w stanie zlokalizować wszystkich przeskoków, a niektóre hos w ogóle nie będą odpowiadać. I dotyczy to każdego takiego narzędzia, nie tylko tego.
Jeśli przewiniesz ekran w dół, zobaczysz, że narzędzie przedstawia również informacje w formie tabelarycznej, podobnie jak robią to tradycyjne narzędzia traceroute. Możesz również zauważyć, że u góry tabeli znajdują się trzy zakładki oznaczone jako Stany Zjednoczone, Europa i Azja/Pacyfik. Można by pomyśleć, że kliknięcie karty uruchamia test z innego źródła zlokalizowanego w tych trzech obszarach geograficznych, ale patrząc na wyniki, wydaje się, że tak nie jest. Zarówno tabela, jak i wyświetlanie mapy zmieniają się z jednej zakładki na drugą, ale nie byłem w stanie rozgryźć, jak one działają.
5. G-Suite.Tools Visual Traceroute (narzędzie online)
Nie daj się zwieść jego nazwie, G-Suite.Tools nie jest w żaden sposób powiązany z Google. Serwis proponuje garść przydatnych narzędzi sieciowych i internetowych. Wśród nich jest narzędzie do wizualnego śledzenia trasy. Korzystanie z niego jest dość proste. Wystarczy wpisać adres IP lub FQDN i kliknąć przycisk TRACE. Wkrótce niewielka mapa na stronie wizualnie wyświetli ścieżkę do określonego hosta.
Podobnie jak większość innych podobnych narzędzi, dostępny jest stół. Pokazuje adres IP i FQDN (jeśli można je rozwiązać), a także skumulowany czas podróży w obie strony do każdego przeskoku. Jedną z rzeczy, które szczególnie podobało nam się w tym narzędziu – i jest ono szczególnie odpowiednie dla nowicjuszy – jest bogactwo informacji o procesie traceroute, które można znaleźć na stronie.
Gdy tam jesteś, G-Suite.Tools ma kilka innych narzędzi, których możesz chcieć użyć. Każdy z nich jest łatwo dostępny z menu wstążki u góry strony. Jest DNS Lookup, Whois lookup, ping, mój adres IP, lokalizacja adresu IP oraz narzędzie do weryfikacji działania adresów e-mail.