Co warto wiedzieć
- Wireshark to aplikacja typu open source, która przechwytuje i wyświetla dane wędrujące w tę i z powrotem w sieci.
- Ponieważ umożliwia drążenie i odczytywanie zawartości każdego pakietu, służy do rozwiązywania problemów z siecią i testowania oprogramowania.
Instrukcje zawarte w tym artykule dotyczą programu Wireshark 3.0.3 dla systemów Windows i Mac.
Dolna linia
Początkowo znany jako Ethereal, Wireshark wyświetla dane z setek różnych protokołów we wszystkich głównych typach sieci. Pakiety danych można przeglądać w czasie rzeczywistym lub analizować w trybie offline. Wireshark obsługuje dziesiątki formatów plików przechwytywania/śledzenia, w tym CAP i ERF. Zintegrowane narzędzia deszyfrujące wyświetlają zaszyfrowane pakiety dla kilku popularnych protokołów, w tym WEP i WPA/WPA2.
Jak pobrać i zainstalować Wireshark
Wireshark można pobrać bezpłatnie ze strony internetowej Wireshark Foundation zarówno dla systemu macOS, jak i Windows. Zobaczysz najnowszą stabilną wersję i bieżącą wersję rozwojową. Jeśli nie jesteś zaawansowanym użytkownikiem, pobierz stabilną wersję.
Podczas procesu instalacji systemu Windows wybierz instalację WinPcap lub Npcap, jeśli zostaniesz o to poproszony, ponieważ zawierają one biblioteki wymagane do przechwytywania danych na żywo.
Musisz być zalogowany na urządzeniu jako administrator, aby używać Wireshark. W systemie Windows 10 wyszukaj Wireshark i wybierz Uruchom jako administrator W systemie macOS kliknij prawym przyciskiem myszy ikonę aplikacji i wybierz Pobierz informacjeW ustawieniach Sharing & Permissions nadaj administratorowi Read & Write uprawnienia.
Aplikacja jest również dostępna dla systemu Linux i innych platform podobnych do systemu UNIX, w tym Red Hat, Solaris i FreeBSD. Pliki binarne wymagane dla tych systemów operacyjnych można znaleźć na dole strony pobierania programu Wireshark w sekcji Pakiety innych firm. Możesz również pobrać kod źródłowy Wireshark z tej strony.
Jak przechwytywać pakiety danych za pomocą Wireshark
Po uruchomieniu programu Wireshark na ekranie powitalnym wyświetlane są dostępne połączenia sieciowe na bieżącym urządzeniu. Po prawej stronie każdego z nich znajduje się wykres liniowy w stylu EKG, który przedstawia ruch na żywo w tej sieci.
Aby rozpocząć przechwytywanie pakietów za pomocą Wireshark:
-
Wybierz jedną lub więcej sieci, przejdź do paska menu, a następnie wybierz Przechwytywanie.
Aby wybrać wiele sieci, przytrzymaj klawisz Shift podczas dokonywania wyboru.
-
W oknie Wireshark Capture Interfaces wybierz Start.
Istnieją inne sposoby inicjowania przechwytywania pakietów. Wybierz shark fin po lewej stronie paska narzędzi Wireshark, naciśnij Ctrl+E lub dwukrotnie kliknij sieć.
-
Wybierz Plik > Zapisz jako lub wybierz opcję Eksportuj, aby nagrać przechwytywanie.
-
Aby zatrzymać przechwytywanie, naciśnij Ctrl+E. Lub przejdź do paska narzędzi Wireshark i wybierz czerwony przycisk Stop, który znajduje się obok płetwy rekina.
Jak przeglądać i analizować zawartość pakietów
Przechwycony interfejs danych zawiera trzy główne sekcje:
- Okienko listy pakietów (górna sekcja)
- Okienko szczegółów pakietu (sekcja środkowa)
- Panel bajtów pakietów (dolna część)
Lista pakietów
Panel listy pakietów, znajdujący się w górnej części okna, pokazuje wszystkie pakiety znalezione w aktywnym pliku przechwytywania. Każdy pakiet ma swój własny wiersz i przypisany do niego numer, wraz z każdym z tych punktów danych:
- Nie: To pole wskazuje, które pakiety są częścią tej samej konwersacji. Pozostaje puste, dopóki nie wybierzesz pakietu.
- Czas: W tej kolumnie wyświetlany jest znacznik czasu przechwycenia pakietu. Domyślny format to liczba sekund lub częściowych sekund od pierwszego utworzenia tego konkretnego pliku przechwytywania.
- Źródło: Ta kolumna zawiera adres (IP lub inny), z którego pochodzi pakiet.
- Destination: Ta kolumna zawiera adres, na który pakiet jest wysyłany.
- Protocol: W tej kolumnie można znaleźć nazwę protokołu pakietu, taką jak TCP.
- Długość: Długość pakietu w bajtach jest wyświetlana w tej kolumnie.
- Info: Dodatkowe szczegóły dotyczące pakietu są przedstawione tutaj. Zawartość tej kolumny może się znacznie różnić w zależności od zawartości pakietu.
Aby zmienić format czasu na bardziej użyteczny (np. aktualną godzinę), wybierz Widok > Format wyświetlania czasu.
Gdy pakiet jest zaznaczony w górnym panelu, możesz zauważyć jeden lub więcej symboli pojawiających się w kolumnie No.. Otwarte lub zamknięte nawiasy oraz prosta pozioma linia wskazują, czy pakiet lub grupa pakietów jest częścią tej samej konwersacji w obie strony w sieci. Przerywana linia pozioma oznacza, że pakiet nie jest częścią rozmowy.
Szczegóły pakietu
Okienko szczegółów, znajdujące się pośrodku, przedstawia protokoły i pola protokołów wybranego pakietu w zwijanym formacie. Oprócz rozszerzenia każdego wyboru, możesz zastosować indywidualne filtry Wireshark w oparciu o określone szczegóły i śledzić strumienie danych w oparciu o typ protokołu, klikając prawym przyciskiem myszy żądany element.
Bajty pakietów
Na dole znajduje się panel bajtów pakietów, który wyświetla surowe dane wybranego pakietu w widoku szesnastkowym. Ten zrzut szesnastkowy zawiera 16 bajtów szesnastkowych i 16 bajtów ASCII wraz z przesunięciem danych.
Wybranie określonej części tych danych automatycznie podświetla odpowiadającą jej sekcję w okienku szczegółów pakietu i odwrotnie. Wszystkie bajty, których nie można wydrukować, są reprezentowane przez kropkę.
Aby wyświetlić te dane w formacie bitowym zamiast szesnastkowym, kliknij prawym przyciskiem myszy w dowolnym miejscu panelu i wybierz jako bity.
Jak używać filtrów Wireshark
Filtry przechwytywania instruują Wireshark, aby rejestrował tylko te pakiety, które spełniają określone kryteria. Filtry można również zastosować do utworzonego pliku przechwytywania, tak aby wyświetlane były tylko niektóre pakiety. Są one określane jako filtry wyświetlania.
Wireshark domyślnie udostępnia dużą liczbę predefiniowanych filtrów. Aby użyć jednego z istniejących filtrów, wprowadź jego nazwę w polu Zastosuj filtr wyświetlania znajdującym się poniżej paska narzędzi Wireshark lub w Wprowadź filtr przechwytywaniapole znajdujące się na środku ekranu powitalnego.
Na przykład, jeśli chcesz wyświetlić pakiety TCP, wpisz tcp. Funkcja autouzupełniania Wireshark wyświetla sugerowane nazwy, gdy zaczynasz pisać, ułatwiając znalezienie właściwego monikera dla szukanego filtra.
Innym sposobem wybrania filtra jest wybranie zakładki po lewej stronie pola wprowadzania. Wybierz Zarządzaj wyrażeniami filtrów lub Zarządzaj filtrami wyświetlania, aby dodawać, usuwać lub edytować filtry.
Możesz również uzyskać dostęp do poprzednio używanych filtrów, wybierając strzałkę w dół po prawej stronie pola wprowadzania, aby wyświetlić listę rozwijaną historii.
Filtry przechwytywania są stosowane natychmiast po rozpoczęciu rejestrowania ruchu sieciowego. Aby zastosować filtr wyświetlania, wybierz strzałkę w prawo po prawej stronie pola wprowadzania.
Zasady kolorów Wireshark
Podczas gdy filtry przechwytywania i wyświetlania Wireshark ograniczają, które pakiety są rejestrowane lub wyświetlane na ekranie, jego funkcja kolorowania idzie o krok dalej: może rozróżniać różne typy pakietów na podstawie ich indywidualnego odcienia. To szybko lokalizuje określone pakiety w zapisanym zestawie według koloru ich wiersza w panelu listy pakietów.
Wireshark zawiera około 20 domyślnych reguł kolorowania, z których każdą można edytować, wyłączyć lub usunąć. Wybierz View > Zasady kolorowania, aby zobaczyć, co oznacza każdy kolor. Możesz także dodać własne filtry oparte na kolorach.
Wybierz View > Koloruj listę pakietów, aby włączyć lub wyłączyć kolorowanie pakietów.
Statystyki w Wireshark
Inne przydatne dane są dostępne w menu rozwijanym Statystyki. Obejmują one informacje o rozmiarze i czasie przechwyconego pliku, a także dziesiątki wykresów i wykresów o różnej tematyce, od podziału konwersacji pakietowej po dystrybucję obciążenia żądań
Filtry wyświetlania można zastosować do wielu z tych statystyk za pośrednictwem ich interfejsów, a wyniki można wyeksportować do popularnych formatów plików, w tym CSV, XML i TXT.
Zaawansowane funkcje Wireshark
Wireshark obsługuje również zaawansowane funkcje, w tym możliwość pisania disektorów protokołów w języku programowania Lua.