Bądź: Wyszukaj na stronie z użyciem Google
reklama:

poniedziałek, 3 sierpnia 2009

Sniffer Wireshark: Węszymy w naszej sieci

Autor: , 09:00, poniedziałek, 3 sierpnia 2009


Wireshark to jeden z najlepszych analizatorów ruchu sieciowego. W tytule określiłem go jako sniffer, gdyż właśnie oba pojęcia sprowadzają się do tego samego i często są używane zamiennie. Podczas swojego działania Wireshark (dawniej Ethereal) używa popularnej w tego typu aplikacjach biblioteki pcap (packet capture). Nawet jeśli jesteś początkującym użytkownikiem, warto się chwilę zatrzymać nad tym narzędziem.

Podstawowe informacje

Jeśli chodzi o funkcjonalność, Wireshark najbardziej przypomina konsolowe narzędzie tcpdump, jednak dzięki graficznemu interfejsowi jest znacznie przyjaźniejszy dla mniej zaawansowanych użytkowników i naturalnie wygodniejszy w obsłudze. Najprościej mówiąc, program wyświetla ruch w sieci lokalnej, jednak powoli dodawane są moduły pozwalające wychodzić nieco dalej - nimi, głównie ze względów prawnych, nie powinniśmy się póki co interesować.

Sporą zaletą Wiresharka jest przynależność do grupy otwartego oprogramowania i dostępność na licencji GPL. Nie bez znaczenia jest też fakt, że program jest dostępny na wszystkie popularne platformy systemowe co zapewne przyczyniło się bardzo do jego szerokiej popularyzacji. Na koniec warto podkreślić, ze całość stworzona jest w języku C.

Główne funkcje

Już po rozpoczęciu pracy aplikacji widać, że dzieli ona cały widoczny ruch sieciowy na poszczególne protokoły, które są bardzo czytelnie przedstawiane użytkownikowi w postaci linijek o różnych kolorach. Jeśli pakietów jest dużo, można je również bardzo szczegółowo filtrować.

Pomimo, że program oferuje domyślnie GUI to warto wiedzieć, że możliwe jest także jego użytkowanie z poziomu trybu tekstowego. W tym drugim wypadku narzędzie udostępniane jest pod nazwą tshark - więcej o nim na stronie twórców.

Jak wspomniałem wcześniej, Wireshark radzi sobie bardzo dobrze z sieciami Ethernet, IEEE 802.11 (popularny WLAN) oraz PPP. To, jak nawet chwalą się twórcy, w połączeniu z wygodnym interfejsem i obsługą wtyczek stawia narzędzie na pierwszym miejscu jeśli chodzi o liczbę użytkowników w porównaniu z konkurencją.

Instalacja

Wireshark jest dostępny w domyślnych repozytoriach większości popularnych dystrybucji, również w Ubuntu można go zatem wgrać prostym poleceniem:
sudo apt-get install wireshark

Po instalacji można go znaleźć w menu 'Programy=>Internet=>Wireshark' oraz zapewne zdublowaną ikonkę dzięki której można szybko wystartować z uprawnieniami roota. Dla zwykłego śledzenia ruchu w sieci lokalnej nie jest to jednak konieczne, więc na ogół polecam używać Wiresharka bez specjalnych przywilejów (chyba, że i tak przydzieli sobie je po części sam dodając się przy instalacji do odpowiedniej grupy użytkowników).

Śledzimy rozmowy z Gadu-Gadu

Wybaczcie, ale nic banalniejszego i jednocześnie atrakcyjnego nie przyszło mi do głowy. Na tym przykładzie będzie jednak świetnie widać jak pięknie można wyśledzić poszczególne pakiety, które trafiają do naszego komputera. Oczywiście równie dobrze można analizować treść pobieranych witryn czy plików, jednak tam ilość danych jest tak duża, że nad poprawnym odczytaniem treści jednej strony internetowej trzeba by spędzić kilka minut.

Gadu-Gadu ma też kilka innych zalet, przynajmniej z perspektywy crackerów. Jedną z najważniejszych jest kompletny brak szyfrowania przesyłanych wiadomości, co dla snifferów jest wprost wymarzonym kąskiem. Użytkownicy jednak wydają się nie zwracać na to uwagi - ich problem. Przypomnę, że otwartoźródłowy Jabber posiada domyślne szyfrowanie SSL (większość serwerów) co uniemożliwia ich proste podsłuchanie.

Do rozpoczęcia śledzenia wystarczy jedynie uruchomienie programu i wybranie sieci na której ma się skupić narzędzie. W kilka chwil powinniśmy zostać zalani masą informacji przepływających przez naszą sieć, w tym także te z Gadu-Gadu:

Śledzenie wszystkich pakietów o ile jest czasem niemożliwe to także nie należy do najwygodniejszych. Warto ustawić sobie zatem odpowiedni filtr. Jako, że tego typu informacje przesyłane są protokołem TCP można się ograniczyć do wyświetlania tylko niego, bądź jeśli chcemy jeszcze bardziej zacieśnić grono wyników, warto zdefiniować także port. U mnie bardzo dobrze sprawdzał się filtr:
tcp.port == 8074
Jeśli dopiero eksperymentujesz i chcesz przechwytywać dane z innego typu aplikacji warto wtedy zamknąć wszystkie inne (a przynajmniej te najważniejsze) narzędzia i wysyłać dane tylko tego na którego pakietach Ci zależy. W ten sposób szybko odizolujesz odpowiednie wyniki w Wiresharku i zbudujesz odpowiedni filtr. Przydatna okazuje się tu także wyszukiwarka. Miłej zabawy! :)

Aha, no i na koniec muszę wspomnieć, że wszystkie powyższe informacje są oczywiście zawarte jedynie w celach informacyjnych. Aby śledzić pakiety danej sieci zgodnie z prawem należy mieć zgodę od jej właściciela. To chyba naturalne, ale musiałem przypomnieć.
Komentarze 4 comments
rusineck pisze...

Warto chyba też dodać, że za pomocą Wiresharka da się sprawdzić poziom zabezpieczeń w połączniach np. z pocztą elektroniczną. Okazuje się, że dobrze znający temat człowiek z przechwytywanych pakietów może wyciągnąć wszystko np. loginy, hasła. Sam sprawdziłem przy łączeniu z pocztą onetu. zarówno login jak i hasło są doskonale widoczne i nie trzeba zadawać sobie wiele trudu, żeby je odczytać.

Anonimowy pisze...

No tak, tylko samym wiresharkiem można podsłuchiwać ruch w sieciach opartych na hubach czyli na praktycznie znikomym obecnie procencie sieci LAN. Żeby podsłuchiwać na sieć LAN opartą na switchach potrzeba nam jeszcze narzędzia ettercap, które potrafi przekierować cały ruch ze switcha na stację roboczą (niestety jednocześnie zazwyczaj następuje straszne spowolnienie sieci).

Bartosz Wierzejewski vel Buma pisze...

"Żeby podsłuchiwać na sieć LAN opartą na switchach potrzeba nam jeszcze narzędzia ettercap, które potrafi przekierować cały ruch ze switcha na stację roboczą (niestety jednocześnie zazwyczaj następuje straszne spowolnienie sieci)." LOL w 3 Dupy (3D).

Anonimowy pisze...

Na zwykłym użytkowniku nie mam widocznych interfejsów sieciowych, dopiero po uruchomieniu jako root mogę coś podglądać...

Prześlij komentarz


Popularne posty

Etykiety