Przeczytaj
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 sniffersniffer. 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ć.
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.
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).
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).
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.
Warstwa sieciowa (internetowa), a dokładniej protokół IP (ang. Internet Protocol) utworzyła pakiet danych i nadała mu adresu IP serwera i klienta.
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 login i hasł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:
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:
W trakcie logowania działał w tle Wireshark. Zobaczmy, co przechwycił:
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
rodzaj oprogramowania pozwalający śledzić komunikację sieciową