Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Ruch sieciowy generowany podczas komunikacji między urządzeniami to zbiór pakietów przesyłanych między uczestnikami komunikacji sieciowej. Pakiety te da się przechwycić, by przeanalizować, co jest w nich przesyłane. Aby była możliwa taka analiza, niezbędne jest specjalne oprogramowanie typu sniffersniffersniffer. Jednym z najpopularniejszych programów tego typu jest Wireshark. Program jest darmowy i  można go pobrać z oficjalnej strony projektu.

Enkapsulacja w praktyce

Poznaliśmy już wiele terminów związanych z sieciami komputerowymi. Jednym z takich terminów jest enkapsulacja, czyli przygotowanie danych w sposób opisany przez warstwowe modele do przesłania przez sieć.

R1TOh6fPG21WZ1
Przykład enkapsulacji pakietu danych, dokładniej żądania GET strony WWW od serwera przechwycony przez program Wireshark
Ciekawostka

Warto zaznaczyć, że proces enkapsulacji w programie jest „odwrócony”, to znaczy warstwa aplikacji jest na samym dole (punkt 1 grafiki), natomiast warstwa dostępu do sieci prawie na szczycie (punkt 4 grafiki). Z punktu widzenia analizy pakietów nie ma to żadnego znaczenia, warto jednak być tego świadomym.

  1. Warstwa aplikacji, a dokładniej protokół HTTP przygotował żądanie GET strony WWW. Na grafice widać, że HTTP generuje nie tylko żądanie GET, lecz także dołącza do niego informacje o systemie operacyjnym klienta, numerze wersji przeglądarki oraz adres domenowy. Warto zaznaczyć, że istnieje możliwość anonimizacji tych danych (blokowanie wysyłania takich informacji).

  2. Warstwa transportowa, a dokładniej protokół TCP (ang. Transmission Control Protocol), przygotowała segment z danymi, które otrzymała od warstwy aplikacji (żądanie GET). Do segmentu dodała oczywiście numery portów aplikacji (port 80 dla serwera, ponieważ to usługa WWW, a dla klienta losowy numer, w tym przypadku to 64133).

Ważne!

Nie tylko aplikacje serwera posiadają odpowiednie numery portów. Klient nawiązując połączenie z serwerem, również otwiera port komunikacyjny. Za każdym połączeniem numer portu jest wybierany losowo.

  1. Warstwa sieciowa (internetowa), a dokładniej protokół IP (ang. Internet Protocol) utworzyła pakiet danych i nadała mu adresu IP serwera i klienta.

  2. Warstwa dostępu do sieci, a dokładniej protokół Ethernet utworzyła ramkę danych oraz nadała tej ramce adresy MAC kart sieciowych serwera i klienta.

Na samym szczycie (punkt 5 grafiki) znajdują się informacje o numerze ramki, która została przesłana, a także o jej wielkości. Ramka przygotowana w ten sposób zostaje przesłana przez sieć.

Nie loguj się nigdzie tam, gdzie komunikacja nie jest szyfrowana

Obecnie zdecydowana większość witryn internetowych, a zwłaszcza tych, w których trzeba podawać swoje dane, takie jak chociażby loginhasło, stosuje protokół HTTPS zapewniający szyfrowaną komunikację między klientem a serwerem WWW. Niestety większość nie oznacza wszystkie, nadal więc możemy spotkać witryny, które, pomimo iż zapewnienie szyfrowania nie wymaga zbyt wiele wysiłku od administratora strony, takiej funkcji nie oferują. Być może administratorzy nie potrafią lub nie chcą tego zrobić, a to powinno dawać do myślenia. Unikajcie takich stron, ponieważ podane przez was dane prawdopodobnie trafią w niepowołane ręce. A bardzo łatwo odczytać chociażby login i hasło służące do logowania, jeśli dana strona nie szyfruje komunikacji, co przedstawiono poniżej:

Badanie 1

W przedstawionym wideo użytkownik wchodzi na przygotowaną stronę, która została umieszczona na serwerze WWW pracującym w sieci lokalnej (adresem strony jest adres IP tego serwera), i loguje się, podając login i hasło:

RCI6k9Jewzmqc
Film nawiązujący do treści materiału

W trakcie logowania działał w tle Wireshark. Zobaczmy, co przechwycił:

RujAYx8woJZwe1
Ilustracja interaktywna
1. Metoda POST protokołu HTTP Ten pakiet to element komunikacji HTTP przesyłający login i hasło do serwera WWW (metoda POST),
2. Zawartość komunikatu przesłanego metodą POST Zawartość komunikatu POST przesłanego do serwera z widocznym loginem i hasłem.
Zrzut ekranu przedstawia ruch sieci w programie Wireshark.
Dane filtrowane są w polu obok flagi gdzie wpisane jest: http && ip.addr==192.168.1.10.
Poniżej znajdują się dane podzielone na siedem kolumn: No., Time, Source, Destination, Protocol, Length, Info.
Zaznaczona została jedna z ramek ze źródła 192.168.1.17 z kierunkiem do adresu: 192.168.1.10.
Ramka ta dotyczy pliku z serwera o nazwie: zaloguj.php.
W sekcji poniżej znajdują się informacje o ramce.
Rozwinięta została informacja o nazwie: HTML From URL Encoded: aplicatopm/x-www-from-urlencoded.
Znajdują się w niej odszyfrowane dane logowania: login = adam, haslo = qwerty.
Poniżej znajduje się sekcja w której ukazane są dane zaszyfrowane kodem szesnastkowym.
Ważne!

Zapamiętaj! Nie jesteś osobą anonimową w sieci! Każdy ruch sieciowy da się przechwycić i odczytać niektóre informacje. Bądź świadomym użytkownikiem sieci internet i pamiętaj, że nawet jeśli jest zaszyfrowana komunikacja między klientem a serwerem, to takie dane, jak np. adresy IP, są nadal przesyłane zazwyczaj bez szyfrowania, a to już pozwala namierzyć lokalizację osoby korzystającej z internetu.

Pamiętaj: nie hejtuj, nie obrażaj, nie dręcz. Współtwórz internet wolny od dyskryminacji i upokarzania kogokolwiek.

Słownik

sniffer
sniffer

rodzaj oprogramowania pozwalający śledzić komunikację sieciową