Sniffer – Co to jest i do czego służy?

Czas czytania: 3 min.

Tworzenie oprogramowania wymaga odpowiednich narzędzi, umożliwiających testowanie i debugowanie działania aplikacji. Jednymi z najciekawszych są sniffery.

Sniffer – co to takiego?

Sniffer – najprościej rzecz ujmując – to narzędzie służące do przechwytywania i analizy pakietów przesyłanych przez sieć komputerową lub inny rodzaj cyfrowego łącza danych. W dosłownym tłumaczeniu moglibyśmy określić go mianem „wąchacza” czy też „tropiciela”, a w obydwu tych nazwach kryje się sens sniffingu.

W typowych sytuacjach dane są przesyłane pomiędzy dwoma urządzeniami (np. połączenie TCP pomiędzy komputerem, a serwerem sieciowym) lub też rozsyłane w sieci i nasłuchiwane przez wiele urządzeń jednocześnie (tzw. broadcast).

Wyobraźmy sobie teraz, że tworzymy np. system IoT, składający się z kilku urządzeń końcowych (np. czujników, pracujących w instalacji inteligentnego domu) oraz jednego, centralnego serwera, zbierającego i przetwarzającego dane pozyskane od sensorów. Jeżeli coś nie działa prawidłowo w zakresie komunikacji czujnik-serwer, to przyczyn tego faktu może być naprawdę wiele: błąd w firmware urządzenia lub w oprogramowaniu serwera, nieprawidłowa komunikacja portów, problemy po stronie routera, awaria dostępu do Internetu i wiele innych. Sniffer daje w takich przypadkach możliwość „podsłuchania” danych przepływających przez sieć, co pozwala na dokładne przeanalizowanie poprawności pakietów oraz skorygowanie ewentualnych błędów lub – przeciwnie – wykluczenie przyczyny problemu, upatrywanej w nieprawidłowych ramkach danych (w ten sposób można dojść do rzeczywistej przyczyny, leżącej np. po stronie routera).

Sniffery programowe i sprzętowe

Warto zwrócić uwagę, że w przypadku snifferów mamy do czynienia z podobnym zróżnicowaniem formy, jak ma to miejsce w świecie innych narzędzi deweloperskich – np. programatorów i debuggerów. Jak wiadomo, w przypadku mikrokontrolerów mianem „programator” nazywamy zarówno aplikację komputerową, służącą do przesyłania kodu maszynowego do pamięci Flash, jak i współpracujące z nim narzędzie sprzętowe (np. ST-Link czy USB-ASP). Tak samo jest też w kwestii debuggerów – mianem tym określamy zarówno oprogramowanie służące do diagnozowania błędów w trakcie pracy tworzonej aplikacji, jak i sprzętowe interfejsy, dające dostęp do niskopoziomowych funkcji diagnostycznych procesorów (np. JTAG).

Sniffery także występują w postaci oprogramowania oraz narzędzi fizycznych. Do tej pierwszej grupy należy m.in. słynny Wireshark – niezwykle użyteczny program do przechwytywania i analizy pakietów w sieciach komputerowych. Pozwala użytkownikom na wyświetlanie informacji przesyłanych przez sieć lokalną w postaci czytelnych pakietów oraz analizę ich zawartości na różnych warstwach modelu OSI.

Na „drugim końcu skali” znajdują się sniffery sprzętowe, przeznaczone np. do badania transmisji Bluetooth – wśród nich warto zwrócić uwagę na Bluefruit LE USB Sniffer. Obydwa wspomniane narzędzia opiszemy dokładniej w kolejnych częściach naszego artykułu.

Bluefruit LE USB Sniffer - Bluetooth Low Energy (BLE 4.0).

Wireshark

Podstawową funkcjonalnością programu jest przechwytywanie pakietów. Gdy Wireshark jest uruchomiony, zaczyna nasłuchiwać na określonym interfejsie sieciowym (np. karcie Ethernet czy też Wi-Fi) pakiety, przesyłane przez tę sieć. Użytkownik może stosować różnorodne filtry, aby ograniczyć ilość wyświetlanych danych i skoncentrować się tylko na interesujących go pakietach.

Wstępnie wyselekcjonowane pakiety można analizować w odniesieniu do różnych protokołów sieciowych, od warstwy łącza danych, aż po warstwę aplikacji. Mało tego – Wireshark oferuje różne narzędzia do zbierania statystyk, analizy przepływu ruchu, czasów odpowiedzi czy też parametrów połączenia TCP. Narzędzie potrafi dekodować setki różnych protokołów, prezentując dane w formie czytelnej dla człowieka, co znakomicie podnosi użyteczność i wygodę pracy.

Bluefruit LE USB Sniffer

Bluefruit LE USB Sniffer to niewielka przystawka USB, produkowana przez firmę Adafruit i służąca do monitorowania komunikacji pomiędzy urządzeniami, kompatybilnymi z interfejsem Bluetooth Low Energy (BLE). Moduł jest oparty na układzie Nordic nRF51822, dzięki czemu zapewnia pełną kompatybilność z oprogramowaniem deweloperskim Nordic zwanym nRF Sniffer, przeznaczonym do monitorowania ruchu na łączach BLE. Urządzenie posiada interfejs USB, umożliwiający podłączenie go do dowolnego komputera i korzystanie z rozmaitych narzędzi do analizy ruchu. Co niezwykle ważne, Bluetooth LE USB Sniffer współpracuje także ze znanym Ci już Wiresharkiem!

Bluefruit LE USB Sniffer - Bluetooth Low Energy (BLE 4.0).

Bluefruit LE USB Sniffer został zaprojektowany tak, aby był łatwy w użyciu, nawet dla osób, które nie mają dużego doświadczenia w pracy z BLE lub analizą ruchu sieciowego.

W porównaniu z niektórymi profesjonalnymi narzędziami do snifferowania BLE, propozycja marki Adafruit jest także stosunkowo niedrogim rozwiązaniem, co czyni ją niezwykle atrakcyjnym narzędziem dla hobbystów, studentów oraz startupów.

Zastosowania snifferów

Możliwość przechwytywania, filtrowania, dekodowania oraz analizy pakietów sieciowych czy też ramek komunikacji bezprzewodowej jest niezwykle cenna we wszelkiego rodzaju pracach badawczo-rozwojowych – podczas programowania i testowania urządzeń IoT oraz IIoT, np. automatyki budynkowej, sprzętu audio, urządzeń medycznych i pomiarowych, komputerowego sprzętu peryferyjnego i wielu innych.

Sniffery stanowią nieocenioną pomoc w zastosowaniach dydaktycznych, pozwalając adeptom elektroniki, programowania, czy też bezpieczeństwa sieciowego na bieżącą obserwację rzeczywistych danych, przesyłanych przez sieć i to na poziomie szczegółowości porównywalnym z opisami, spotykanymi w najlepszych podręcznikach. Co więcej, sniffery są także cennym narzędziem w rękach specjalistów ds. bezpieczeństwa teleinformatycznego, umożliwiają bowiem m.in. wykrywanie ataków i włamań czy też testowanie zabezpieczeń.

Jak oceniasz ten wpis blogowy?

Kliknij gwiazdkę, aby go ocenić!

Średnia ocena: 5 / 5. Liczba głosów: 4

Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.

Podziel się:

Picture of Mateusz Mróz

Mateusz Mróz

Marzyciel, miłośnik podróży i fan nowinek technologicznych. Swoje pomysły na Raspberry Pi i Arduino chętnie przekuwa w konkrety. Uparty samouk – o pomoc prosi dopiero wtedy kiedy zabraknie pozycji w wyszukiwarce. Uważa, że przy odpowiednim podejściu można osiągnąć każdy cel.

Zobacz więcej:

Witold Krieser

Proste układy stykowego sterowania elektrycznego

W dzisiejszym świecie, gdzie automatyzacja i zarządzanie energią są priorytetem, znajomość stykowych układów sterowania elektrycznego jest kluczowa. W niniejszym opracowaniu autor przedstawi typowe proste układy sterowania elektrycznego wraz z omówieniem graficznym zasady działania tych układów.

Masz pytanie techniczne?
Napisz komentarz lub zapytaj na zaprzyjaźnionym forum o elektronice.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Ze względów bezpieczeństwa wymagane jest korzystanie z usługi Google reCAPTCHA, która podlega Polityce prywatności i Warunkom użytkowania.