instrukcja - Politechnika Warszawska
Transkrypt
instrukcja - Politechnika Warszawska
Politechnika Warszawska Wydział Elektryczny Laboratorium Teletechniki Skrypt do ćwiczenia T.30 Analiza sieci Wi-Fi za pomocą analizatora protokołów Spis treści: 1.Wstęp .........................................................................................................................................3 2. Przeznaczenie analizatorów sieciowych w sieciach bezprzewodowych..................................4 2.1 Analizatory sieci 802.11 .....................................................................................................6 2.1.1 Komercyjne analizatory sieci ......................................................................................6 2.2 Metody wykrywania sieci przez analizatory ......................................................................7 3. Oprogramowanie do analizy sieci – analizator sieci 802.11 – CommView for WiFi..............8 3.1 Wstęp ..................................................................................................................................8 3.2 Instalacja sterownika dla bezprzewodowej karty sieciowej. ..............................................8 3.3 Główne okno programu ......................................................................................................9 3.4 Menu Scanner ...................................................................................................................12 3.5 Menu Nodes......................................................................................................................14 3.6 Menu Channels .................................................................................................................15 3.7 Menu Latest IP Connections ............................................................................................17 3.8 Menu Packets....................................................................................................................19 3.9 Menu Rules.......................................................................................................................20 3.9.1 Filtr Protocols ............................................................................................................21 3.9.2 Filtr Mac Addresses...................................................................................................22 3.9.3 Filtr IP Addresses ......................................................................................................23 3.9.3 Menu Ports.................................................................................................................23 3.9.4 Filtr Text ...................................................................................................................24 3.9.5 Filtr TCP Flags ..........................................................................................................25 3.9.6 Menu Advanced Rules ..............................................................................................26 3.9.7 Alarms .......................................................................................................................29 3.9.8 WEP/WPA Keys .......................................................................................................31 3.9.9 Menu Reconstructing TCP Sessions .........................................................................32 1.Wstęp Analiza działania sieci komputerowych to jedno z ważniejszych zadań, które stoi na porządku dziennym przed administratorami sieci. Oprócz sprawdzania konfiguracji urządzeń aktywnych, równie ważne jest analizowania ruchu generowanego przez stacje klienckie i serwery. Nieocenionym wręcz narzędziem staje się wtedy analizator sieci (zwane również snifferami), z reguły jest to oprogramowanie, działające na stacji PC wraz z dedykowanym interfejsem sieciowym. Proste analizatory potrafią dekodować tylko niektóre warstwy modelu ISO/OSI (są to z reguły warstwy 1-3) bardziej skomplikowane potrafią dekodować wszystkie warstwy modelu, począwszy od warstwy aplikacji a na warstwie fizycznej kończąc. Główne cechy które cechują dobry analizator to: możliwość obsłużenia różnych technologii sieciowych (LAN, WAN), szybkość analizowania i przetwarzania pakietów, możliwość dekodowania dużej ilości protokołów sieciowych i aplikacyjnych (POP3, SMTP, HTTP), łatwy i przyjazny interfejs użytkownika. W poniższym skrypcie zostanie przedstawione oprogramowanie firmy TamoSoft, o nazwie CommView for Wi-fi. Jest to sniffer, który w połączeniu z dedykowaną kartą bezprzewodową, potrafi zdekodować wszystkie warstwy modelu ISO, szczególny zaś nacisk położono na dekodowania warstw pierwszej i drugiej, gdzie z punktu widzenia działania sieci bezprzewodowych można znaleźć najwięcej informacji. 2. Przeznaczenie analizatorów sieciowych w sieciach bezprzewodowych Mimo wspólnego dziedzictwa protokół 802.11 nie jest Ethernetem. Protokół ten ma wiele dodatkowych funkcji, z których każda może powodować problemy. Rozwiązywanie problemów sieci 802.11 często wymaga, żeby administrator zszedł na najniższy poziom szczegółów protokołów i zobaczył, co dzieje się na falach radiowych. Analizatory sieci ze swoją możliwością prezentowania szczegółów sieci przewodowych na najniższym poziomie od dawna są traktowane jako użyteczny składnik zestawu narzędzi administratora sieci. Analizatory sieci bezprzewodowych będą tak samo pożyteczne, a być może nawet ważniejsze. W sieciach 802.11 wiele rzeczy może zawieść, a dobry analizator jest niezbędnym narzędziem, które szybko wskaże właściwą przyczynę problemów. Unikanie problemów zaczyna się już w fazie planowania sieci. Niektóre analizatory przedstawiają szczegółowe statystyki natężenia sygnału radiowego, co może być pomocne w znalezieniu miejsca do instalacji punktu dostępu. Analizatory mogą pomóc administratorom w uniknięciu tworzenia stref martwych, bo upewniają ich, że granice różnych obszarów BSS zachodzą na siebie na tyle, by umożliwić na swobodne przejścia między nimi. W miarę, jak sieci bezprzewodowe zdobywają popularność, muszą obsługiwać coraz to większą liczbę użytkowników. Aby uniknąć problemów z wydajnością sieci, administratorzy w celu zwiększenia przepustowości na danym obszarze mogą rozważyć zmniejszenie obszarów pokrycia punktów dostępu. Wykorzystując w tym procesie analizator sieci, administratorzy mogą jeszcze raz przejść przez dużą część procesu planowania sieci. Prędzej czy później, wobec ograniczonej szybkości bitowej sieci bezprzewodowych, ich wydajność staje się problemem. Problemy wydajności mogą być spowodowane stłoczeniem zbyt dużej liczby użytkowników w małej liczbie punktów dostępu lub mogą wynikać ze zjawisk zachodzących w warstwie radiowej. Twórcy standardu 802.11 zdawali sobie sprawę z problemów powstających w medium radiowym, dzięki temu transmisje ramek w sieci bezprzewodowej zachodzą niezawodnie. Na przykład większość implementacji w obecności interferencji nadaje ramki za pomocą prostszych (i wolniejszych) metod kodowania oraz dokonuje podziału ramek na mniejsze. Interferencje mają wielki wpływ na wydajność sieci 802.11. Poza bezpośrednim efektem uszkadzania przesyłanych ramek, co powoduje konieczność ponownego ich nadawania, interferencje mają jeszcze pośredni wpływ na wydajność sieci. Słaba jakość transmisji może spowodować, że stacja w poszukiwaniu bardziej wiarygodnego łącza radiowego przechodzi na nadawanie z mniejszą prędkością bitową. Nawet gdy nadawanie na mniejszych prędkościach przebiega już pomyślnie, przy niższych prędkościach bitowych tracony jest jakiś stopień przepustowości sieci. W obliczu interferencji stacje sieci 802.11 mogą przystąpić do fragmentowania nadawanych ramek, co powoduje zmniejszenie udziału danych w całej transmisji. W porównaniu z innymi protokołami sieci LAN, nagłówki protokołów 802.11 są dość duże, wobec czego fragmentacja powoduje zwiększenie ilość informacji nadawanych w nagłówkach przy niezmienionej ilości nadawanych danych. W wielu sieciach zastosowano tylko kilka aplikacji. Czy narzekania na wydajność sieci oznaczają ogólny problem z siecią, czy szczególny problem z konkretną aplikacją? Analizatory sieci pomagają w znalezieniu przyczyny problemu przez badanie rozkładu wielkości pakietów. Duża liczba małych pakietów może wskazywać na intensywne stosowanie fragmentacji przez interfejs sieciowy. Niektóre analizatory potrafią przedstawić rozkład ramek nadawanych z różnymi prędkościami. Sieci 802.11b mogą nadawać ramki z prędkościami bitowymi wynoszącymi 11 Mb/s, ale w przypadku interferencji mogą też nadawać ramki z mniejszymi prędkościami (5,5 Mb/s, 2 Mb/s, a nawet 1 Mb/s). To, że stacje, które mogą nadawać z dużymi prędkościami, nadają z małymi, może oznaczać, że są poddane dużej ilości interferencji. Żeby rozwiązać problemy z interferencjami, można zmienić położenie punktu dostępu lub jego anteny albo umieścić nowy punkt dostępu w obszarze słabego pokrycia siecią. Zamiast czekać na reakcję użytkowników na wprowadzone zmiany, za pomocą analizatora sieci można szybko stwierdzić, czy zmiany te łagodzą problemy. Niektóre analizatory tworzą wyczerpujące raporty o stanie jakości sygnału radiowego odbieranych ramek, dzięki którym można już za pierwszym razem lepiej rozmieścić urządzenia sieci bezprzewodowej. Użytkownicy są bardziej zadowoleni i szanują administratora sieci, który i nie przeprowadza na nich serii niekończących się eksperymentów. Zawsze siłą analiza torów sieci było skrócenie czasu potrzebnego do znalezienia przyczyny problemu. Analizatory umożliwiają również administratorom badanie charakterystycznych dla sieci 802.11 funkcji warstwy MAC. Chociaż możliwe jest też przechwycenie i analizowanie ruchu po stronie szkieletu sieci przewodowej, to jednak przyczyny problemów mogą występować zawsze tylko po stronie sieci bezprzewodowej. Czy wszystkie ramki są potwierdzane? Gdy tak nie jest, pojawiają się retransmisje. Czy bity wykorzystywane przez modulację z kluczowaniem bezpośrednim ustawione są prawidłowo? Jeżeli nie, pola adresów pakietów mogą być źle interpretowane. Jeżeli po stronie bezprzewodowej sieci zaobserwowano niepoprawnie sformatowany pakiet, to mógł on zostać zniekształcony w kilku miejscach. Analizator sieci pozwala przyjrzeć się pakietowi w czasie podróży w powietrzu i pomaga w znalezieniu przyczyny jego zniekształcenia. Niepoprawnie sformatowane pakiety mogą być nadawane przez stacje klientów lub zniekształcane przez punkt dostępu. Przed zwróceniem się o pomoc do producenta urządzenia, warto wpierw określić przyczynę problemu. W sieciach bezprzewodowych ważne jest zapewnienie bezpieczeństwa sieci, a analizatory mogą pomóc w znalezieniu przyczyn problemów z bezpieczeństwem. Mogą pomóc przeglądać wszystkie adresy MAC stacji w celu odnalezienia nieznanych adresów, choć w praktyce nie jest to zbyt wygodne. Nie da się bowiem poznać wszystkich adresów MAC w sieci. W ten sposób można przynajmniej wychwycić karty nie należące do zakresu producentów, których karty stosowane są w sieci. Bardziej skuteczne może okazać się poszukiwanie zakończonych niepowodzeniem prób uwierzytelnienia się przed punktem dostępu. Bezpieczeństwo niektórych sieci opiera się częściowo lub całkowicie na protokole WEP. Niektóre komercyjne analizatory sieci mają możliwość odszyfrowywania ramek protokołu WEP pod warunkiem, że dysponują one kluczem WEP. Ramki 802.11 niosą dostateczną ilość informacji, by szperacz (sniffer) posiadający klucz WEP mógł rozszyfrowywać je w czasie rzeczywistym. Ta możliwość pozwala administratorom sieci na zajrzenie do wnętrza ramek zabezpieczonych protokołem WEP w celu przeprowadzenia analiz protokołów warstw wyższych po to, by upewnić się, czy działanie protokołu WEP nie zniekształca zawartości ramek. Możliwość rozszyfrowywania ramek w czasie rzeczywistym jest skutkiem ubocznym słabości protokołu WEP. Gdy WEP zostanie zastąpiony przez prawdziwy mechanizm bezpieczeństwa, rozszyfrowywanie ramek w czasie rzeczywistym może okazać się zadaniem bardziej skomplikowanym 2.1 Analizatory sieci 802.11 Analizatory sieci 802.11 stają się obecnie coraz bardziej powszechne i powinny znaleźć się wśród narzędzi administratora bezprzewodowej sieci LAN. Większość analizatorów sieci 802.11 ma postać pakietów programów wykorzystujących kartę sieciową 802.11. Nie jest do tego potrzebne żadne specjalizowane urządzenie, gdyż karty sieciowe zawierają wszystkie układy radiowe niezbędne do przechwytywania pakietów. Jedyną niedogodnością jest to, że każdy tego typu program współpracuje jedynie z ograniczoną liczbą kart dostępnych na rynku. 2.1.1 Komercyjne analizatory sieci Oszałamiający wzrost liczby sieci bezprzewodowych spowodował, że producenci analizatorów sieciowych opracowali bezprzewodowe wersje swoich odnoszących sukcesy analizatorów sieci przewodowych. Komercyjnymi analizatorami sieci bez. przewodowych są: Sniffer Wireless firmy Network Associates (http://www.networkassociates.com), AiroPeek firmy WildPackets (http://www.wildpackets.com) oraz CommView for Wifi (www.tamos.com) Sniffer Wireless działa jedynie z kartami sieciowymi firm Cisco oraz Symbol. AiroPeek, podobnie jak CommView for Wifi, obsługuje znacznie szerszy zakres kart sieciowych wyprodukowanych przez firmy 3Com, Cisco, Nortel, Intel, Symbol oraz Lucent. Tak jak ich przewodowi krewni, komercyjne analizatory bezprzewodowych sieci LAN wyposażone są w wiele funkcji. Poza dekodowaniem przechwyconych ramek mogą one filtrować ramki na podstawie dowolnego pola nagłówka 802.11, prezentować dane statystyczne dotyczące rozkładu wielkości pakietów i ich prędkości, mogą też monitorować w czasie rzeczywistym wykorzystanie pasma i szybko przeszukiwać wszystkie dostępne kanały w celu odnalezienia sieci działających w danym obszarze. Kiedy znają klucz WEP mogą rozszyfrowywać ramki chronione przez protokół WEP. Zakup analizatora sieci powinien znaleźć się w budżecie każdej instalacji sieci bezprzewodowej. Trzeba też rozstrzygnąć problem - kupować program, czy pisać go samemu. Przewiduję, że większość firm wybierze przede wszystkim zakup produktu komercyjnego, pozostawiając prace rozwojowe i naprawę błędów producentowi analizatora sieci, szczególnie że komercyjne analizatory można kupić, zainstalować i sprawić, by były użyteczne dużo szybciej. 2.2 Metody wykrywania sieci przez analizatory Najprostsza metoda wyszukania sieci polega na pasywnym skanowaniu. Większość punktów dostępowych wysyła w określonych odstępach czasowych ramki typu beacon, aby rozgłosić swoją obecność i podać takie informacje jak znacznik czasowy, SSID, obsługiwane szybkości i inne parametry dotyczące swojej pracy. Skanowanie pasywne polega na nieustannym skanowaniu wszystkich kanałów radiowych przez stacje kliencką w poszukiwaniu wysyłanych ramek typu beacon. Gdy taka ramka zostanie wykryta, otrzymujemy informacje o działającym punkcie dostępowym. Wiele punktów dostępowych umożliwia wyłączenie wysyłania ramek typu beacon. Wówczas sprawa się komplikuje. Aby odkryć sieci z ukrytym SSID należy analizować ramki rozgłoszeniowe probe request wysyłane przez stacje klienckie i probe response wysyłane przez punkty dostępowe. Okazuje się, że w przypadku wyłączonego rozgłaszania SSID stacje klienckie sprawdzają działające punkty dostępowe wysyłając ramki rozgłoszeniowe probe request zawierające SSID sieci. Wówczas odpowiedzą wszystkie AP należące do sieci o tym SSID. Analizując ramki probe request można zdobyć SSID sieci. Poza tym wiele punktów dostępowych odpowiada na ramkę probe request z zerowym SSID (ustawienie SSID na ciąg pusty lub ANY) i w ramce probe response przesyła SSID sieci. Innym sposobem jest analizowanie ramek przyłączeniowych association request, które również zawierają SSID sieci. Obecnie pojawiają się pierwsze produkty, które umożliwiają ukrycie SSID w tych ramkach. Szczegóły wyszukiwania sieci zostały omówione w skrypcie 2 „Sieć w modelu Infrastructure” 3. Oprogramowanie do analizy sieci – analizator sieci 802.11 – CommView for WiFi 3.1 Wstęp CommVew for Wifi to specjalne wydanie oprogramowania CommView przeznaczone do przechwytywania i analizowania pakietów w używanych obecnie bezprzewodowych technologiach sieciowych 802.11 a/b/g. CommView for Wifi kolekcjonuje informacje z karty bezprzewodowej oraz dekoduje przechwycone dane. Za jego pomocą można wyświetlić połączenia sieciowe a także przetwarzać pojedyncze pakiety. Oprogramowanie pozwala również deszyfrować ruch sieciowy zakodowany za pomocą technologii WEP czy tez WPA-PSK aż przez wszystkie warstwy sieciowe. Całe sesje czy też pojedyncze ramki mogą być zapisywane w celu późniejszej analizy, możliwy jest także eksport zapisanych danych do formatu obsługiwanego przez inne analizatory sieci np. Ethereal. CommView for Wifi pozwala w pełni analizować takie protokoły jak: ARP, BCAST, BGP, BMP, CDP, DAYTIME, DDNS, DHCP, DIAG, DNS, EIGRP, FTP, G.723, GRE, H.225, H.261, H.263, H.323, HTTP, HTTPS, ICMP, ICQ, IGMP, IGRP, IMAP, IPsec, IPv4, IPv6, IPX, HSRP, LDAP, MS SQL, NCP, NDS, NetBIOS, NFS, NLSP, NNTP, NTP, OSPF, POP3, PPP, PPPoE, RARP, RADIUS, RDP, RIP, RIPX, RMCP, RPC, RSVP, RTP, RTCP, RTSP, SAP, SER, SIP, SMB, SMTP, SNA, SNMP, SNTP, SOCKS, SPX, SSH, TCP, TELNET, TFTP, TIME, TLS, UDP, VTP, WAP, WDOG, YMSG, 802.1Q, 802.1X. Należy zaznaczyć iż w momencie uruchomienia sniffera, karta sieciowa przechodzi w tryb pracy bezładny (ang. Promiscuous) tzn. słyszy ruch ze wszystkich hostów i punktów dostępowych w danej sieci. Dopiero po zamknięciu programu, stacja może normalnie komunikować się z innymi urządzeniami w sieci. CommView for Wifi to nieocenione narzędzie dla administratorów sieci bezprzewodowych, czy też dla każdego kto chciałby mieć dokładny wgląd w bezprzewodowy ruch sieciowy. Aplikacja pracuje pod kontrolą Windows 2000/XP/2003 i dla swojej prawidłowej pracy potrzebuje dedykowanego adaptera sieciowego. Więcej informacji na temat obsługiwanych kart sieciowych można znaleźć na stronie internetowej producenta pod adresem www.tamos.com/products/commwifi/. 3.2 Instalacja sterownika dla bezprzewodowej karty sieciowej. Jak wspomniano na wstępie, aby można było analizować bezprzewodowy ruch sieciowy, użytkownik musi posiadać dedykowana kartę sieciową. Lista obsługiwanego sprzętu znajduje się na stronie internetowej producenta. Dedykowane sterowniki dla kart są dostarczane razem z oprogramowaniem i domyślnie instalowane w katalogu „C:\program files\CommViewWiFi\Driver” Cała procedura instalacji nie odbiega od typowej konfiguracji urządzenia w systemie Windows, opisana jest w Help – Driver Instalation Guide. 3.3 Główne okno programu Główny interfejs programu CommView for Wifi został przedstawiony na rysunku 3.1. Poszczególne opcje menu zostało opisane poniżej. Rys. 3.1. Główne menu aplikacji CommView for Wifi W głównym menu znajdują się następujące opcje: FILE: Start/Stop Capture – rozpoczęcie/zatrzymanie przechwytywania pakietów . Suspend/Resume Packet Output – zatrzymanie/wstrzymanie przechwytywania pakietów dostępnych w zakładce Packets Save Nodes As – pozwala na zapis zawartości danych znajdujących się w zakładce Nodes Save Channels As – pozwala na zapis zawartości danych znajdujących się w zakładce Channels Save Latest IP Connections As – pozwala na zapis zawartości danych znajdujących się w zakładce Latest IP Connections Save Packet Log As – pozwala na zapis zawartości danych znajdujących się w zakładce Packets w różnych formatach Log Viewer – otwiera nowe okno programu Log Viewer. Clear Nodes – kasuje zawartość zakładki Nodes. Clear Channels –. kasuje zawartość zakładki Nodes. Clear Latest IP Connections – kasuje zawartość zakładki Latest IP Connections Clear Packet Buffer – kasuje zawartość głównego bufora programu a także zawartość zakładki Packets Performance Data – wyświetla statystyki dotyczące: ilości przechwyconych pakietów oraz pakietów odrzuconych przez sterownik karty Exit – kończy działanie programu. SEARCH Find Packet – pokazuje okno dialogowe umożliwiające znalezienie pakietów zawierających ciągi tekstowe wprowadzone przez użytkownika Go to Packet Number – pokazuje okno dialogowe umożliwiające przejście do konkretnego numeru pakietu wskazanego przez użytkownika VIEW Statistics – pokazuje okno z informacjami dotyczącymi bieżącego transferu oraz statystyki protokołów Port Reference – pokazuje okno informacyjne z przypisaniem portów tcp/udp dla dobrze znanych usług (Well known services). Informacje są odczytywane z folderu %systemroot%\system32\drivers\etc Log Directory – otwiera okno w którym domyślnie zapisywane są logi Nodes Columns – pokazuje lub ukrywa poszczególne kolumny zakładce Nodes Channels Columns – pokazuje lub ukrywa poszczególne kolumny zakładce Channel Columns Latest IP Connections Columns – pokazuje lub ukrywa poszczególne kolumny zakładce Latest IP Configuration. Packets Columns – pokazuje lub ukrywa poszczególne kolumny zakładce Packet. TOOLS Packet Generator – otwiera okno “Packet Genetaror” Reconstruct TCP Session – pozwala na rekonstrukcję sesji pomiędzy dwoma hostami, rekonstrukcja zaczyna się od zaznaczonego pakietu. NIC Vendor Identifier – otwiera okno dialogowe, w którym istnieje możliwość powiązania adresu MAC urządzenia z jego producentem Scheduler – pozwala na dodanie/usunięcie zadań które mają być uruchamiane o określonych porach czasowych. SETTINGS Fonts – pokazuje podmenu z możliwością dostosowania czcionki w menu Interface, Packet Text oraz Packet Decoder WEP/WPA Keys – otwiera okno, umożliwiające wprowadzenie klucza WEP lub WPA MAC Aliases – umożliwia tworzenie aliasów dla adresów MAC, np.: 00-01-02-03-04-05 – „Moja karta” IP Aliases – podobnie jak wyżej, umożliwia tworzenie aliasów dla adresów IP, np 192.168.0.2 – „serwer www” Options – Otwiera okno, w którym istnieje możliwość zmiany parametrów konfiguracyjnych programu Language – pozwala zmienić aktualny język używany w programie. RULES Capture Data Packets – pozwala włączyć lub wyłączyć możliwość przechwytywania pakietów zawierające dane Capture Management Packets – pozwala włączyć lub wyłączyć możliwość przechwytywania pakietów typu Managment Capture Control Packets - pozwala włączyć lub wyłączyć możliwość przechwytywania pakietów zawierające pakiety kontrolne Ignore Beacons – pozwala włączyć lub wyłączyć możliwość przechwytywania pakietów typu Beacon Save Current Rules As – pozwala na zapisanie kombinacji w/w pól. Load Rules From – umożliwia wczytanie reguł zapisanych przez użytkownika. Reset All – przywraca domyślne ustawienia programu dotyczące w/w reguł (włączone przechwytywanie data packets, managmnet packets, control packets) HELP Contents – uruchamia menu pomoc dla CommView for WiFi. Search For Help On … – pokazuje menu kontekstowe. Driver Installation Guide … – pokazuje menu dotyczące instalacji specjalnego sterownika dla karty bezprzewodowej. About – pokazuje menu informacyjne programu. 3.4 Menu Scanner Okno skanera, pokazane na rysunku 3.2, które wywołuje się z menu File/Start Capture, pozwala na przeszukanie wszystkich kanałów w danej technologii sieciowej (odpowiednio 802.11 a/b/g) a także dokładne monitorowanie jednego kanału. W celu rozpoczęcia skanowania, należy wybrać opcję „Start Scanning” Cały proces skanowania następuje cyklicznie tzn. program przeszukuje wszystkie kanały po czym wraca do kanału pierwszego. Proces skanowania trwa do momentu aż zostanie naciśniety przycisk „Stop Scanning”. Aby wykasować informacje, które pojawiły się w czasie skanowania, należy wybrać „Reset”. Istnieje również możliwość zapisania raportu ze skanowania, opcja ta dostępna jest po wybraniu przycisku „Save” Aby monitorować wybrany kanał (Chanell), należy wybrać z okna dialogowego numer kanału oraz określić w której technologii („Band”) będą dokonywane pomiary, następnie wybrać „Capture”. W zależności od posiadanej karty sieciowej, program automatycznie wykryje możliwe pasma sieci bezprzewodowej (2.4 GHz dla standardu „b” oraz „g” lub 5GHz dla standardu „a”). Rys 3.2 Główne okno programu Scanner Wybierając zakładkę „Options” uzyskuje się dostęp do opcji konfiguracyjnych, tj. metody wyświetlania wyszukanych hostów/access point-ów, sposobów wyszukiwania urządzeń w sieci itp. Zakładka „Options” została przedstawiona na rysunku 3.3 Rys. 3.3 Menu Options w oknie Scanner Znaczenie poszczególnych opcji opisano poniżej: Reset data after each cycle – jeśli opcja ta zostanie zaznaczona, informacje o wykrytych urządzeniach sieciowych będą kasowane przed rozpoczęciem nowego cyklu skanowania. Opcja ta może przydać się podczas skanowania sieci, w której znajdują się stacje, które wysyłają dane tylko co jakiś czas (np.: co kilka minut) Show data in main window while scanning – jeśli opcja ta będzie aktywna, program umieści informacje o znalezionych urządzeniach w głównym oknie programu, w następujących zakładkach : Nodes, Channels, Packets oraz Latest IP Connections). Jeśli opcja nie będzie zaznaczona, szczegóły dotyczące znalezionej sieci nie będą pokazywane oraz logowane w głównym oknie programu. Hide wired hosts – aktywacja tej opcji oznacza iż, w głównym oknie skanera zostaną wyświetlone tylko urządzenia bezprzewodowe, jeśli zaś opcja będzie nie aktywna, skaner wskaże również stacje przewodowe należące do segmentu sieci w którym znajdują się stacje przewodowe. Uaktywnienie tej opcji może czasami spowodować, iż stacje bezprzewodowe nie zostaną wyświetlone w głównym oknie skanera. Active node discovery using PROBE REQUEST – ta opcja pozwala wyszukiwać punkty dostępowe, w których wyłączono rozgłaszanie SSID poprzez ramki Beacon. Włączenie tej opcji powoduje, że stacja skanująca zaczyna wysyłać pakiety a więc staje się widoczna w sieci. Dla niektórych starszych modeli kart bezprzewodowych (karty z rodziny 802.11b) opcja ta może nie być dostępna. Seconds per channel - definiuje liczbę sekund, przez którą program ma prowadzić nasłuch na każdym kanale Play sound when a new AP or station is detected przypadku odkrycia nowego punkty dostępowego. - uruchamia sygnał dźwiękowy, w Play sound when a new AP or station is detected – zaznaczenie tego pola, pozwala na uruchomienie pliku wav, w momencie gdy skaner znajdzie punkt dostępowy wśród urządzeń sieciowych. Scan 802.11b/g channels and Scan 802.11a channels – w zależności od posiadanej karty sieciowej, która zainstalowana jest w systemie, istnieje możliwość wyboru kanałów radiowych, które będą poddane skanowaniu. Jeśli karta przeznaczona jest tylko dla sieci 802.11b, pola dotyczące sieci 802.11a oraz 802.11g będą nieaktywne. Minimalnie musi być zaznaczony jeden kanał. 3.5 Menu Nodes Menu Nodes pokazane na rysunku 3.4, zawiera szczegółowe informacje o wszystkich aktywnych nodach znalezionych podczas skanowania. Jako node traktowany jest każdy punkt dostępowy oraz stacja z nim skojarzona nadająca na wybranym wcześniej kanale. Rys. 3.4 Menu Nodes podczas skanowania Ważna informacją z punktu widzenia użytkownika, jest to, że skaner potrafi kolekcjonować informacje tylko z jednego kanału w danym czasie. Istnieje oczywiście możliwość zbierania informacji z kilku kanałów. Aby możliwa była taka funkcjonalność, należy zrestartować mechanizm skanowania, bez czyszczenia informacji z bieżącej akwizycji, w menu Scanner wybrać żądany kanał, przejść do zakładki „Options” i zaznaczyć „Show data in main window while scanning” a następnie wybrać Capture. Od tego momentu w zakładce Nodes, będą pokazywały się informacje o nodach z dwóch wybranych wcześniej kanałów. Znaczenie poszczególnych kolumn w zakładce Nodes opisano poniżej: MAC Address - pokazuje adresy MAC lub aliasy punktów dostępowych oraz stacji. Ikona znajdująca się z lewej strony symbolizuje następujące znaczenia: pudełko z dwoma antenami symbolizuje punkt dostępowy, ikona notebooka symbolizuje stację pracującą bądź to w trybie Ad-hoc czy też w trybie Infrastructure. Złoty klucz pokazany przy w/w ikonach symbolizuje iż dane urządzenie korzysta z szyfrowania (protokół WEP lub WPA-PSK) Channel – pokazuje numer kanału na którym stacje transmitują dane Type – typ odnalezionego nodu. Możliwe wartości to AP symbolizujące punkty dostępowe, STA dla stacji pracujących w trybie Infrastructure oraz AD HOC dla stacji pracujących w trybie Adhoc SSID – wyświetla nazwę znalezionej sieci Encryption – pokazuje, czy dane urządzenie używa protokołów szyfrowania WEP lub WPA Signal – pokazuje siłę sygnału jako min/średnia/max. Rate – pokazuje przepustowość w formacie min/średnia/max Bytes – wyświetla całkowitą ilość bajtów wysłanych oraz odebranych przez dane urządzenie Packets – pokazuje całkowitą ilość pakietów wysłanych i odebranych przez stacje lub punkty dostępowe Retry – zliczona ilość pakietów, które miały ustawione flagi „Retry” ICV Errors – licznik ramek uszkodzonych/niekompletnych Aby dostosować wyświetlana liczbę kolumn, należy przejść do „View => Nodes Columns” i tam aktywować wybrane kolumny. Istnieje także menu podręczne, wywoływane za pomocą prawego klawisz myszki, w tym celu należy podświetlić wybrane urządzenie sieciowe i nacisnąć prawy klawisz. Z menu można wybrać następujące opcje: Copy MAC Address – kopiuje Mac Adres urządzenia do Schowka Create Alias –umożliwia tworzenie aliasów dla wybranego adresu MAC Save Nodes As – umożliwia stworzenie raportu dotyczącego wybranego urządzenia. Raport zostanie zapisany w formacie HTML Clear Nodes – usuwa informacje na temat danego urządzenia z listy More Statistics – pokazuje dodatkowe statystyki dotyczące wskazanego urządzenia 3.6 Menu Channels Menu Channels pokazuje statystyki dla wszystkich kanałów, które monitoruje „Scanner”. Ilość kanałów wyświetlonych w tym menu uzależniona jest od tego, w jaki sposób użytkownik skonfigurował metodę skanowania. Normalnie, gdy monitorowany jest pojedynczy kanał, w menu znajdują się informacje z wcześniej wybranego kanału. Kiedy jednak zostało wybrane skanowanie więcej niż jednego kanału (wymaga to włączenia opcji „Show data in window while scanning”) w menu znajdują się informacje ze wszystkich kanałów w których znalezione zostały bezprzewodowe urządzenia sieciowe. Ta opcja pozwala na szybkie zapoznanie się z ilością sprzętu sieciowego rozsianego po różnych kanałach. Menu Channels zostało pokazane na rysunku 3.5. Rys. 3.5 Zakładka Channels programu CommView for WIfi Znaczenie poszczególnych tabel zostało podane poniżej: Channel – bieżący numer kanału. Packets –całkowita ilość pakietów wysłanych (Dane + Zarządzające + Kontrolne). Data – Ilość pakietów wysłanych, typu „Data” (dane). Mngt – Ilość pakietów wysłanych typu Mngt (ramki zarządzające) Ctrl – Ilość pakietów wysłanych typu Ctrl (ramki kontrolne) Signal – natężenie sygnału podane w formacie min/średnia/max Rate – przepustowość [Mb/s], dane podane w formacie jak wyżej Encryption - ilość pakietów, które mają ustawioną flagę „Encryption” Retry – ilość pakietów, które mają ustawioną flagę „Retry” ICV Errors – liczba pakietów uszkodzonych CRC Errors – liczba pakietów z uszkodzona sumą kontrolną CRC. Z podręcznego menu, dostępnego pod prawym klawiszem myszki, można uruchomić następujące polecenia: Save Channels As – pozwala na stworzenia raportu zawierającego informacje o danym kanale. Raport zostanie zapisany w formacie HTML Clear Channels – kasuje wpisy w bieżącym oknie More Statistics – otwiera okno, w którym zawarte są szczegółowe statystyki dla danego kanału. Przykładowe okno zostało przedstawiona na rysunku 3.6. Rys. 3.6. Okno Statistics dla menu Channels 3.7 Menu Latest IP Connections This tab is used for displaying detailed information about WLAN connections (IP protocol only). To start capturing packets, select File = > Start Capture in the menu, or click on the corresponding button on the toolbar. Please note that this tab will not be populated unless the program is capable of decrypting WEP/WPA-encrypted WLAN traffic. If your WLAN uses WEP encryption, all the data packets being sent are encrypted, and it is impossible to obtain information about their IP address unless you have entered the correct WEP or WPA key(s). To enter your WEP or WPA key(s), select Settings => WEP/WPA Keys in the menu. Menu to, przedstawione na rysunku 3.7, umożliwia śledzenie połączeń pomiędzy urządzeniami sieciowymi w protokole IP. Jeśli śledzony ruch sieciowy jest zaszyfrowany za pomocą protokołu WEP lub innego, nie ma możliwości kolekcjonowania tego ruchu, dopóki nie zostanie wprowadzony prawidłowy klucz dla tej sesji. Można go wprowadzić poprzez Settings => WEP/WPA Keys w głównym menu. Rys. 3.7. Menu Latest IP Connections Znaczenie poszczególnych kolumn podano jest następujące: Source IP, Destination IP – pokazuje pary adresów IP, pomiędzy którymi sesje zostały nawiązane In – pokazuje ilość pakietów odebranych Out – pokazuje ilośc pakietów wysłanych Sessions – pokazuje ilość pakietów z ustanowionych sesji TCP/IP. Jeśli sesje takie nie były ustanowione (zerwanie połączenia, połączenia w protokole UDP lub ICMP) wartość ta wynosi zero Ports – wyświetla na jakie porty TCP/IP zostały wykonywane połączenia. Lista ta może być pusta, jeśli używany był inny zestaw protokołów niż TCP/IP. Porty zdalne mogą być wyświetlane w postaci numerycznej np.: 80 lub jako odpowiadająca mu nazwa tj. WWW Hostname – Pokazuje nazwę zdalnego hosta, jeśli program nie może rozwiązać nazwy, pole to pozostaje puste. Bytes – wyświetla liczbę bajtów przesłanych w czasie sesji. Last packet – rejestruje czas pojawienia sie ostatniego pakietu w danej sesji W podręcznym menu dostępne są następujące opcje: Copy – kopiuje do schowka adres IP komputera lokalnego oraz zdalnego. Show All Ports – wyświetla okno z informacją jakie numery portów zostały użyte do transmisji. Data Transfer – wyświetla okno z informacją o przepustowości jaka została osiągnięta pomiędzy komputerem zdalnym i lokalnym Jump To – pozwala na szybki dostęp sie do pierwszego bądź ostatniego pakietu dla danej sesji (pakiety pokazane w menu packets) SmartWhois – wysyła informacje o adresie źródłowym do programu SmartWhois. Jest to oddzielna aplikacja, której zadaniem jest dostarczanie informacji takich jak nazwa domenowa, adresy sieci lub też kto jest odpowiedzialny za administracje danej sieci. Create Alias – tworzy alias dla wskazanych adresów sieciowych Save Latest IP Connections As – pozwala na stworzenie raportu, dotyczącego wszystkich połączeń, raport będzie wygenerowany w formacie HTML Clear Latest IP Connections – kasuje informacje zawarte w tym menu. More Statistics – wyświetla okno ze szczegółowymi informacjami na temat bieżących połączeń, tak jak na rysunku 3.6 3.8 Menu Packets Menu Packets, pokazane na rysunku 3.8, używane jest do obserwacji pakietów, które po przetworzeniu przez filtry wyświetlania (jeśli są włączone) wyświetlane są na konsoli. Rys. 3.8. Menu Packets Główne okno zostało podzielone na 3 części, dzięki temu całość staje się czytelniejsze dla użytkownika. Układ wyświetlania można zmieniać poprzez odnośniki umieszczone w lewym dolnym rogu okna. Znaczenia poszczególnych kolumn są następujące No – kolejny numer pakietu. Protocol – pokazuje rodzaj protokołu używanego przez dany pakiet. MAC Addresses – pokazuje źródłowe oraz docelowe adresy MAC urządzeń IP Addresses – pokazuje źródłowe oraz docelowe adresy IP urządzeń Ports – pokazuje źródłowe oraz docelowe porty TCP/UDP dla danego połączenia. Wartości te mogą być wyświetlane w sposób numeryczny (np.:port 80) lub jako nazwa usługi (np. www) Time / Delta – pokazuje czas powstania pakietu (absolute time) lub różnicę czasu pomiędzy dwoma następującymi po sobie pakietami (delta time). To w jaki sposób ma być wyświetlany czas, można ustawić w menu View =>Packets Columns =>Show Time As Size Signal – wyświetla informację o natężeniu sygnału oraz o aktualnej przepustowości More Details – pokazuje dodatkowe informacje dla pewnego typu pakietów Errors –wyświetla informacje o uszkodzonych ramkach oraz połączeniach Pojedyncze kolumny mogą by pokazane bądź ukryte poprzez wybranie odpowiednich ustawień menu „View=>Packets Columns”. Kolekcjonowanie pakietów, może zostać wstrzymane poprzez wybranie w menu File opcji „Suspend Packet Output”. W trybie „Suspend” pakiety są wciąż gromadzone, lecz nie są wyświetlane w menu Packet. Taki tryb pracy może być użyteczny, kiedy użytkownik zainteresowany jest statystykami niż przeglądanie poszczególnych pakietów. Aby uruchomić ponowne wyświetlanie pakietów w trybie rzeczywistym, należy w menu File wybrać opcję „Resume Packet Output”. W środkowym panelu wyświetlane są “surowe” dane z zawartością pakietów zarówno w postaci hex jak i zwykłego tekstu. Znaki nie drukowane zastępowane są za pomocą kropek. Kiedy użytkownik zaznaczy więcej niż jeden pakiet (za pomocą klawisza Shift) pokazywany jest rozmiar zaznaczonych pakietów oraz ich sumaryczny czas trwania. Pojedyncze pakiety można zapisać w postaci pliku, poprzez „przeciągniecie” pakietu np. na pulpit Po podświetleniu wybranego pakietu, dostępne jest menu kontekstowe, uruchamiane prawym klawiszem myszki: Reconstruct TCP Session – pozwala na zrekonstruowanie sesji pomiędzy dwoma komputerami, sesja będzie odtwarzana od zaznaczonego pakietu aż do końca trwania „konwersacji” Zestawianie całej sesji będzie się odbywało w nowym oknie. Create Alias – pozwala na tworzenie aliasów zarówno dla adresów MAC jak i IP Copy Address – kopiuje do pamięci podręcznej adresy źródłowe jak i docelowe MAC oraz IP. Copy Packet – kopiuje od pamięci podręcznej systemu zawartość całego pakietu Save Packet(s) As –pozwala zapisać pojedynczy pakiet do pliku. SmartWhois SmartWhois – wysyła informacje o adresie źródłowym do programu SmartWhois. Jest to oddzielna aplikacja, której zadaniem jest dostarczanie informacji takich jak nazwa domenowa, adresy sieci lub też kto jest odpowiedzialny za administracje danej sieci. Clear Packet Buffer – kasuje zawartość bufora programu. Decode As – pozwala dekodować sesje pomiędzy komputerami, które używają nie standardowych numerów portów Na przykład jeśli używamy protokołu http pracującego na porcie 8080 a nie na standardowym 80, należy zaznaczyć wybrany pakiet i wskazać „Decode as http” Nie ma możliwości „nadpisania” standardowych protokołów poprzez inne znane protokoły np. CommView nie może dekodować pakietów które komunikują się np. na porcie 110 jako połączeń typu Telnet Pojedyncze pakiety można zapisać w postaci pliku, poprzez „przeciągniecie” pakietu np. na pulpit 3.9 Menu Rules CommView pozwala zastosować dwa typy reguł filtrowania przechwytywanych pakietów. Pierwszy z nich (wireless rules) bazuje na pakietach sieci bezprzewodowych: Data, Managment oraz Control. Aby włączyć przechwytywanie tego rodzaju pakietów, należy w menu Rules zaznaczyć odpowiednie typy przechwytywanych ramek. Dodatkowo istnieje możliwość wyłączenia przechwytywania ramek typu Beacon (ramki wysyłane przez punkty dostępowe co ok. 100mS). Za pomocą opcji „Save Current Rules As” można tworzyć dowolne kombinacje zbierania w/w. ramek i zapisywać je w postaci reguł. Za pomocą opcji „Load rules from” można wczytać wcześniej utworzone reguły. Drugi typ filtrów (conventional rules) pozwala filtrować przechwytywany ruch na podstawie różnych kryterii, takich jak: adresy MAC, flagi protokołu TCP, wyrażenia regularne. Aby zastosować jeden z wybranych filtrów, należy przejść do zakładki Rules pokazanej na rysunku 3.9, a następnie wybrać jeden z dostępnych rodzajów filtrów tj. prosty (Simply rules) lub złożony (Advanced rules) Kolejność działania reguł filtrowania jest następująca. Pakiety, które zostają przechwycone przez kartę, podlegają w pierwszej kolejności regułom „wireless rules” tj. jakie pakiety podwarstwy 802.11 mają zostać przechwycone. Jeśli żadna z reguł „wireles rules” nie zostanie uaktywniona, w menu „packets” nie będą wyświetlane żadne informacje. W następnej kolejności zgromadzone pakiety zostają poddane przez reguły filtrowania typu „conventional rules”. Gdy któregokolwiek z filtrów typu „convetional rules” zostanie włączony, w głównym oknie programu na dolnym pasku informacyjnym pojawia się komunikat o ilości załączonych reguł (na rysunku 3.9 oznaczone podwójnym prostokątem). Należy także zaznaczyć iż w przypadku gdy kilka filtrów prostych zostanie uruchomionych, wyświetlone zostaną tylko te pakiety które spełnią wszystkie wprowadzone kryteria przechwytywania. Tak jak wspomniano wcześniej, filtry „conventional rules” zostały podzielone na dwie kategorie: • Simply rules, podzielone na siedem kategorii: o o o o o o Protocols MAC Address IP Address Ports Text TCP Flags • Advanced Rules, umożliwiające użycie kilku filtrów prostych w jednym wyrażeniu. Na poniższych przykładach zostaną przedstawione możliwości konfiguracyjne w/w filtrów. Rys. 3.9 Menu Rules w programie CommView 3.9.1 Filtr Protocols Filtr ten pozwala na przechwytywanie protokołów zawartych w warstwach od 2 do 4. W przedstawionym na rysunku 3.10 przykładzie, możliwe będzie przechwytywanie protokołu ARP – warstwa 2, protokołów IP oraz ICMP – warstwa 3 a także połączeń realizowanych w warstwie czwartej przez protokół TCP. Wszystkie inne protokoły nie będą wyświetlane w menu „Packets” Filtr ten nie ma możliwości zdefiniowania dodatkowych właściwości dla wybranych wcześniej typów protokółów np. dla TCP nie można określić numerów portów docelowych, źródłowych. Rys. 3.10. Filtr Protocols wraz z zaznaczonymi protokołami ARP, IP, ICMP, TCP 3.9.2 Filtr Mac Addresses Filtr Mac Addresses pozwala na przechwytywanie bądź ignorowanie pakietów bazujących na adresach sprzętowych. Aby dodać nowy rekord zawierający interesujący nas adres MAC, należy wprowadzić go w polu „Add record”. Przykładowy adres powinien wyglądać następująco: 00:02:0A:B4:21:05 (poszczególne pola oddzielone znakiem dwukropka), następnie należy wybrać pole „Direction” (określa czy wprowadzony adres jest traktowany jako źródło – pole FROM, czy też jako przeznaczenie pole TO, czy też jest kombinacją powyższych tj. jednocześnie jako źródło i przeznaczenie przesyłanych pakietów) po czym wybrać „Add Mac Address” . Należy także wybrać akcję, jakiej ma podlegać wpisany adres. Możliwe są dwa przypadki: Capture - przechwytuje ruch ze wskazanego adresu, oraz Ignore – nie wyświetla pakietów w których występuje dany Mac. Opcja Ignore oraz Capture dotyczy wszystkich adresów, które znajdują się na liście. Aby wykasować wprowadzone dane, należy podświetlić pole z adresem Mac i za pomocą prawego klawisza myszy wybrać opcję „Clear Selected” – kasuje wybrany wpis, lub „Clear All” powoduje to wykasowanie wszystkich wprowadzonych adresów. Na poniższym przykładzie, pokazanym na rysunku 3.11, pokazano konfigurację w której ruch sieciowy z adresu 00:02:04:06:08:10 będzie ignorowany, zarówno jako nadawca jak i odbiorca pakietów. Rys. 3.11. Menu filtru Mac Address 3.9.3 Filtr IP Addresses Filtr IP addresses, podobnie jak Mac Address, pozwala na przechwytywanie bądź ignorowanie adresów IP, mogą to być zarówno adresy IP reprezentujące poszczególne hosty (192.168.1.10) czy też zakresy sieci zapisane w postaci 62.147.23.*, gdzie zapis taki oznacza zakres od 62.147.23.0 - 62.147.23.255. Na rysunku 3.12 pokazano przykładową konfigurację, w której zastosowano następujące reguły: Cały ruch przychodzący z zakresu adresów 62.147.23.0 - 62.147.23.255 (wpis 1) oraz komunikacja kierowana do hosta o adresie 192.168.1.10 (wpis 2) będą przechwytywane i wyświetlane, reszta komunikacji będzie ignorowana. Rys 3.12. Filtr IP Addresses 3.9.3 Menu Ports Podobnie jak powyższe, filtr Ports umożliwia utworzenie reguł przechwytywania bądź ignorowania komunikacji sieciowej bazującej na portach protokołu TCP/UDP. Istnieje także możliwość ustalenia dla jakiego kierunku komunikacji, dany ruch ma być przechwytywany czy też ignorowany. Możliwy zakres wartości portów :1 – 65535.Lista znanych portów, dostępna jest pod klawiszem Port reference, znajdującym się po prawej stronie klawisza „Add Port” Poniżej podano kilka przykładowych portów oraz usługi z nimi związane: o 20, 21 – Odpowiendio Ftp-data oraz ftp, protokół przesyłanie plików w Internecie o 23 – Telnet – usługa zdalnej administracji o 25 – Smtp, protokół używany do wymiany poczty pomiędzy serwerami pocztowymi o 53 – Dns – protokół służący do rozwiązywania typu nazwa-adres IP bądź adres IP – nazwa o 80 Http – najbardziej popularny protokół służący do przeglądania zawartości serwerów internetowych o 110 – Pop3 – protokół odbioru poczty elektronicznej o 119 – News – czytanie i wysyłanie wiadomości na fora grup dyskusyjnych o 139 –Netbios – protokół wykorzystywany głównie przez komputery pracujące pod kontrola systemu Windows, służący do wymiany plików w sieciach lokalnych o 443 – Https – szyfrowana odmiana protokołu http, służąca do zabezpieczenia informacji na drodze klient – serwer. Na rysunku 3.13, pokazano konfigurację w której będzie przechwytywana następująca komunikacja sieciowa: Ruch sieciowy przychodzący z portu 80 (np. od serwera www) oraz ruch kierowany na port 110 (zadanie klienta do serwera w celu odbioru poczty elektronicznej) będzie przechwytywany i wyświetlany, reszta komunikacji sieciowej nie będzie wyświetlana. Rys. 3.13 Filtr Ports 3.9.4 Filtr Text Filtr Text pozwala na przechwytywanie pakietów w których zawarte są informacje specyficzne dla konkretnych aplikacji które przykładowo łączą się z Internetem. W polu „Add Record” można zarówno wprowadzić dane typu „string” np. „Abc123” lub też w postaci hex np. „01 1F 2B” W przypadku zdefiniowania danych jako string, można określić czy wprowadzony ciąg ma być rozpatrywany pod kątem wielkich/małych liter czy nie – do tego celu służy opcja „Case Sensitive”. Jej włączenie powoduje ze jeśli filtr zdefiniowano jako „ala” to zareaguje on zarówno na dane w postaci „ALA, Ala. AlA” itp. Oprócz tego umożliwia określenie czy podany ciąg ma zostać wyświetlony czy zignorowany – opcje Capture i Ignore Na rysunku 3.14 przedstawiono konfigurację w której będą przechwytywane tylko te pakiety, które zawierają ciąg znaków „User-Agent” (Informacja identyfikująca przeglądarkę internetową, dane tego typu wysyłane są do serwerów www, w celu dostosowania parametrów wyświetlania strony przez przeglądarkę) Rys 3.14. Filtr Text 3.9.5 Filtr TCP Flags Filtr TCP Flags pozwala na utworzenie reguł, bazujących na flagach połączenia TCP. Znacznie poszczególnych flag jest następujące: o SYN – Synchronize, flaga wystawiana zawsze w przypadku rozpoczęcia nowego połączenia do serwera. o ACK –Acknowledge – flaga potwierdzenia, inicjowana jako odpowiedz na flagę SYN o PSH – Push – informacja dla systemu operacyjnego, że ramka zawiera dane dla wyższych warstw. o RST – Reset – flaga wystawiana w momencie zresetowania połączenia (np. próba połączenia na nie istniejącą usługę) o FIN – Finish – flaga wystawiana w momencie normalnego zakończenia komunikacji pomiędzy hostami o URG – Urgent – flaga wystawiana w momencie gdy przenoszone są dane typu pilne Przebieg poprawnego połączenia klienta do serwera został przedstawiony na rysunku 3.15: Klient Server S YN SYN AC K AC K Rys. 3.15 Trójstronne uzgodnienie połączenia TCP W przypadku, gdy klient próbuje połączyć się na port, który jest zamknięty (tzn usługa jest wyłączona) przebieg połączenia przedstawia rysunek 3.16 Klient Server SYN - ACK RST RST Rys. 3.16 Próba połączenia klienta na zamknięty port Na rysunku 3.17 przedstawiono konfigurację, za pomocą której program będzie wyświetlał tylko te pakiety TCP, w których włączone są flagi SYN oraz ACK. Cały inny ruch sieciowy nie będzie wyświetlany w menu Packets Rys 3.17 Filtr TCP Flags 3.9.6 Menu Advanced Rules Menu Advanced Rules to potężne narzędzie do skutecznego wyłapywania informacji w gąszczu ruchu sieciowego jaki nas otacza. Umożliwia ono pisanie własnych reguł filtrowania, gdzie istnieje możliwość filtrowania przez większość warstw sieciowych (począwszy od warstwy drugiej a na siódmej kończąc). Aby utworzyć taki właśnie zestaw reguł, należy przejść do zakładki „Advanced Rules/Formulas” pokazaną na rysunku 3.18 i w polu „Name” wpisać nazwę nowo powstałej reguły oraz wybrać akcję jaka ma być podjęta dla pakietów, które spełniają dana regułę („Capture” albo „Ignore”). W przypadku, gdy utworzono więcej niż jedną regułę, istnieje możliwość deaktywacji poszczególnych wpisów za pomocą odznaczenia „check box” dla danej reguły. Istnieje także możliwość połączenia reguł za pomocą funkcji „Evaluate” np. dla trzech aktywnych reguł Reg_1, Reg_2 oraz Reg_3 rezultat końcowy będzie następujący: Reg_1 lub Reg_2 lub Reg_3. Rys. 3.18. Menu Advanced Rules Tworzenie zaawansowanych reguł filtrowania możliwe jest tylko za pomocą wyrażeń dostępnych w programie oraz operatorów logicznych Listę tych wyrażeń przedstawiono poniżej: o Dir – direction , określa kierunek przepływu danych. Możliwe wartości to: In – ruch przychodzący, Out – ruch wychodzący oraz Pass – ruch przechodzący. Dwie pierwsze wartości nie maja zastosowania, ponieważ bezprzewodowa karta sieciowa będąca częścią sniffera nie bierze udziału w wymianie danych pomiędzy innymi hostami w sieci a jest tylko pasywnym skanerem, nasłuchującym w danej technologii sieciowej. o etherproto – określa rodzaj protokołu warstwy łącza danych oraz transportowej, możliwe są tylko wartości liczbowe wyrażone w hex, np.: 0x0800 dla IP, 0x0806 dla ARP o ipproto – Protokół IP, określa, za pomocą wartości hex, rodzaj protokołu warstwy sieciowej, np. 0x06 = TCP, 0x11 = UDP. o Smac - Source MAC, źródłowy adres MAC, akceptowalny zapis w notacji hex np. (00:22:32:A1:FE:2C) lub korzystanie z wcześniej utworzonych aliasów. o Dmac – Destination MAC – Docelowy adres MAC, akceptowalny zapis w notacji hex np. (00:22:32:A1:FE:2C) lub korzystanie z wcześniej utworzonych aliasów. o Sip – source IP –źródłowy adres IP. Akceptowany jest zapis w notacji dziesiętnej oraz za pomocą znaków specjalnych, możliwe są następujące zapisy: adres hosta sip=192.168.0.1, zakres adresów sip=192.168.0.10 to 192.168.0.20, zapis za pomocą tzw. „wildcards” sip=192.168.*.* - gdzie symbol „*” oznacza” każdy” o Dip – Destination IP, docelowy adres IP, obowiązują reguły zapisu jak dla Sip o Sport – określenie portu źródłowego dla połączeń realizowanych przez TCP/UDP. Akceptowany zapisy to: Sport=80 – dla pojedynczego portu, Sport=20 to 200 określa zakres portów. Możliwe jest również określenie poprzez nazwy np.: Sport=pop3. o Dport – Destination port – określa numer portu docelowego o Flag – TCP flag-umożliwia zdefiniowanie stanu połączenia TCP za pomocą flag. Możliwy zapis poprzez wartości hex np.: 0x18 dla flag PSH ACK, poprzez litery: SSync, A - Ack, R – Reset, U –Urgent, F – Fin, P – Psh. Istnieje także możliwość użycia słowa has które obejmuje wszystkie flagi. Np. zapis flag=hasU oznacza iż przechwytywane będą pakiety z flagami ustawionymi na: AU, RU, PU itp. o Size – określa rozmiar pakietu. Akceptowane wartości podawane są poprzez zapis dziesiętny np.: size = 1514, możliwy jest także podanie przedziału np. size=24..64, wszsytkie wartości wyrażone są w bajtach o Str – String, zawartość pakietu. Pozwala na przechwytywanie pakietów, które zawierają specyficzne dane. Funkcja składa się z trzech argumentów, są to: string, offset, case sensitivity. Pierwszy argument, to wzorcowy ciąg znaków, np. ‘GET’ – polecenie pobrania strony www, wysłane przez przeglądarkę internetową. Drugi argument oznacza na jakiej pozycji w pakiecie ma pojawić się wzorcowy „string” np.: jeśli poszukiwany jest pierwszy bajt w pakiecie, offset musi być ustawiony na zero, jeśli offset nie jest konieczny, należy użyć wartości –1. Trzeci argument oznacza czy „string” ma być rozróżniany pod kątem wielkich/małych liter możliwe są dwie wartości false (case insensitive) oraz true (case sensitive). Drugi i trzeci argument są opcjonalne i jeśli są pominięte to, standardowo offset przyjmuje wartość –1, a case-sensitive ustawiony jest na false. Przykładowy zapis wygląda następująco: str(‘GET’,-1,false), str(‘GET’,-1), str(‘GET’). o ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP, Order, Ftype, FsubType, Duration, FragNum, SeqNum – pozwala na zdefiniowanie nagłówków warstwy 802.11, które mają być przechwytywane bądź ignorowane. Pola typu ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP, Order mogą przyjmować wartości „0” lub „1”, pozostałe wartości tj. Ftype, FsubType, Duration, FragNum, SeqNum akceptowane są różne wartości liczbowe. Powyższe słowa kluczowe mogą być użyte wraz z poniższymi operatorami: o and – iloczyn logiczny o or – suma logiczna o not – negacja o = - równość o != - nierówność o <> - nierówność o > - większe niż o < - mniejsze niż o ( ) – parenthesis, control operator precedence rules Aby ułatwić czytelnikowi stosowanie w/w operantów, poniżej przedstawiono kilka przykładów ilustrujących ich praktyczne wykorzystanie. o (smac=00:00:21:0A:13:0E or smac=00:00:21:0A:13:0F) and etherproto=arp – przechwytuje pakiety protokołu ARP wymieniane pomiędzy komputerami o podanych adresach MAC o ipproto=udp and dport=137 – przechwytuje pakiety w protokole UDP/IP kierowane na docelowy port 137 o dport=25 and str(‘RCPT TO:’,-1, true) – przechwytuje pakiety TCP/IP lub UDP/IP zawierające ciąg znaków „RCPT TO” i kierowane na docelowy port 25 (SMTP) o ((sip from 192.168.0.3 to 192.168.0.7) and (dip = 192.168.1.0/28)) and (flag=PA) and (size in 200..600) – przechwytuje pakiety, których wielkość mieści sie w granicach między 200 a 600 bajtów, pochodzące z puli adresów IP 192.168.0.3 - 192.168.0.7, gdzie adresy IP przeznaczenia zostały określone jako sieć 192.168.1.0/255.255.255.240 i gdzie flagi protokołu TCP to PSH i ACK. o not(ftype=0 and subtype=8) – ignoruje ramki sieci 802.11 typu Beacon o MoreFrag=0 and FragNum=0 przechwytuje nie fragmentowane pakiety sieci 802.11 3.9.7 Alarms Menu Alarm umożliwia tworzenie ostrzeżeń, które będą reagowały na różne zdarzenia w sieci, np. duże wykorzystanie pasma, nieznane adresy MAC, skanowanie sieci. Są nieocenione w sytuacji kiedy zachodzi potrzeba śledzenia zachodzących zmian w topologii sieci. Alarmy są wyzwalane przez pakiety, które wcześniej przechodzą przez filtry, jeśli więc jeden z alarmów będzie używał np. protokołu UDP, który wcześniej został odfiltrowany, alarm nigdy się nie uruchomi. Aby skonfigurować reguły, które mają wywołać alarm, należy przejść do zakładki Alarms, pokazanej na rysunku 3.19, następnie kliknąć na pole Add..., pojawi się nowe okno (rys 3.20) w którym istnieje możliwość wyboru źródła alarmu. W polu „Name” należy wpisać nazwę alarmu, następnie w oknie Alarm Type wybrać źródło wyzwolenia. Możliwych jest pięć źródeł wyzwolenia : o Packet occurrence – reaguje na pakiety spełniające kryteria wprowadzonej formuły, formułę konfiguruje się identycznie jak w menu Advanced Rules. o Bytes per second – reaguje po przekroczeniu zadeklarowanej ilości przesłanych bajtów na sekundę o Unknown MAC Address – reaguje na nieznane adresy sprzętowe, „przyjazne” adresy wprowadza się klikając pole „Configure” o Unknown IP Address – podobnie jak dla “Unknown MAC Address” reaguje na nieznane adresy IP pojawiające sie w sieci. o Rogue APs: wychwytuje nieznane punkty dostępowe (punkty dostępowe wysyłają ramki typu Beacon co ok. 100 mS), przyjazne punkty dostępowe rozpoznawane są za pomocą adresów MAC, które można wprowadzić poprzez opcję Configure Po wybraniu źródła wyzwolenia, można ustalić ilość zdarzeń, które muszą mieć miejsce aby dany alarm mógł się wyzwolić, służy do tego opcja „Event needed to trigger”. Domyślna wartością jest 1 tzn. już po wystąpieniu pierwszego zdarzenia zdefiniowanego jako źródło alarmu nastąpi wywołanie jednej z domyślnych akcji . Druga z opcji dostępna w polu Event occurrences, to „Times to trigger this alarm”. Domyślna wartością jest 1, tzn. że akcja zdefiniowana przez użytkownika (komunikat na konsolę, wysłanie maila z informacją do użytkownika) nastąpi tylko raz, zwiększenie tej wartości spowoduje, że dana akcja powtórzy się tyle razy, na jaką wartość została ustawiona opcja „Times to trigger this alarm” Rys. 3.19. Menu Alarms Ostatnim krokiem do zdefiniowania danego alarmu, jest skonfigurowanie akcji jaka ma być podjęta po wykryciu danego zdarzenia. Możliwe są następujące opcje: o Display Message – wyświetla wiadomość na konsole programu o Play Sound – uruchamia plik dźwiękowy, obsługiwane są tylko pliki typu wave o Launch applicaton – uruchamia program wskazany przez użytkownika o Parameters – umożliwia zdefiniowanie parametrów dla uruchomionej aplikacji o Send e-mail to – umożliwia wysłanie e-maila pod wskazany adres o Enable capturing rules – uruchamia reguły z menu Advanced Rules, w oknie należy podać nazwę reguły która ma być uruchomiona o Disable other alarms – blokuje wykonywanie innych zdefiniowanych alarmów o Start Logging – uruchamia automatycznie zapis wszystkich pakietów do logu o Stop Logging – wyłącza logowanie do pliku Po wybraniu jednej z w/w akcji, należy kliknąć OK. w celu zapisania alarmu. Wszystkie zdarzenia dotyczące uruchamianych alarmów będą logowane w oknie Event Log w głównym menu Alarms. Rys. 3.20 Menu Alarm Setup. 3.9.8 WEP/WPA Keys Podmenu WEP/WPA dostępne w menu Settings—WEP/WPA Keys pokazane na rysunku 3.21, pozwala na wprowadzenie do 4 kluczy WEP lub jednego klucza WPA. Opcja ta niezbędna jest w przypadku gdy przechwytywany jest ruch szyfrowany. Bez wprowadzonych kluczy, program nie jest w stanie deszyfrować przechwytywanego ruchu Obsługiwane są 4 kluczy, są to 64 , 128, 152 oraz 256 bitów , klucze powinny być wprowadzone w postaci hex, ich odpowiadające długości to 10, 26, 32 oraz 58 znaków. Wartości hex to cyfry od 0-9 oraz litery od A do F. CommView for Wifi obsługuje także protokół szyfrowania WPA (Wifi Protected Access). Obsługiwane metody kodowania to PSK (Pre-Shared Key) używające algorytmu TKIP (Temporary Key Integrity Protocol) oraz AES/CCMP (Advanced Encrytption Standard/Couter CBC-MAC Protocol). Klucz o długości max długości 64 znaków można wprowadzić w postaci hex a także jako „passphrase” Klucze moża zapisywać do pliku, służy do tego opcja „Save...” można także załadować wcześniej zapisane klucze za pomocą opcji „Load...” Rys. 2.21. Podmenu WEP/WPA Keys 3.9.9 Menu Reconstructing TCP Sessions Opcja ta pozwala na śledzenie komunikacji w protokole TCP pomiędzy dwoma komputerami, pozwala na przechwytywanie ruchu i na tej podstawie zrekonstruowanie przesyłanych danych. Aby skorzystacz tej funkcji, należy w przejść do menu Packets, odszukać interesujące pakiety i za pomocą menu podręcznego dostępnego pod prawym klawiszem myszki wybrać opcję : Recnostruct TCP sessions, pokazaną na rysunku 3.22. Rys. 3.22 Dostęp do rekonstrukcji sesji możliwy jest za pomocą prawego klawisza myszy Rekonstrukcja sesji najlepiej współpracuje z protokołami które przesyłają dane nie szyfrowane np. POP3, Telnet, SMTP, FTP, czy też HTTP. Możliwa jest także „odbudowa” przesyłanych plików np. ściąganych plików w formacie *.zip. jednak taka rekonstrukcja pliku, w przypadku dużych plików, może trwać bardzo długo. Przykładowa sesja Http, zawierająca dane w formacie HTML została przedstawiona w dwóch formach, ASCII (rysunek 3.23) oraz HTML (rysunek 3.24) Sesja HTML rekonstruowana jako ASCII Rys. 3.23 Sesja TCP protokołu HTTP pokazana w formacie ASCII I ta sama sesja wyświetlona jako HTML. Rys.3.24 Sesja TCP protokołu HTTP pokazana w formacie HTML . Domyślnie, program próbuje zdekompresować zawartość stron www za pomocą GZIP-a oraz rekonstruować zdjęcia z danych przesyłanych w sposób binarny. Aby wyłączyć tę funkcjonalność należy w menu zakładce Decoding (Settings—Options i zakładka Decoding) wyłączyć opcje typu: Reconstruct Images oraz Decompress GZIP Contents Przechwycone sesje można oglądać w jednym z czterech formatów: ASCII (czyste dane tekstowe), HEX (dane w postaci hex), HTML (jako strona www wraz ze zdjęciami) oraz EBCDIC (protokół firmy IBM stosowany w urządzeniach klasy Mainframe). Dane przeglądane w formacie HTML nie będą niestety wyglądały identycznie jak w przeglądarce, ale mogą dać ogólny pogląd na to jak dana strona wygląda. Za pomocą klawiszy „>>”, „<<” oraz „>>>” można śledzić poszczególne sesje między komputerami. Klawisz (>>) służy do wyszukiwania sesji tylko pomiędzy dwoma hostami, podczas gdy klawisz (>>>) pozwala rekonstruować sesje pomiędzy dowolnymi dwoma komputerami Jeśli więc w buforze programu znajduje się dużą liczba sesji zestawiana pomiędzy różnymi komputerami w relacji LAN - Internet i użytkownik chce obejrzeć je wszystkie jeden po drugim, zalecane jest w tym przypadku zacząć od pierwszej sesji i posługiwać się klawiszem (>>>) Dane, które znajdują się w buforze programu, można zapisać na dysk w postaci binarnej, tekstowej czy też tekstowej niesformatowanej poprzez opcję File – Save As, można także wyszukać dowolny ciąg znaków za pomocą opcji Find dostępnej w menu Edit Pełna wersja dokumentacji (w języku angielskim) dostępna jest w menu Help--Contents.