VisualRoute 4.0

Którędy do Yahoo?

Dopóki wszystko w sieci działa prawidłowo, zwykłego użytkownika Internetu zazwyczaj nie interesuje, którędy biegną wysyłane przez niego pakiety danych, zanim dotrą do miejsca przeznaczenia. Zaczyna to być ważne w momencie, gdy coś działać przestaje - wówczas możliwość sprawdzenia, w którym miejscu sieci występuje problem, byłaby pożądana.

Do analizy drogi pakietów w sieci tradycyjnie wykorzystywane jest narzędzie o nazwie traceroute (w Windows "tracert"). Jednak właściwe zinterpretowanie wypisywanych przez ten program wyników (zob. obok) nie jest proste i wymaga pewnego poziomu technicznej wiedzy o budowie sieci. Ponadto traceroute informuje nas jedynie o adresach poszczególnych komputerów (routerów), przez które przechodzą pakiety, nie mówiąc nic o ich fizycznej lokalizacji. Jeżeli na którymś z węzłów połączenie się urywa, ustalenie, gdzie się on znajduje i do kogo należy, wymaga użycia jeszcze innych, zwykle równie niełatwych w użyciu narzędzi - np. whois (zob. dalej).

Opracowany przez firmę Datametrics program VisualRoute stanowi w tej dziedzinie zupełnie nową jakość. VisualRoute to łatwe w użyciu, zintegrowane narzędzie, potrafiące "wydobyć" z sieci wszelkie możliwe informacje na temat drogi, jaką wędrują pakiety, i przedstawić je w czytelnej dla użytkownika formie. W porównaniu ze zwykłym traceroute to jak, nie przymierzając, Microsoft Word przy maszynie do pisania.

Dla każdego kolejnego komputera na trasie przesyłania danych VisualRoute podaje nie tylko jego adres i czas przebiegu pakietów, jak zwykły traceroute - wyświetloną mamy także nazwę operatora sieci, do której należy dany węzeł, a także - co chyba najciekawsze - jego geograficzną lokalizację! W oparciu o tę ostatnią VisualRoute rysuje także trasę przebiegu pakietów na mapce świata! Słowo "visual" w nazwie programu jest zatem naprawdę uzasadnione - możemy naocznie zobaczyć drogę, jaką przebywają po świecie nasze dane (rys.1).

Osoby niezbyt zaznajomione z technicznymi szczegółami funkcjonowania Internetu zapewne zadziwia fakt, w jaki sposób VisualRoute ustala te dane. Stosowane jest tu połączenie kilku metod, z których podstawową jest korzystanie z baz WHOIS. WHOIS jest usługą internetową służącą do ustalania "właściciela" danego adresu IP lub domenowego. Instytucje przydzielające adresy IP - a są to ARIN (American Registry for Internet Numbers, http://www.arin.net/) dla Ameryki, RIPE (Reseaux IP Europeen, http://www.ripe.net/) dla Europy oraz APNIC (Asia and Pacific Network Information Center, http://www.apnic.net/) dla obszaru Azji i Pacyfiku - prowadzą publicznie dostępne bazy danych, w których przechowywana jest informacja o wszystkich przydzielonych przez daną instytucję klasach adresowych. Mając dany dowolny adres IP możemy na podstawie baz WHOIS ustalić, kto jest jego posiadaczem - a przynajmniej komu został on przydzielony bezpośrednio przez ARIN, RIPE lub APNIC. Instytucje te bowiem zwykle nie przydzielają adresów użytkownikom końcowym, lecz operatorom sieci, którzy dopiero w dalszej kolejności przydzielają je swoim klientom - nie zawsze przy tym zgłaszając do bazy WHOIS fakt zmiany przynależności danego adresu. Tak więc często zdarza się, że wpis w bazie wskazuje nie na właściwego użytkownika danego adresu, lecz na jego providera Internetu (aczkolwiek są providerzy - tacy jak np. Telekomunikacja Polska SA - którzy skrupulatnie odnotowują w bazie wszystkie adresy przydzielone swoim klientom).

Początkowo odczytywanie informacji z baz WHOIS możliwe było jedynie za pomocą niezbyt wygodnego klienta pracującego w środowisku unixowym, o nazwie "whois" (jakże by inaczej?), a nieco później także przy użyciu formularzy dostępnych na stronach WWW wspomnianych instytucji. Program VisualRoute zawiera wbudowany mechanizm przeszukiwania wszystkich trzech baz WHOIS i ustalania na tej podstawie właściciela danego adresu - informacja ta wyświetlana jest w ostatniej kolumnie widocznej na rysunku tabeli. To jednak nie wszystko: klikając myszką na dowolną pozycję w tej kolumnie, można odczytać pełną treść wpisu w bazie dotyczącego danej sieci, jak to widać na rys.2.

Bazy WHOIS prowadzone są także przez instytucje rejestrujące adresy domenowe, dzięki czemu również na podstawie adresu domenowego można ustalić jego właściciela. VisualRoute pozwala na skorzystanie z tych baz w sposób analogiczny, jak z baz dotyczących adresów IP: wystarczy kliknąć na adres domenowy komputera wyświetlony w czwartej kolumnie tabeli, aby z odpowiedniej bazy WHOIS odczytane zostały informacje o danej domenie. Niestety, nie wszystkie instytucje rejestrujące domeny prowadzą bazy WHOIS: godzien potępienia jest np. fakt, że do tej pory takiej bazy nie utworzył NASK. Jesteśmy zatem w stanie ustalić właściciela dowolnej domeny .com, .net czy .org, korzystając z bazy WHOIS InterNIC-u, natomiast dla domeny .pl jest to niemożliwe!

Nieco bardziej złożony, niż określenie właściciela danego komputera, jest sposób ustalania przez program miejsca jego fizycznego położenia. Program opiera się tutaj na informacjach aż z czterech źródeł.

Po pierwsze, sprawdza, czy informacja o położeniu geograficznym (w postaci długości i szerokości geograficznej) jest wpisana w DNS-ie wraz z nazwą domenową i adresem IP komputera (specyfikacja DNS uwzględnia taką możliwość - są to tzw. rekordy DNS LOC, w czasach ARPANET-u popularnie zwane "adresem dla pocisku"). Wiele serwerów, zwłaszcza większych i bardziej znanych w sieci, ma wpisaną w DNS-ie taką informację - jeżeli jest ona obecna, VisualRoute potrafi z niej skorzystać (opcja ta - nie wiedzieć czemu - nie jest jednak włączona domyślnie, trzeba ją sobie samemu włączyć w konfiguracji programu). Jak można zobaczyć na rys.1, wpis DNS LOC posiada m.in. Yahoo!, dzięki czemu możliwe jest dokładne ustalenie położenia tego serwera.

Po drugie, program dysponuje własną bazą danych, zawierającą informacje o lokalizacji wszystkich głównych routerów większości sieci szkieletowych na świecie - jeżeli dany adres zostanie znaleziony w tej bazie, położenie danego węzła sieci podawane jest w postaci nazwy miasta i kraju (miłą niespodzianką jest fakt, że w bazie tej uwzględniona jest także polska sieć POL34 - nie ma natomiast sieci NASK-u i TPSA).

Jeżeli żaden z tych dwu sposobów nie dostarcza autorytatywnej informacji o położeniu komputera, program ucieka się do zgadywania. Bada najpierw, czy w adresie domenowym komputera występuje nazwa jednego ze znanych programowi miast - jeżeli tak, uznaje, że komputer znajduje się w tym mieście. Przykładowo, wszystkie komputery o adresie kończącym się na .krakow.pl są rozpoznawane jako znajdujące się w Krakowie. Jeżeli i ta próba nie przyniesie efektu, program próbuje ustalić położenie komputera na podstawie wpisanego w bazie WHOIS adresu siedziby firmy, będącej jego właścicielem. W tym przypadku jednak program traktuje tak ustaloną lokalizację jako niepewną (wyświetlana jest ona w kolorze purpurowym zamiast w czarnym), jako że firma - np. provider Internetu - może mieć siedzibę w jednym mieście, a dysponować węzłami sieci rozsianymi po całym kraju. Jeżeli i na podstawie WHOIS nie da się ustalić bliższego położenia komputera, program ogranicza się jedynie do podania kraju, w którym przypuszczalnie się on znajduje. Informację o tym, którego sposobu program użył do ustalenia lokalizacji danego adresu, można uzyskać klikając na dowolną pozycję w kolumnie zawierającej informacje o położeniu - podobnie jak w przypadku nazwy operatora sieci czy adresu domenowego przywołuje się informacje z bazy WHOIS.

Istnieje możliwość samodzielnego dodawania do bazy programu wpisów określających lokalizację komputerów, których położenia program nie zna, choć jest to nieco skomplikowane. Producent zachęca, aby takie dodane przez siebie informacje przesyłać pod jego adresem, co pozwoli na ich włączenie do standardowej bazy w kolejnych wersjach programu.

Ta funkcja geograficznej lokalizacji komputerów czyni z programu VisualRoute narzędzie przydatne nie tylko w sytuacji problemów z łącznością, ale także wtedy, gdy z jakiegokolwiek powodu chcemy się dowiedzieć, gdzie właściwie znajduje się serwer o nic nie mówiącej nazwie www.najlepszafirma.com, bądź po prostu ciekawi nas struktura sieci i droga, jaką wędrują w niej pakiety (a można się dowiedzieć istotnie ciekawych rzeczy - np. na rys.2 widzimy, jak pakiety z Polski do Czech wędrują przez Niemcy, Anglię i Holandię - co i tak jest jedną z krótszych dróg, gdyż od abonentów sieci TPSA trasa prowadzi zwykle przez USA...)

Wróćmy jednak do zastosowań diagnostycznych. Jako że interpretowanie informacji podawanych przez "klasyczny" traceroute wymaga pewnego doświadczenia, VisualRoute zastępuje nas w tej czynności, podając u góry ekranu, powyżej tabeli zawierającej informacje o poszczególnych węzłach sieci, słowną analizę zbadanego połączenia. W przypadku problemów z łącznością, program wskazuje miejsce, w którym zaczynają "ginąć" pakiety (węzły "gubiące" pakiety wyświetlane są w tabeli na czerwono). Zupełnie już "nadprogramowo" program sprawdza, czy na komputerze, do którego drogę analizowaliśmy, działa serwer WWW, a jeżeli tak - podaje, jaki to serwer.

Bardzo ciekawą funkcją programu jest wykrywanie firewalli. Obecnie w wielu firmach podłączonych do Internetu stosuje się zabezpieczenia typu firewall, które blokują przesyłanie pakietów diagnostycznych protokołu ICMP, używanych przez takie usługi sieciowe, jak ping czy traceroute. Przy użyciu klasycznego traceroute sytuacja taka wygląda analogicznie, jak gdyby z interesującym nas komputerem w ogóle nie było łączności (zob. przykład) - obu tych przypadków nie da się odróżnić bez wykorzystania innych narzędzi.

VisualRoute ucieka się w takich przypadkach do tzw. skanowania portów (nota bene, metody często wykorzystywanej również przez hackerów szukających dróg włamania się na dany serwer). Najpierw program sprawdza, czy możliwe jest połączenie z portem 80 docelowego komputera, tzn. czy działa na nim serwer WWW. Jeżeli nie, próbuje nawiązać po kolei łączność z innymi portami, na których obsługiwane są typowe usługi internetowe: e-mail, telnet, FTP, news, DNS, gopher itp. Jeżeli z którymkolwiek z tych portów uda się połączyć, wiadomo, że docelowy komputer "żyje", a po drodze mamy do czynienia z firewallem. Dopiero gdy żaden port nie odpowie, program uznaje badany komputer za nieosiągalny w sieci (por. obydwie analizy na rys.3).

Program VisualRoute pracuje w środowisku Windows 95 lub NT. Ponieważ napisany jest częściowo w Javie, wymaga do pracy zainstalowanej maszyny wirtualnej Javy - producent podaje, iż najprościej to uzyskać instalując Microsoft Internet Explorera w wersji 4.01 lub wyższej (jeżeli jednak ktoś bardzo nie chce, można wykorzystać oryginalny pakiet Java Development Kit firmy Sun). Niestety, program nie jest napisany w Javie w całości, co nie pozwala na uruchomienie go w innych systemach operacyjnych, niemniej jednak wersje dla innych systemów są przygotowywane - aktualnie firma rozpoczyna beta testy wersji dla systemu Solaris.

Możemy natomiast skorzystać z VisualRoute na komputerach pracujących w innych systemach dzięki możliwości uruchomienia programu w trybie serwerowym. Po włączeniu tego trybu program działa jako mały serwer WWW, udostępniający jedną stronę, zawierającą aplet Javy o możliwościach podobnych do "pełnego" programu VisualRoute. Z apletu tego można już korzystać z dowolnego komputera, za pomocą dowolnej przeglądarki WWW obsługującej Javę. W ten sposób można np. skorzystać z programu udostępnianego na serwerze producenta, aby prześledzić drogę pakietów z USA do Polski (rys.4).

Aplet wykorzystywany w trybie serwerowym ma jednak pewne ograniczenia: przede wszystkim, niedostępna jest opisywana wyżej możliwość uzyskiwania dodatkowych informacji o sieciach, domenach itp. z baz WHOIS poprzez klikanie odpowiednich pozycji w tabeli. Dostępny jest też ograniczony zakres map: o ile przy "normalnym" sposobie pracy z programem możemy oglądać trasę pakietów nie tylko na mapie świata, ale także na mapach poszczególnych kontynentów bądź ich części (por. rys.2), czy nawet pojedynczych państw, o tyle w trybie serwerowym dostępna jest tylko mapa świata, w dwu możliwych skalach powiększenia.

30-dniowa wersja próbna programu dostępna jest do "ściągnięcia" pod adresem http://www.visualroute.com/, gdzie można też znaleźć wszelkie dokładniejsze informacje na jego temat. Za używanie programu po upływie owych 30 dni trzeba zapłacić 29 USD, zaś licencja pozwalająca na pracę programu w trybie serwerowym kosztuje minimum 495 USD.


Jarosław Rafa 1999. Tekst udostępniony na licencji Creative Commons (uznanie autorstwa - użycie niekomercyjne - bez utworów zależnych). Kliknij tutaj, aby dowiedzieć się, co to oznacza i co możesz z tym tekstem zrobić. W razie jakichkolwiek wątpliwości licencyjnych bądź w celu uzyskania zgody na rozpowszechnianie wykraczające poza warunki licencji proszę o kontakt e-mailem: raj@ap.krakow.pl.

Wersja HTML opracowana 27.10.99.


Powrót do wykazu artykułów o Internecie Statystyka