Zespół Szkół Technicznych w Suwałkach Pracownia Sieci Teleinformatycznych Ćwiczenie Nr 11 MONITORING SIECI KOMPUTEROWEJ Opracował Sławomir Zieliński Wersja 1.0 Suwałki 2011
Cel ćwiczenia Nabycie podstawowych umiejętności monitoringu lokalnej sieci komputerowej LAN Przygotowanie poprzedzające zajęcia 1. Na serwerze w pracowni teleinformatyki uruchomiona jest usługa translacji adresów NAT (ang. Network Address Translation). Translator adresów NAT będzie w ćwiczeniu tym użyty jako jedno z dwóch narzędzi do monitoringu sieci komputerowej. Na podstawie podręcznika [1] (patrz rozdział dotyczący adresowania IP) wyjaśnij: a. za co jest odpowiedzialna usługa translacji adresów NAT, b. przy pomocy odpowiedniego rysunku podaj przykład ilustrujący działanie usługi translacji adresów NAT, c. wyjaśnij, jaka jest zaleta stosowania usługi NAT. 2. Drugim narzędziem wykorzystanym podczas zajęć do monitoringu sieci będzie program CommView firmy Tamosoft. Jest to narzędzie przeznaczone dla ekspertów analizujących i nadzorujących sieci komputerowe. Zaleca się, aby przed zajęciami uczniowie zapoznali się z działaniem wyżej wymienionego programu, np. używając jego ewaluacyjnej wersji. W szczególności przydatne będzie samodzielne zrealizowanie przez uczniów ćwiczeń z samouczka opublikowanego na stronie firmy Tamosoft [2], gdyż znajomość wyżej wymienionego programu może pomóc uczniom w zrozumieniu sposobu funkcjonowania sieci komputerowej oraz może znacznie przyspieszyć wykonanie niniejszego ćwiczenia w pracowni. Dlatego też zaleca się wykonanie wszystkich ćwiczeń opisanych samouczku (bez konieczności ich dokumentowania w sprawozdaniu). Wymagany sprzęt i oprogramowanie serwer z odpowiednim systemem operacyjnym, np. Windows Server 2008 co najmniej dwa komputery PC z systemem Windows XP Professional lub nowszym oprogramowanie do monitoringu ruchu w sieci komputerowej (np. CommView ) wydruk samouczka [2] do programu CommView Do wykonania niniejszego ćwiczenia potrzebny będzie serwer oraz co najmniej dwa komputery. Serwer oraz komputery muszą być połączone w lokalną sieć komputerową LAN przy użyciu przełącznika (ang. switch). Zadania 3. Za uprzednią zgodą nauczyciela uruchomić ponownie serwer pracowni. Operacja ta spowoduje wyczyszczenie listy translacji adresów NAT. 4. Zmienić nazwy dwóch wskazanych przez nauczyciela komputerów na: Klient1 oraz Klient2. 2
Sprawdzić, czy komputery te poprawnie pracują w lokalnej sieci komputerowej LAN (łączą się z serwerem) oraz sprawdzić, czy komputery pracują poprawnie w rozległej sieci komputerowej WAN (np. łączą się z Internetem). W przypadku napotkania problemów działania sieci komputerowej należy zdiagnozować usterki, a następnie je usunąć. Użytecznymi narzędziami diagnostycznymi są funkcje systemowe ping oraz tracert. 5. Sprawdzić, czy komputery są dołączone do domeny serwera. Jeżeli nie, to należy je dołączyć do domeny. 6. Naszkicować schemat sieci komputerowej LAN użytej w niniejszym ćwiczeniu (serwer, przełącznik, dwa komputery). Przy symbolach urządzeń podać ich adresy IP. W przypadku serwera podać zarówno adres IP karty sieciowej wewnętrznej (LAN) jak również adres karty zewnętrznej obsługującej sieć rozległą (WAN). Użyć symboli graficznych firmy Cisco. 7. Wyjaśnij krótko, jaka jest różnica pomiędzy adresem prywatnym a adresem publicznym w usłudze translacji adresów sieciowych NAT. Wyjaśniając tę różnicę można odwołać się do rysunku wykonanego w Zadaniu 1. 8. Korzystając z translatora adresów NAT odczytaj i zapisz w sprawozdaniu: a. całkowitą liczbę translacji (mapowań) wykonanych przez serwer po jego ostatnim uruchomieniu, b. liczbę pakietów wychodzących po translacji, c. liczbę pakietów przychodzących po translacji. Jak wspomniano wyżej, na serwerze zainstalowana jest już usługa translacji adresów sieciowych NAT. Można ją odnaleźć przy użyciu menedżera serwera, rozwijając następujące foldery: Role, Usługi zasad i dostępu sieciowego, Routing i dostęp zdalny oraz IPv4, tak jak to pokazano na rys. 1. Rys. 1. Umiejscowienie translatora adresów sieciowych NAT. 3
Następnie kliknąć myszką na Translator adresów sieciowych. Spowoduje to wyświetlenie w nowym oknie podstawowych danych statystycznych translatora adresów (rys. 2). Na przykład, wyświetlona zostanie informacja o: liczbie dokonanych translacji ( Mapowania w sumie ), liczbie pakietów przychodzących do serwera ( Pakiety przychodzące po translacji ), liczbie pakietów wychodzących z serwera ( Pakiety wychodzące po translacji ). Rys. 2. Przykład danych statystycznych translatora adresów NAT. 9. W oparciu o translator adresów NAT dokonaj jak najdokładniejszej analizy dwóch dowolnie wybranych połączeń sieciowych. Przykłady ilustrujące, w jaki sposób można dokonać takich analiz, opisane są poniżej. Aby wykonać niniejsze zadanie, należy w translatorze adresów wyświetlić szczegółowe informacje translacji, czyli tzw. mapowania. W tym celu w oknie translatora adresów sieciowych prawym klawiszem myszy kliknąć na ikonę interfejsu publicznego WAN i z menu kontekstowego wybrać funkcję Pokaż mapowania. Spowoduje to wyświetlenie tabeli mapowania sesji translatora adresów sieciowych. Tabela 1 pokazuje dwa przykłady translacji adresów (mapowań). Tabela 1. Dwa przykłady translacji adresów. Nr przykładu Protokół Kierunek Adres prywatny Port prywatny Adres publiczny Port publiczny Adres zdalny Port zdalny 1 UDP Wychodzące 192.168.0.4 1 346 192.168.200.130 61 515 192.168.200.132 1 347 2 TCP Wychodzące 192.168.0.6 1 822 192.168.200.130 62 374 212.58.246.108 80 Pierwszy przykład translacji z tabeli 1 pokazuje, że komputer z sieci prywatnej o adresie 192.168.0.4 połączył się z komputerem zdalnym o adresie 192.168.200.132 za pośrednictwem bramy serwera o adresie 192.168.200.130 (adres IP karty WAN). Podczas połączenia tego oryginalny adres komputera z sieci lokalnej (192.168.0.4) został przetłumaczony w translatorze na adres publiczny 192.168.200.130. Tak więc patrząc na ten komputer z zewnątrz sieci LAN adres tego komputera nie będzie widoczny jako 192.168.0.4, lecz jako 192.168.200.130. Innymi słowy, pakiety pochodzące z tego komputera wewnątrz sieci LAN będą posiadać oryginalny adres IP tego komputera (192.168.0.4), natomiast pakiety pochodzące z tego samego komputera na zewnątrz sieci LAN będą widziane jako pakiety pochodzące z komputera o adresie publicznym 4
translatora, czyli w tym przypadku 192.168.200.130. W wyniku porównania zidentyfikowanych w translatorze adresów IP ze schematem sieci pracowni teleinformatyki stwierdzono, że pierwszy z tych komputerów to desktop PC08 podłączony siecią przewodową do serwera, natomiast drugi komputer, to laptop nauczyciela połączony siecią bezprzewodową do routera pracowni. Zgodnie z tabelą 1, w połączeniu tym komputery użyły protokół UDP (ang. User Data Protocol). Jest to prymitywny protokół, który ze względu na swoją prostotę zapewnia szybki transfer danych. Dzięki informacji zawartej w tabeli 1 nie tylko można zidentyfikować komputery, które wzięły udział w połączeniu, ale również można zidentyfikować nazwy programów na obu komputerach, które się ze sobą komunikowały. Do identyfikacji programów biorących udział w połączeniu sieciowym używa się tzw. portów. Jak widać w tabeli 1 w pierwszym przykładzie port prywatny w desktopie nosił numer 1 346. Dokładniejsza analiza systemu w desktopie pokazała, że port ten należał do programu ngctw32.exe (program obsługujący konsolę Symantec Ghost). Z kolei port użyty w laptopie posiadał numer 1 347. Analiza systemu w laptopie ujawniła, iż port ten należy do procesu ngserver.exe jest to serwer Symantec Ghost. A zatem, podsumowując, pierwsze połączenie IP pokazane w tabeli 1 jest połączeniem pomiędzy konsolą programu Symantec Ghost w desktopie PC08 a serwerem Symantec Ghost zainstalowanym na laptopie nauczyciela. W drugim przykładzie pokazanym w tabeli 1 widać, że komputer z sieci prywatnej o adresie 192.168.0.6 (desktop PC07) połączył się z komputerem zdalnym o adresie 212.58.246.108. Przy połączeniu tym oryginalny adres komputera lokalnego (192.168.0.6) został przetłumaczony w translatorze na adres 192.168.200.130. Tak więc na zewnątrz serwera adres tego komputera będzie widoczny jako 192.168.200.130 (Na zewnątrz Szkoły komputer będzie widoczny jeszcze pod innym adresem, gdyż pakiety wychodzące z desktopa przechodzą nie tylko przez serwer pracowni teleinformatyki, lecz dodatkowo przez serwer ZST w Sali 13. Na serwerze ZST jest również uruchomiony translator NAT, co powoduje dwukrotne tłumaczenie adresu komputera przed opuszczeniem Szkoły). Połączenie to zostało nawiązane przy pomocy protokołu TCP. W odróżnieniu od protokołu UDP, protokół TCP zapewnia większą wiarygodność przesyłanych danych, zachowanie kolejności przesyłanych pakietów i unikanie powielania pakietów. Jak wspomniano wyżej, adres IP komputera zdalnego to 212.58.246.108. Używając jednego z narzędzi sieciowych dostępnych w Internecie (patrz Załącznik), zidentyfikowano ten komputer jako serwer wiadomości BBC News. Dzięki informacjom o portach prywatnym i zdalnym (1 822 oraz 80) można dokonać próby identyfikacji programów biorących udział w powyższym połączeniu. Analiza systemu w desktopie PC07 ujawniła, że port 1 822 należał do programu firefox.exe (przeglądarka internetowa). Analiza systemu w zdalnym komputerze nie była możliwa ze względów praktycznych, jednak zwyczajowo port nr 80 jest przyporządkowywany w protokole TCP do serwerów obsługujących protokół http. Tak więc, podsumowując, przykład nr 2 z tabeli 1 ilustruje połączenie przeglądarki internetowej Firefox w desktopie PC07 z serwerem obsługującym protokół http dla serwisu BBC News. Do wykonania niniejszego zadania potrzebna jest umiejętność analizy połączeń sieciowych w systemie operacyjnym komputera przy pomocy funkcji netstat oraz umiejętność identyfikowania nazwy programu komputerowego na podstawie numeru jego procesu. Dodatkowo, potrzebna jest umiejętność zdalnego identyfikowania hosta na podstawie jego adresu IP. Przykłady ilustrujące użycie powyższych funkcji zamieszczono w Załączniku. 5
10. Uruchomić program do monitoringu sieci CommView. Program ten jest już zainstalowany na serwerze. Wykonać eksperyment polegający na przechwyceniu pakietów IP przez około 20 sekund używając do tego celu wpierw interfejsu sieciowego obsługującego sieć lokalną LAN, a następnie interfejsu sieciowego obsługującego sieć rozległą WAN. Zapisać w sprawozdaniu główną różnicę w uzyskanych rezultatach. Na tej podstawie zapisać, który z interfejsów należy użyć w dalszej części ćwiczenia do przechwytywania pakietów IP tak, aby móc rozróżnić w przechwyconych danych adresy komputerów z sieci lokalnej LAN. 11. W programie CommView ustawić alarm powiadamiający administratora sieci o tym, że ktoś połączył się z serwerem używając funkcji ping i jednocześnie informujący o adresie IP komputera, z którego to uczyniono. Zademonstrować system nauczycielowi. 12. Programy do monitoringu sieci komputerowej są w stanie przechwycić i przeanalizować wszystkie pakiety rejestrowane przez wybrany interfejs sieciowy. Jednak duża ilość przechwyconych pakietów jest bardzo trudna do przeanalizowania. Dlatego też programy te umożliwiają wybiórcze przechwytywanie lub wybiórcze wyświetlanie przechwytywanych pakietów, na podstawie kryterium zdefiniowanego przez administratora sieci. Na przykład, w przypadku, gdy administrator chce przeanalizować dane dotyczące komputera o określonym adresie IP, może on zdefiniować kryterium, dzięki któremu program do monitoringu sieci przechwyci jedynie pakiety zawierające dany adres IP. W ten sposób ilość przechwyconych i wyświetlonych danych będzie zawężona jedynie do pakietów przychodzących lub wychodzących z danego komputera. W programie CommView zastosować filtr, dzięki któremu program będzie wyświetlał wyłącznie pakiety wychodzące lub przychodzące do dowolnie wybranego komputera sieci lokalnej. Zademonstrować system nauczycielowi. 13. Korzystając z przeglądarki internetowej jednego z komputerów podłączonych do sieci lokalnej, otworzyć stronę www.wikipedia.org. W tym czasie używając programu CommView dokonać przechwycenia danych przesyłanych siecią. Na podstawie przechwyconych danych zidentyfikować i zapisać w sprawozdaniu: a. adres IP lokalnego komputera użytego do otwarcia strony Wikipedii, b. adresy IP serwerów obsługujących strony Wikipedii. Wskazówki opisujące sposób realizacji niniejszego zadania oraz zadań kolejnych opisane są szczegółowo w samouczku dołączonym do programu CommView. Samouczek ten nosi tytuł CommView Tutorial Packet Sniffing is Fun!. Jego kopia jest dołączona do zestawu laboratoryjnego. Kopia elektroniczna może być uzyskana pod adresem wskazanym w literaturze dołączonej do niniejszego ćwiczenia [2]. 14. Na podstawie przechwyconych danych podać w sprawozdaniu adres fizyczny MAC interfejsu sieciowego komputera lokalnego użytego do otwarcia strony Wikipedii, 15. Na podstawie wcześniej przechwyconych danych dokonać w programie CommView rekonstrukcji otwartej przez użytkownika strony Wikipedii (tekst, zdjęcia, grafika). Zademonstrować wykonanie tego zadania nauczycielowi. 6
16. Na dwóch komputerach sieci lokalnej skonfigurować po jednym kliencie poczty elektronicznej (np. MS Outlook). Każdy z klientów powinien obsługiwać inny adres email. Skonfigurować programy klienckie poczty w ten sposób, aby wykorzystywały protokoły pop3, smpt lub imap. Sprawdzić działanie systemu poprzez przesłanie poczty elektronicznej z jednego komputera do drugiego. W sprawozdaniu zapisać nazwę wybranego protokołu do przesłania poczty oraz jego konfigurację. 17. Przy użyciu programu CommView dokonać przechwycenia danych z obu z komputerów podczas wysyłania poczty elektronicznej. Następnie, na podstawie przechwyconych danych, odczytać hasło poczty elektronicznej używanej na obu komputerach. Zademonstrować wykonanie tego ćwiczenia nauczycielowi. 18. Na komputerze testowym zainstalować darmowy klient transferu plików ftp (np. FileZilla). Program ten należ ściągnąć z Internetu przestrzegając przy tym legalności licencji ściąganego oprogramowania. Przetestować działanie klienta ściągając darmowe i legalnie udostępnione pliki, zwracając szczególną uwagę na legalność wszelkich działań (np. ściągnąć wybrane pliki z portalu: http://www.freebsd.org/doc/handbook/mirrors-ftp.html ). Podać w sprawozdaniu nazwę zainstalowanego klienta ftp. 19. W programie CommView ustawić alarm powiadamiający administratora sieci o tym, że ktoś z użytkowników sieci lokalnej ściąga z Internetu plik używając protokołu ftp. Wyświetlany komunikat powinien zawierać adres IP komputera, którego użyto do ściągania plików. Zademonstrować system nauczycielowi. 20. Uruchomić na nowo program do monitoringu i analizy ruchu w sieci i dokonać przechwycenia przesyłanych danych w sieci. W tym czasie używając komputerów sieci lokalnej wykonać następujące czynności: a. wymienić korespondencję elektroniczną pomiędzy komputerami (np. wysłać i odebrać kilka emaili), b. przeczytać opis przetwornika analogowo-cyfrowego na stronach Wikipedii, c. sprawdzić najnowsze wiadomości na portalu http://www.bbc.co.uk/news/, d. przez około minutę posłuchać Programu Trzeciego Polskiego Radia, e. przy pomocy przeglądarki internetowej odwiedzić jedną ze stron wykorzystujących połączenie bezpieczne (szyfrowane) (np. https://www.ipko.pl/), f. ściągnąć z Internetu lub z lokalnego komputera plik używając nowo zainstalowanego klienta ftp (przestrzegając legalności niniejszego działania i jego spójności z regulaminem pracowni), g. sprawdzić połączenie pomiędzy komputerem testowym a serwerem ZST używając funkcji ping. Wewnętrzny adres IP serwera ZST to 192.168.100.1. Korzystając z przechwyconych danych, dokonać statystycznego porównania liczby przechwyconych pakietów protokołów IP. W tym wybrać opcję View, następnie Packets oraz opcję IP Protocols. W sprawozdaniu zamieścić tabelę zawierającą następujące zestawienie: nazwę protokołu IP (np. TCP, UDP, ICMP) liczbę przechwyconych pakietów danego protokołu IP warstwę modelu OSI, do której należy dany pakiet. 7
Następnie, dokonać bardziej dogłębnego porównania liczby przechwyconych pakietów protokołów IP analizując pod-protokoły IP. W tym przypadku wybrać opcję IP Sub-Protocols zamiast opcji IP Protocols. W sprawozdaniu zamieścić kolejną tabelę zawierającą tym razem następujące zestawienie: nazwę pod-protokołu IP (np. http, ftp, pop3) liczbę przechwyconych pakietów danego pod-protokołu IP warstwę modelu OSI, do której należy dany pakiet. 21. Na podstawie danych przechwyconych w zadaniu poprzednim wykreśl w sprawozdaniu strukturę logiczną używanej sieci komputerowej. W tym celu skorzystaj z opcji View, Matrix, a następnie By MAC lub By IP. 22. Używając programu CommView opisać w szczegółach dwa dowolnie wybrane połączenia sieciowe w sposób, jak to zaprezentowano w Zadaniu 9. Opracowanie Pisemne sprawozdanie dokumentujące wykonanie powyższych zadań należy przekazać nauczycielowi na zakończenie zajęć. Załącznik Funkcja netstat Funkcja netstat służy do wyświetlania i analizowania połączeń sieciowych danego komputera. Najczęściej jest ona używana z opcjami -aon, tzn jako: netstat -aon Opcja -a jest powoduje wyświetlenie wszystkich aktywnych połączeń, opcja -o powoduje wyświetlania numerów procesów związanych z poszczególnymi połączeniami, natomiast opcja -n używana jest w celu numerycznego wyświetlenia nazw portów użytych przez poszczególne połączenia. Przykładowo, użycie funkcji netstat -aon na jednym z komputerów pracowni teleinformatyki spowodowało wyświetlenie, między innymi, następujących wyników: Protokół Adres lokalny Obcy adres Stan PID UDP 0.0.0.0:1346 *.* 1668 Oznacza to, iż port 1346 używany jest przez proces o numerze identyfikacyjnym 1668. Aby zidentyfikować nazwę tego procesu, należy użyć funkcji tasklist opisanej poniżej. 8
Funkcja tasklist Jak wspomniano wyżej funkcja tasklist może być użyta do zidentyfikowania nazwy programu na podstawie numeru identyfikacyjnego procesu PID. W przykładzie opisanym powyżej pokazano, że port 1346 używany był przez proces o numerze 1668. Aby stwierdzić, jaka jest nazwa tego procesu należy użyć następującej komendy: tasklist findstr 1668 W wyniku działania powyższej funkcji wyświetlany został następujący komunikat: ngctw32.exe 1668 Console 0 5 140 KB Oznacza to, że proces o numerze 1668 jest używany przez program ngctw32.exe. Używając przeglądarki Internetowej można znaleźć opis, do czego służy zidentyfikowany program. W tym przypadku jest to konsola klienta programu Symantec Ghost służącego do wspomagania administrowania komputerami. Tak więc używając funkcji netstat w połączeniu z funkcją tasklist można, jak to zademonstrowano powyżej, zidentyfikować jaki program używany jest na wybranym komputerze przez dane połączenie sieciowe. Identyfikacja hosta Aby dokonać identyfikacji zdalnego komputera na podstawie jego adresu IP można użyć jedno z darmowych narzędzi powszechnie dostępnych w Internecie, na przykład narzędzia o nazwie SmartWhois [3]. W uprzednio omówionym przykładzie nr 2 w Tabeli 1 adres komputera zdalnego miał postać: 212.58.246.108. Wpisując adres ten w narzędziu SmartWhois otrzymuje się wynik przedstawiony na rys 3. 9
Rys. 3 Przykład działania narzędzia SmartWhois [3]. Oznacza to, że komputer o adresie 212.58.246.108 należy do korporacji BBC i mieści się w Kingswood Warren w Wielkiej Brytanii. (Administratorem komputera jest Brandon Butterworth, którego miejsce pracy mieści się w Londynie na ulicy 56 Wood Lane). Literatura [1] K. Pytel, S. Osetek: Systemy operacyjne i sieci komputerowe. WSiP, Warszawa 2010. [2] Tamosoft: CommView Tutorial Packet Sniffing is Fun! http://www.tamos.com/docs/cv_tutorial.pdf, data dostępu 2010. [3] Narzędzie internetowe Smart Whois, http://www.all-nettools.com/toolbox/smart-whois.php, data dostępu 2011. 10