Jak przechwytywać ruch za pomocą Wireshark i analizować go pod kątem anomalii

Wireshark jest najbardziej znanym i najczęściej używanym analizatorem pakietów na świecie. Dzięki temu programowi będziemy mogli wychwycić i szczegółowo przeanalizować cały ruch sieciowy wchodzący i wychodzący z naszego komputera, dodatkowo musimy pamiętać, że jest on wieloplatformowy, co oznacza, że ​​jest dostępny Windows, Linux, macOS, Solaris, FreeBSD, NetBSD i inne. Dzisiaj w tym artykule nauczymy Cię w sposób podstawowy, jak wykonywać przechwytywanie ruchu i jak analizować ruch sieciowy, aby sprawdzić, czy występuje jakikolwiek rodzaj anomalii.

Główne cechy Wireshark

Ten program, który jest całkowicie darmowy, pozwala nam przeprowadzić głęboką kontrolę setek protokołów, ponieważ obsługuje protokoły warstwy fizycznej, łącza, protokołów sieciowych, warstwy transportowej, a także warstwy aplikacji. Pozwoli nam to przechwytywać w czasie rzeczywistym, a kiedy zakończymy przechwytywanie wszystkich pakietów wchodzących i wychodzących z naszej przewodowej lub bezprzewodowej karty sieciowej, możemy przeprowadzić szczegółową analizę offline, to znaczy na innym komputerze (lub w to samo) i w dowolnym momencie.

Jak przechwytywać ruch za pomocą Wireshark

Wireshark pozwala zobaczyć cały ruch przechwycony przez GUI za pomocą samego programu, jednak możemy również zobaczyć wszystkie informacje przechwycone przez program TShark, narzędzie, które działa przez konsolę i pozwoli nam odczytać wszystko za pomocą wiersza poleceń CLI, na przykład zobaczyć wszystko przez SSH. Podstawową cechą każdego analizatora pakietów są filtry, dzięki czemu pokazuje nam tylko to, co chcemy, aby nam pokazywał, i nie zawiera więcej informacji, które wygenerowałyby dla nas dodatkową pracę.

Wireshark jest w stanie czytać i pisać w różnych formatach przechwytywania, takich jak tcpdump (libpcap), pcap ng i wiele innych rozszerzeń, aby idealnie dostosować się do różnych programów do dalszej analizy. Innym ważnym aspektem jest to, że przechwycone przechwytywanie można kompresować za pomocą GZIP w locie i, oczywiście, dekompresować je w locie również w przypadku, gdy czytamy przechwytywanie. Oczywiście jest on w stanie odczytać dane z różnych technologii sieciowych, takich jak Ethernet, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI i inne. Obecnie mamy wiele protokołów z zaszyfrowanymi danymi, z odpowiednim kluczem prywatnym Wireshark jest w stanie odszyfrować ruch różnych protokołów, takich jak IPsec, ISAKMP, Kerberos, SNMPv3, SSL / TLS, WEP i WPA / WPA2.

Gdy zobaczymy główne funkcje, pobierzemy go i zainstalujemy.

Pobierz i zainstaluj

Ten program jest całkowicie darmowy, możemy uzyskać bezpośredni dostęp do oficjalna strona Wireshark gdzie można znaleźć linki do pobrania. Instalacja tego programu jest bardzo prosta, wystarczy postępować zgodnie z instrukcjami kreatora instalacji i ponownie uruchomić komputer po zakończeniu. Wireshark to program, który jest stale aktualizowany, dlatego zaleca się, aby zawsze mieć najnowszą wersję na naszym komputerze, aby cieszyć się najnowszymi wiadomościami.

Jeśli masz system operacyjny oparty na Linuksie, bardzo prawdopodobne jest, że w menedżerze pakietów masz Wireshark i po prostu musisz uruchomić polecenie takie jak to:

sudo apt install wireshark

Gdy zobaczymy, jak pobrać i zainstalować Wireshark, użyjemy go do przechwytywania danych.

Wykonaj przechwytywanie ruchu za pomocą Wireshark w systemie Windows 10

Użyliśmy systemu operacyjnego Windows 10 do przechwytywania ruchu, ale w systemach Linux lub macOS jest dokładnie tak samo, ponieważ mamy dokładnie ten sam graficzny interfejs użytkownika. Pierwszą rzeczą, którą zobaczymy po uruchomieniu tego programu, są wszystkie karty sieciowe i interfejsy sieciowe naszego komputera, w naszym przypadku mamy w sumie trzy przewodowe karty sieciowe (ASUS XG-C100C, Realtek2.5G i Intel 1G), jedna karta sieciowa Wi-Fi (WiFi 2) dodatkowo mamy różne interfejsy sieci wirtualnej, które odpowiadają interfejsom VMware i Virtual Box.

Wireshark pozwala nam przechwytywać ruch dowolnej karty sieciowej, zarówno fizycznej, jak i wirtualnej, po prostu musimy jasno określić, która karta sieciowa jest aktualnie używana i z której chcemy przechwytywać ruch sieciowy. W naszym przypadku jest to ASUS XG-C100C, więc po prostu dwukrotnie kliknij tę kartę.

Dwukrotne kliknięcie automatycznie rozpocznie przechwytywanie całego ruchu sieciowego, zarówno przychodzącego, jak i wychodzącego. Niektóre zalecenia PRZED wykonaniem przechwytywania ruchu są następujące:

  • Zamknij wszystkie programy generujące ruch sieciowy, których nie chcemy przechwytywać
  • Upewnij się, że zapora sieciowa jest wyłączona, ponieważ może blokować pewien ruch i nie pojawi się w Wireshark, lub pojawi się tylko część generowanego ruchu.
  • Jeśli chcemy przechwycić pewien ruch danych generowany przez aplikację, zaleca się odczekanie 1 sekundy przed uruchomieniem i przechwycenie ruchu sieciowego z komputera, następnie uruchamiamy tę aplikację, a na koniec zamykamy aplikację i czekamy 1 sekundę przed przestań przechwytywać ruch.

Dzięki tym zaleceniom jesteśmy pewni, że przechwytywanie ruchu, które wykonasz, zakończy się sukcesem.

W tym przechwytywaniu ruchu możesz zobaczyć ruch z różnych protokołów, zarówno ruch z protokołu Spanning-Tree w sieci, jak również ruch TCP i ruch TLSv1.2 z różnych otwartych aplikacji.

Przy każdym wprowadzeniu danych będziemy mogli wyświetlić i szczegółowo zobaczyć cały pakiet danych, zarówno na poziomie aplikacji, transportu, na poziomie sieci, łącza, a także na poziomie fizycznym, tj. Wireshark dostarczy nam informacje według warstw, aby łatwiej znaleźć informacje, które musimy znać.

Oczywiście powie nam również, jakie są porty źródłowy i docelowy, jeśli używamy TCP lub UDP, i możemy nawet z wyprzedzeniem zobaczyć numery sekwencyjne i czy w połączeniu był RST lub czy segment musiał być przesłano z powodu problemu.

Na poniższym zrzucie ekranu możesz zobaczyć wynik wykonania polecenia «nslookup www.redeszone.net» za pośrednictwem konsoli, DNS żądanie do naszego serwera DNS i automatycznie odpowie, podając rozdzielczość DNS wykonaną z poprzedniej domeny. Oczywiście ten ruch jest „mieszany” z innym ruchem, który mamy na naszym komputerze z różnych aplikacji, dlatego tak ważne jest, aby zamknąć wszystkie aplikacje korzystające z połączenia internetowego przed rozpoczęciem przechwytywania ruchu.

Tutaj możesz zobaczyć odpowiedź serwera DNS na poprzednie żądanie DNS:

Jeśli wykonamy typowy ping, używając protokołu ICMP, również pokaże nam doskonale, pokaże nam zarówno „żądanie echa”, jak i „odpowiedź echa”.

Jak widzieliście, bardzo łatwo jest przechwytywać dane za pomocą Wireshark w celu analizy całego ruchu sieciowego. Jeśli chcemy zapisać to przechwytywanie, musimy po prostu kliknąć czerwony przycisk „Stop”, aby zatrzymać przechwytywanie danych, a następnie kliknąć „Plik / Zapisz”, aby go zapisać.

To przechwycenie można zapisać na naszym komputerze lub na zewnętrznym nośniku w celu późniejszej analizy lub wysłać do eksperta, który jest w stanie wykryć problem, chociaż należy pamiętać, że będzie on miał dostęp do całego przechwyconego ruchu, więc musisz wyślij to zdjęcie kogoś, komu ufasz. Jeśli przechwyciliśmy ruch za pomocą TLS lub IPsec, będziesz potrzebować odpowiedniego klucza odszyfrowywania, więc nie będziesz mógł go „odczytać” bez tych informacji, to samo dotyczy ruchu WPA / WPA2, bez klucza nie możesz odczytać ruchu wewnętrznego.

Mamy nadzieję, że ten samouczek pomoże Ci uchwycić ruch danych za pomocą tego wspaniałego programu i będziesz w stanie wykryć problemy w sieci.