Do analizy danych przesyłanych siecią niezbędny jest program pozwalający na ich przechwytywanie,czyli pobieranie i zapis w celu przetwarzania. Istnieje wiele programów,które spełniają tę funkcję. Są one nazywane snifferami (od ang. sniffer).Sniffer to program, który zapisuje cały ruch krążący w sieci — zarówno dane właściwe bezpośrednio przetwarzane przez oprogramowanie, jak i dane służące do sterowania ruchem (np. potwierdzenia otrzymania pakietów, zapytania DNS czy nawiązywanie sesji szyfrowanej), które na ogół nie są dostępne dla użytkowników.Przechwytywanie danych stosuje się zarówno do rozwiązywania problemów z siecią,analizy ruchu oraz danych, jak i w celu poznania zasad działania protokołów komunikacyjnych czy oprogramowania sieciowego — zapisane dane mogą być analizowane na
wszystkich warstwach modelu OSI, co pozwala dokładnie zapoznać się z mechanizmem przygotowania danych do transmisji.Użycie programu typu sniffer zostało przedstawione na przykładzie programu Wireshark
(http://www.wireshark.org/) rozpowszechnianego na licencji GNU GPL2.
Należy zwrócić uwagę, że przechwytywanie w sieciach zbudowanych z wykorzystaniem przełączników jest możliwe jedynie dla danych wysyłanych przez komputer użytkownika oraz adresowanych do tego komputera, a także danych kierowanych do wszystkich w danej sieci (ang. broadcast). Aby możliwe było przechwytywanie danych ze wszystkich urządzeń sieciowych, powinny być one podłączone do koncentratora lub do przełącznika pozwalającego na uruchomienie usługi port mirroring. Gdy chce się analizować ruch sieciowy kierowany do internetu, należy podłączyć koncentrator pomiędzy przełącznik a interfejs routera. Aby rozpocząć pobieranie ruchu sieciowego, należy wskazać interfejs sieciowy, z którego dane mają być pobierane, i opcjonalnie ustawić parametry pobierania, takie jak filtry dotyczące zapisywanego ruchu, czas zapisu lub ilość zapisanych danych, rozpoznawanie nazw itp. Wybór interfejsu do pobierania danych odbywa się w menu Capture Interfaces.