1/55
Wireshark - interfejs użytkownika i podstawy

Prezentacja koncentruje się na interfejsie użytkownika Wireshark - od instalacji i konfiguracji po szczegółową nawigację w oknie głównym. Omówione zostały trzy podstawowe panele: lista pakietów, szczegóły pakietu oraz hex dump, a także koloryzacja pakietów i profile Wireshark. Przedstawiono również praktyczne aspekty pierwszego przechwycenia, zapisu i odczytu plików pcap.

Logo Wireshark i zrzut ekranu okna głównego

Wireshark jest obecnie najpopularniejszym analizatorem protokołów sieciowych na świecie. Jego otwarty kod źródłowy i wieloplatformowość (Windows, Linux, macOS) sprawiają, że jest szeroko stosowany zarówno w edukacji, jak i w profesjonalnych środowiskach produkcyjnych. Narzędzie umożliwia przechwytywanie pakietów w czasie rzeczywistym oraz dogłębną analizę zapisanych wcześniej danych.

W tej części cyklu skoncentrujemy się na interfejsie graficznym i podstawowych operacjach, takich jak nawigacja między panelami, stosowanie filtrów wyświetlania oraz interpretacja danych zawartych w poszczególnych polach protokołów. Umiejętność sprawnej nawigacji w Wireshark to fundament dalszej pracy z bardziej zaawansowanymi funkcjami analitycznymi.

2/55
Plan części 02

Plan części 2

  • Historia Wireshark
  • Instalacja Wireshark i Npcap
  • Okno główne – podział na sekcje
  • Lista pakietów (packet list)
  • Szczegóły pakietu (packet details)
  • Hex dump (packet bytes)
  • Pasek filtrów i narzędzi
  • Koloryzacja pakietów
  • Profile Wireshark
  • Preferencje i ustawienia
  • Pierwsze przechwycenie w GUI
  • Zapis i odczyt plików
  • Podsumowanie i pytania
Diagram z planem

Każdy z wymienionych punktów planu został starannie dobrany tak, aby zapewnić płynne przejście od podstawowych informacji o Wireshark do praktycznych umiejętności niezbędnych w codziennej pracy administratora sieci. Począwszy od historii narzędzia, przez instalację z niezbędnymi komponentami, aż po zaawansowane profile i statystyki.

Szczególny nacisk położono na zrozumienie trzech głównych paneli (Packet List, Packet Details, Packet Bytes) oraz umiejętność powiązania informacji między nimi. Te trzy widoki stanowią rdzeń interfejsu Wireshark, a ich sprawne wykorzystanie jest kluczowe dla efektywnej analizy ruchu sieciowego.

3/55
Jak powstał Wireshark?

Historia Wireshark

  • 1998: Gerald Combs tworzy Ethereal – pierwsza wersja
  • 2006: Combs odchodzi z firmy, zmiana nazwy na Wireshark (problemy prawne z marką Ethereal)
  • 2008: Wireshark 1.0 – stabilna wersja
  • 2015: Wireshark 2.0 – nowy interfejs (Qt zamiast GTK+)
  • 2020+: Wireshark 3.x/4.x – wsparcie dla pcapng, IEEE 802.11ax, TLS 1.3, nowe protokoły

Dziś Wireshark to standardowy analizator protokołów sieciowych – używany przez administratorów, inżynierów i specjalistów bezpieczeństwa.

Oś czasu z logo Ethereal i Wireshark

Projekt zapoczątkowany przez Geralda Combsa w 1998 roku szybko zyskał popularność dzięki otwartemu kodowi źródłowemu i wsparciu dla coraz większej liczby protokołów. Zmiana nazwy z Ethereal na Wireshark w 2006 roku była wymuszona problemami prawnymi związanymi z marką, gdy Combs opuścił firmę, dla której pracował nad projektem.

Przejście z biblioteki GTK+ na Qt w wersji 2.0 (2015) znacząco poprawiło wygląd i wydajność interfejsu, a także ułatwiło utrzymanie kodu na różnych platformach systemowych. Współczesne wersje 3.x i 4.x regularnie dodają obsługę nowych protokołów, co czyni Wireshark narzędziem stale ewoluującym wraz z rozwojem technologii sieciowych.

4/55
Wireshark na Windows

Instalacja na Windows

  1. Pobierz instalator z https://www.wireshark.org/
  2. Uruchom instalator – wybierz komponenty (Wireshark, TShark, Extcap)
  3. Instalator zaproponuje instalację Npcap (zaznacz „Install Npcap")
  4. W opcjach Npcap zaznacz „WinPcap API-compatible Mode"
  5. Zakończ instalację i uruchom Wireshark (jako administrator!)

Uwaga: bez Npcap Wireshark nie będzie mógł przechwytywać pakietów!

Wireshark MUSI być uruchomiony jako administrator, aby móc przechwytywać pakiety. Na Linux – przez sudo.
Zrzuty ekranu z kolejnych kroków instalatora

Npcap (Nmap Packet Capture) jest następcą biblioteki WinPcap i stanowi niezbędny komponent do przechwytywania pakietów w systemie Windows. Oferuje lepszą wydajność, obsługę nowych wersji systemu Windows oraz zgodność z WinPcap API, co zapewnia działanie starszych narzędzi wykorzystujących to API.

Tryb zgodności z WinPcap API (WinPcap API-compatible Mode) jest zalecany, ponieważ wiele starszych narzędzi sieciowych wciąż korzysta z oryginalnego interfejsu WinPcap. Extcap to z kolei mechanizm pozwalający na dodawanie zewnętrznych interfejsów przechwytywania, takich jak SSH capture czy USB capture, bez konieczności modyfikacji głównego kodu Wireshark.

5/55
Wireshark na Linux

Instalacja na Linux

# Debian/Ubuntu
sudo apt install wireshark

# Podczas instalacji – odpowiedz "yes" na pytanie o nie-root
# Dodaj swojego użytkownika do grupy wireshark
sudo usermod -a -G wireshark $USER

# Wyloguj się i zaloguj ponownie

# Fedora/RHEL
sudo dnf install wireshark
sudo usermod -a -G wireshark $USER

Alternatywnie: Flatpak, Snap, AppImage – ale może być problem z przechwytywaniem.

Zrzut ekranu terminala z instalacją Wireshark

W systemie Linux Wireshark korzysta z biblioteki libpcap do przechwytywania pakietów. Aby umożliwić użytkownikom nieuprzywilejowanym przechwytywanie bez uruchamiania Wireshark przez sudo, instaluje się plik setcap na binarnym pliku dumpcap lub dodaje użytkownika do grupy wireshark.

W przypadku instalacji przez Flatpak lub Snap przechwytywanie może być utrudnione z powodu izolacji kontenera od jądra systemu operacyjnego. W takich sytuacjach często konieczne jest dodatkowe skonfigurowanie uprawnień lub skorzystanie z tshark jako backendu przechwytywania.

6/55
Okno główne Wireshark

Podział okna

Okno główne Wireshark dzieli się na:

  • Pasek menu: File, Edit, View, Capture, Analyze, Statistics, Telephony, Tools, Help
  • Pasek narzędzi: ikony (Start, Stop, Restart, Open, Save, Filter)
  • Pasek filtrów: pole display filter + zakładki filtrów
  • Lista pakietów (Packet List): tabela ze wszystkimi pakietami
  • Szczegóły pakietu (Packet Details): drzewiasta struktura pól protokołów
  • Hex dump (Packet Bytes): surowe bajty pakietu
  • Pasek stanu: liczba pakietów, profil, DPI
Zrzut ekranu Wireshark z zaznaczonymi sekcjami (numery 1–7)

Pasek menu głównego zawiera wszystkie funkcje Wireshark pogrupowane logicznie w kategorie. Menu Capture odpowiada za zarządzanie przechwytywaniem, Analyze za narzędzia analityczne, Statistics za statystyki, a Telephony za analizę ruchu telefonicznego (VoIP, SIP). Tools udostępnia dodatkowe narzędzia, takie jak edytory profili i kreatory reguł.

Pasek stanu (status bar) w dolnej części okna wyświetla informacje o liczbie przechwyconych i wyświetlonych pakietów, aktualnie używanym profilu, włączonych mechanizmach DPI (Deep Packet Inspection) oraz statusie połączenia z interfejsem przechwytywania. Jest to często pomijane, ale bardzo przydatne źródło informacji o bieżącym stanie pracy Wireshark.

7/55
Ekran powitalny

Po uruchomieniu

Przy starcie Wireshark pokazuje ekran powitalny z listą dostępnych interfejsów.

  • Kliknij ikonę interfejsu (lub podwójne kliknięcie) – rozpoczniesz przechwytywanie
  • Możesz też wybrać File → Open – otworzyć istniejący plik pcap
  • Przykładowe pliki: https://wiki.wireshark.org/SampleCaptures

Lista interfejsów pokazuje: nazwę, adres IP, ruch na żywo (wykres słupkowy).

Zrzut ekranu ekranu powitalnego Wireshark

Ekran powitalny (Welcome Screen) pojawia się domyślnie przy każdym starcie Wireshark. Lista interfejsów jest dynamicznie aktualizowana i pokazuje wykres słupkowy aktywności w czasie rzeczywistym dla każdego interfejsu, co pozwala od razu ocenić, który interfejs generuje najwięcej ruchu.

Ikony interfejsów posiadają kolorowe wskaźniki: zielony oznacza interfejs aktywny i gotowy do przechwytywania, szary - interfejs nieaktywny lub wyłączony. Podwójne kliknięcie na interfejs natychmiast rozpoczyna przechwytywanie z domyślnymi ustawieniami, a kliknięcie ikony ołówka obok interfejsu pozwala skonfigurować opcje przechwytywania przed startem.

8/55
Lista pakietów (Packet List)

Tabela z pakietami

Główna część okna – tabela z kolumnami:

  • Nr: numer pakietu (kolejność przechwycenia)
  • Time: znacznik czasu (względny od początku lub bezwzględny)
  • Source: adres IP źródła
  • Destination: adres IP celu
  • Protocol: protokół (rozpoznany przez Wireshark)
  • Length: długość pakietu (w bajtach)
  • Info: krótki opis pakietu (np. „GET /index.html HTTP/1.1")
Możesz dodawać własne kolumny! Kliknij prawym na nagłówek → Column Preferences. Przydatne: delta time, porty, adresy MAC.
Zrzut ekranu listy pakietów z zaznaczonymi kolumnami

Lista pakietów (Packet List) jest podstawowym panelem nawigacyjnym w Wireshark. Każdy wiersz tabeli reprezentuje jeden przechwycony pakiet, a kolumny wyświetlają najważniejsze informacje o nim. Kolumny można sortować przez kliknięcie nagłówka, co ułatwia znajdowanie pakietów o określonych cechach.

Kliknięcie prawym przyciskiem myszy na nagłówek kolumny otwiera menu kontekstowe z opcjami zarządzania kolumnami. Własne kolumny można definiować za pomocą wyrażeń pól (field expressions), takich jak frame.time_delta dla czasu od poprzedniego pakietu czy tcp.srcport dla portu źródłowego TCP. Daje to ogromną elastyczność w dostosowaniu widoku do konkretnych potrzeb analitycznych.

9/55
Ustawianie kolumn

Dostosuj widok

Aby dodać kolumnę:

  1. Kliknij prawym przyciskiem na nagłówek kolumny
  2. Wybierz „Column Preferences"
  3. Kliknij „+" (dodaj)
  4. Wpisz nazwę i wybierz typ pola (np. „tcp.srcport")

Przydatne kolumny:

  • Delta time: czas od poprzedniego pakietu (frame.time_delta)
  • Port źródłowy: tcp.srcport
  • Port docelowy: tcp.dstport
  • TTL: ip.ttl
Zrzut ekranu okna Column Preferences

Okno Column Preferences umożliwia nie tylko dodawanie nowych kolumn, ale także zmianę kolejności, edycję, usuwanie i resetowanie układu domyślnego. Każda kolumna może być oparta o dowolne pole z drzewa protokołów Wireshark, co oznacza, że można wyświetlić praktycznie dowolną informację zawartą w pakiecie.

Pole tcp.srcport wyświetli numer portu źródłowego TCP, ip.ttl - wartość Time To Live z nagłówka IP, a frame.time_delta - czas, jaki upłynął od poprzedniego przechwyconego pakietu. Te dodatkowe kolumny są szczególnie przydatne w analizie opóźnień i identyfikacji sesji sieciowych, gdzie naturalną cechą wyróżniającą są numery portów.

10/55
Szczegóły pakietu (Packet Details)

Drzewo protokołów

Panel szczegółów pokazuje strukturę wybranego pakietu – od warstwy fizycznej do aplikacji.

Przykład dla pakietu TCP:

  • Frame: metadane (numer, czas, długość, interfejs)
  • Ethernet II: adresy MAC źródła i celu, EtherType
  • Internet Protocol Version 4: adresy IP, TTL, protokół, suma kontrolna
  • Transmission Control Protocol: porty, numery sekwencyjne, flagi, okno
  • [HTTP]: (jeśli ruch HTTP) – metoda, URI, nagłówki
Kliknij prawym na pole → "Apply as Column" – dodaj kolumnę. "Apply as Filter" – ustaw filtr.
Zrzut ekranu panelu Packet Details z rozwiniętym drzewem

Panel Packet Details prezentuje zawartość pakietu w formie hierarchicznego drzewa, gdzie każdy węzeł odpowiada jednej warstwie protokołu. Rozwijanie poszczególnych gałęzi pozwala na szczegółowy wgląd w wartości poszczególnych pól, takich jak adresy MAC, adresy IP, numery portów, flagi TCP czy nagłówki HTTP.

Wybór konkretnego pola w drzewie powoduje automatyczne podświetlenie odpowiadających mu bajtów w panelu Packet Bytes (hex dump). Funkcja ta jest niezwykle przydatna do nauki budowy protokołów, ponieważ wizualnie łączy abstrakcyjne pole protokołu z jego fizyczną reprezentacją w strumieniu bajtów. Menu kontekstowe dostępne po kliknięciu prawym przyciskiem oferuje szybki dostęp do tworzenia filtrów i kolumn na podstawie wybranego pola.

11/55
Frame – metadane pakietu

Informacje o przechwyceniu

Węzeł „Frame" zawiera metadane dodane przez Wireshark:

  • Frame Number: numer pakietu (1, 2, 3...)
  • Frame Length: całkowita długość ramki (w bajtach)
  • Capture Length: długość przechwycona (jeśli snaplen < Frame Length)
  • Frame Time: data i godzina przechwycenia
  • Protocols in frame: lista protokołów (np. eth:ip:tcp:http)
Szczegóły Frame rozwinięte w panelu

Frame to sztuczny węzeł dodawany przez Wireshark, który nie występuje w rzeczywistym strumieniu danych sieciowych. Zawiera on metadane dotyczące samego procesu przechwytywania: numer pakietu w kolejności przechwycenia, dokładny znacznik czasu z rozdzielczością mikrosekundową (lub nanosekundową, jeśli sprzęt to wspiera), całkowitą długość ramki oraz długość faktycznie przechwyconą.

Pole Capture Length może być mniejsze od Frame Length, gdy w opcjach przechwytywania ustawiono snapshot length (snaplen) - mechanizm ten pozwala ograniczyć ilość przechwytywanych danych do pierwszych N bajtów każdego pakietu, co oszczędza miejsce na dysku przy jednoczesnym zachowaniu nagłówków wszystkich warstw protokołów.

12/55
Hex dump (Packet Bytes)

Surowe dane pakietu

Panel hex dump pokazuje pakiet w formie:

  • Lewa strona: offset w pliku (szesnastkowo)
  • Środek: bajty w hex (16 na wiersz)
  • Prawa strona: reprezentacja ASCII (drukowalne znaki)

Kliknięcie w polu w Packet Details podświetla odpowiednie bajty w hex dump.

Przydatne do:

  • Analizy surowych danych (np. payload aplikacji)
  • Sprawdzenia dokładnej wartości pola
  • Wykrycia ukrytych danych
Panel hex dump z podświetlonym polem

Panel Packet Bytes (hex dump) prezentuje pakiet w najniższej możliwej postaci - jako surowy strumień bajtów. Lewa kolumna pokazuje przesunięcie (offset) od początku pakietu w zapisie szesnastkowym, środkowa zawiera bajty w hex po 16 na wiersz, a prawa kolumna wyświetla interpretację ASCII tych samych bajtów.

Znaki niedrukowalne w kolumnie ASCII są zastępowane kropkami, co ułatwia szybkie zlokalizowanie fragmentów tekstu w danych binarnych. Kliknięcie w dowolne pole w panelu Packet Details powoduje podświetlenie odpowiadających mu bajtów w hex dump, co stanowi doskonałe narzędzie dydaktyczne do nauki budowy protokołów i powiązania abstrakcyjnych pól z fizyczną reprezentacją.

13/55
Nawigacja między panelami

Połączenie trzech paneli

Trzy panele są ze sobą powiązane:

  • Kliknięcie pakietu w Packet List → Packet Details pokazuje jego strukturę
  • Kliknięcie pola w Packet Details → odpowiednie bajty podświetlają się w Hex Dump
  • Kliknięcie bajtu w Hex Dump → zaznacza pole w Packet Details

Ułatwia to analizę – możesz szybko znaleźć, która część pakietu odpowiada za dane.

Trzy panele z zaznaczonym połączeniem (strzałki)

Powiązanie między trzema panelami to jedna z najważniejszych cech interfejsu Wireshark, która znacząco przyspiesza proces analizy. Wybierając pakiet w górnym panelu (Packet List), automatycznie aktualizujesz zawartość dwóch dolnych paneli, co pozwala błyskawicznie przejść od ogólnego przeglądu do szczegółowej inspekcji konkretnego pakietu.

Mechanizm ten działa również w odwrotnym kierunku: kliknięcie na dowolnym bajcie w hex dump spowoduje zaznaczenie odpowiedniego pola w Packet Details, a kliknięcie na polu w Packet Details podświetli odpowiadające mu bajty. Ta dwukierunkowa synchronizacja jest nieoceniona przy nauce protokołów i przy weryfikacji poprawności interpretacji danych przez Wireshark.

14/55
Pasek filtrów i narzędzi

Paski w Wireshark

  • Pasek narzędzi (Toolbar): Start (F8), Stop (F9), Restart, Open (Ctrl+O), Save (Ctrl+S), Close, Find (Ctrl+F), Go to Packet (Ctrl+G)
  • Pasek filtrów (Filter toolbar): pole do wpisywania display filter z podpowiedziami, przyciski: Apply (Enter), Reset (Clear), zakładki z zapisanymi filtrami
  • Pasek wyrażeń (Expression): przycisk „Expression" – otwiera edytor filtru z listą pól protokołów
Zrzut ekranu paska narzędzi i filtrów z opisami

Pasek narzędzi (Toolbar) zawiera przyciski najczęściej używanych funkcji, co pozwala na szybki dostęp bez konieczności przeszukiwania menu. Ikony Start i Stop odpowiadają za sterowanie przechwytywaniem, Open i Save za zarządzanie plikami pcap, a Find i Go to Packet za nawigację po przechwyconych danych. Większość przycisków ma przypisane skróty klawiszowe wyświetlane w dymkach pomocniczych.

Pasek filtrów (Filter toolbar) to kluczowe narzędzie do zawężania widoku wyświetlanych pakietów. Pole tekstowe obsługuje autouzupełnianie - podczas wpisywania Wireshark podpowiada dostępne pola protokołów. Po naciśnięciu Enter filtr jest aplikowany, a przycisk Clear (lub przycisk X) go resetuje. Zakładki filtrów (Filter Bookmarks) pozwalają na przechowywanie często używanych filtrów, co znacząco przyspiesza pracę przy rutynowych analizach.

15/55
Skróty klawiszowe

Szybka nawigacja

Najważniejsze skróty Wireshark:

  • F8 / F9: Start / Stop przechwytywania
  • Ctrl+E: Start/Stop przechwytywania (toggle)
  • Ctrl+K: Capture Options
  • Ctrl+F: Find Packet (szukaj wzorca w przechwyconych danych)
  • Ctrl+G: Go to Packet (skocz do numeru pakietu)
  • Ctrl+Alt+Shift+T: Follow TCP Stream
  • Ctrl+Shift+R: Reload (odświeżenie pliku)
  • Strzałki: nawigacja między pakietami
  • Tab / Shift+Tab: zwijanie/rozwijanie drzewa w Packet Details
Grafika z klawiaturą i zaznaczonymi skrótami

Znajomość skrótów klawiszowych znacząco przyspiesza pracę z Wireshark. Skrót Ctrl+E działa jako przełącznik (toggle) - pierwsze naciśnięcie rozpoczyna przechwytywanie, drugie je zatrzymuje, co jest wygodniejsze niż zapamiętywanie osobnych klawiszy F8 i F9. Ctrl+K otwiera okno Capture Options, gdzie można skonfigurować szczegółowe parametry przechwytywania przed jego rozpoczęciem.

Skrót Ctrl+F uruchamia okno Find Packet z możliwością wyszukiwania według filtra wyświetlania, wartości hex, ciągu tekstowego lub wyrażenia regularnego. Ctrl+Alt+Shift+T (Follow TCP Stream) to jeden z najpotężniejszych skrótów - pozwala błyskawicznie przejść do rekonstrukcji całej sesji TCP, co jest nieocenione przy analizie komunikacji między klientem a serwerem.

16/55
Koloryzacja pakietów

Wizualne rozróżnienie

Wireshark domyślnie koloruje pakiety według protokołu:

  • Różowy: ruch TCP
  • Jasny żółty: ruch UDP
  • Jasny niebieski: DNS
  • Ciemny czerwony: ruch TCP z flagą RST
  • Czarny: pakiety z błędami (malformed)
  • Jasnozielony: ruch HTTP

Konfiguracja: View → Coloring Rules. Możesz tworzyć własne reguły (ważne! najpierw sprawdzane są reguły z góry).

Kolorowanie to pierwsza wskazówka – jeśli widzisz dużo czarnych pakietów (błędy) lub czerwonych (RST), coś jest nie tak!
Lista pakietów z kolorami + okno Coloring Rules

Koloryzacja pakietów w Wireshark to nie tylko kwestia estetyki, ale przede wszystkim funkcjonalne narzędzie ułatwiające szybką identyfikację typów ruchu. Domyślne reguły koloryzacji są starannie dobrane tak, aby pakiety tego samego protokołu miały spójny kolor, co pozwala na błyskawiczne wychwycenie wzorców ruchu nawet przy dużej liczbie pakietów.

Kolor czarny jest zarezerwowany dla pakietów oznaczonych jako błędne (malformed) lub z nieprawidłową sumą kontrolną, a także dla pakietów ręcznie oznaczonych (marked) przez użytkownika. Kolor czerwony dla pakietów TCP z flagą RST (Reset) sygnalizuje gwałtowne zakończenie połączenia, co może wskazywać na błędy aplikacji, timeouty lub działania zapory sieciowej.

17/55
Własne reguły kolorowania

Stwórz własne kolory

Aby dodać regułę kolorowania:

  1. View → Coloring Rules
  2. Kliknij „+" (nowa reguła)
  3. Wpisz nazwę (np. „Wykryty SQL injection")
  4. Wpisz display filter (np. http.request.uri contains "union")
  5. Wybierz kolor tła i tekstu
  6. Kliknij OK

Reguły są sprawdzane od góry – pierwsze dopasowanie wygrywa.

Profile Wireshark pozwalają przechowywać zestawy reguł dla różnych scenariuszy.

Okno Coloring Rules z listą reguł

Tworzenie własnych reguł kolorowania to potężne narzędzie do automatyzacji wstępnej analizy. Na przykład reguła kolorująca na pomarańczowo wszystkie pakiety z adresem IP z określonego zakresu pozwala błyskawicznie zidentyfikować ruch związany z konkretnym serwerem lub podsiecią. Reguła wykorzystująca wyrażenie http.request.uri contains "admin" może ostrzegać przed próbami dostępu do paneli administracyjnych.

Kolejność reguł ma kluczowe znaczenie - Wireshark sprawdza reguły od góry listy i stosuje pierwszą pasującą. Dlatego reguły bardziej szczegółowe powinny znajdować się wyżej, a ogólne niżej. Profilowanie reguł koloryzacji w ramach różnych profili pozwala na szybkie przełączanie między zestawami kolorów dostosowanymi do różnych zadań.

18/55
Profile Wireshark

Profile – dostosuj do zadania

Profile to zestawy ustawień Wireshark (kolumny, kolory, filtry, preferencje).

Profile domyślne:

  • Default: standardowy widok
  • Classic: wygląd starszych wersji Wireshark
  • No columns, no tree: minimalistyczny

Tworzenie profilu: Edit → Configuration Profiles → "+" → nazwa.

Przełączanie: kliknij prawym na pasek stanu (prawy dolny róg) → wybierz profil.

Profile ratują życie, gdy masz wiele zadań – inny profil do analizy HTTP, inny do WLAN, inny do VoIP.
Okno Configuration Profiles

Profile w Wireshark to zaawansowany mechanizm pozwalający na zapisanie i szybkie przywracanie pełnego zestawu ustawień interfejsu. Każdy profil przechowuje: układ i zawartość kolumn w Packet List, reguły koloryzacji, zapisane filtry wyświetlania, preferencje protokołów, ustawienia czcionek i wyglądu oraz konfigurację paska narzędzi.

Profile są przechowywane w katalogu konfiguracyjnym Wireshark (na Windows w %APPDATA%\Wireshark\profiles\), co umożliwia ich przenoszenie między instalacjami i współdzielenie z innymi członkami zespołu. Praktyczne zastosowania profili to profil "VoIP" z kolumnami dla sygnatur SIP i RTP, profil "Security" z regułami koloryzacji dla podejrzanych wzorców oraz profil "Performance" z kolumnami delta time.

19/55
Preferencje Wireshark

Ustawienia globalne

Edit → Preferences (Ctrl+Shift+P):

  • Appearance: skórka (systemowa/ciemna/jasna), czcionka, ikony
  • Columns: domyślne kolumny
  • Font: czcionka w listach i hex dump
  • Capture: domyślny interfejs, opcje przechwytywania
  • Protocols: ustawienia poszczególnych protokołów (np. porty HTTP, TCP)
  • Statistics: ustawienia wykresów i statystyk
Czcionka o stałej szerokości (Consolas, Courier New, DejaVu Sans Mono) – konieczna do hex dump.
Zrzut ekranu Preferences → Appearance

Okno preferencji (Preferences) to centralne miejsce konfiguracji globalnych ustawień Wireshark, które obowiązują we wszystkich profilach, o ile nie zostały nadpisane. Sekcja Appearance pozwala na wybór motywu kolorystycznego (systemowy, jasny, ciemny), co ma znaczenie przy długotrwałej pracy - ciemny motyw zmniejsza zmęczenie oczu podczas wieczornych sesji analitycznych.

W sekcji Protocols można skonfigurować parametry poszczególnych protokołów, na przykład zdefiniować niestandardowe porty dla HTTP (domyślnie 80) lub TLS (domyślnie 443). Jest to szczególnie przydatne w środowiskach, gdzie aplikacje korzystają z niestandardowych portów. W sekcji Capture można ustawić domyślny interfejs przechwytywania, co przyspiesza start gdy regularnie pracujemy z tym samym interfejsem.

20/55
Pierwsze przechwycenie

Krok po kroku

  1. Uruchom Wireshark jako administrator
  2. Wybierz interfejs (np. Ethernet0, Wi-Fi)
  3. Kliknij przycisk Start (lub podwójnie kliknij interfejs)
  4. Otwórz przeglądarkę i wejdź na http://example.com
  5. Wróć do Wireshark – widzisz pakiety na liście
  6. Kliknij Stop (F9)

Gratulacje! Właśnie wykonałeś pierwsze przechwycenie.

Zrzut ekranu Wireshark z przechwyconymi pakietami HTTP

Podczas pierwszego przechwycenia warto zwrócić uwagę na różnorodność pakietów pojawiających się na liście. Nawet przy otwarciu prostej strony internetowej, takiej jak example.com, Wireshark przechwyci nie tylko ruch HTTP, ale także zapytania DNS (rozpoznanie adresu IP), negocjację TCP (trójstronne uzgadnianie - SYN, SYN-ACK, ACK) oraz ewentualne pakiety ARP i inne protokoły działające w tle.

Po zatrzymaniu przechwytywania warto przećwiczyć podstawowe operacje: kliknięcie w pakiet w Packet List i obserwacja zmian w Packet Details i Packet Bytes, próba zastosowania prostego filtra (http w polu display filter), a także sprawdzenie statystyk w Statistics → Protocol Hierarchy.

21/55
Otwieranie istniejącego pliku

Analiza offline

Wireshark może analizować wcześniej zapisane pliki:

  • File → Open (Ctrl+O) – wybierz plik .pcap lub .pcapng
  • Przeciągnij plik do okna Wireshark
  • Pliki skompresowane (gzip, bzip2, zip) – Wireshark otwiera je automatycznie

Obsługiwane formaty:

  • pcap (libpcap/WinPcap)
  • pcapng (nowy format, zalecany)
  • Snoop, IPLog, NetMon, Visual Networks
Zawsze zapisuj w formacie pcapng – obsługuje wiele interfejsów, komentarze, metadata.
Okno Open z listą plików pcap

Wireshark obsługuje wiele formatów plików przechwyconych pakietów, co czyni go uniwersalnym narzędziem do analizy offline. Format pcapng (PCAP Next Generation) jest zalecany, ponieważ obsługuje wiele interfejsów jednocześnie, komentarze do pakietów, rozszerzone metadane oraz większą precyzję znaczników czasu. Starszy format pcap jest ograniczony do pojedynczego interfejsu i nie obsługuje komentarzy.

Możliwość otwierania plików skompresowanych (gzip, bzip2, zip, 7z) bez ręcznej dekompresji to istotne ułatwienie przy pracy z archiwami. Wireshark automatycznie rozpoznaje format kompresji i dekompresuje plik w pamięci, co oszczędza czas i miejsce na dysku. Pliki z urządzeń sieciowych (Cisco, Juniper, MikroTik) często wymagają konwersji przed otwarciem w Wireshark, ale narzędzia takie jak text2pcap mogą w tym pomóc.

22/55
Zapis pliku

Zapisz wyniki

File → Save As (Ctrl+Shift+S):

  • Wireshark/tcpdump/... - pcapng: domyślny format (zalecany)
  • Wireshark - pcap: starszy format (zgodność ze starszymi narzędziami)
  • tcpdump - pcap: to samo co pcap, inna nazwa w menu
  • CSV: eksport listy pakietów do arkusza
  • JSON: eksport do formatu JSON
  • PSML / PDML: XML dla listy pakietów / szczegółów
  • C Arrays: do wbudowania w kod C
CSV i JSON przydają się do dalszej obróbki w Python, Excel, Splunk.
Okno Save As z listą formatów

Różnorodność formatów eksportu w Wireshark pozwala na dostosowanie sposobu zapisu do konkretnych potrzeb. Format pcapng zachowuje wszystkie informacje o przechwyceniu, w tym komentarze i metadane, i jest zalecany do długoterminowego przechowywania. Format pcap (starszy) zapewnia zgodność ze starszymi narzędziami, takimi jak tcpdump i inne programy korzystające z libpcap.

Eksport do CSV i JSON jest szczególnie przydatny przy dalszej obróbce danych w zewnętrznych narzędziach. CSV można otworzyć w Excelu lub zaimportować do bazy danych SQL, a JSON jest naturalnym formatem dla skryptów Python i JavaScript. PSML (Packet Summary Markup Language) i PDML (Packet Details Markup Language) to formaty XML używane do wymiany danych między narzędziami analitycznymi.

23/55
Eksport określonych pakietów

Zapisz tylko wybrane pakiety

Po zastosowaniu display filtra możesz zapisać tylko widoczne pakiety:

  1. Ustaw display filter (np. http)
  2. File → Export Specified Packets
  3. Wybierz: Displayed (tylko widoczne) lub Selected (tylko zaznaczony pakiet)
  4. Zapisz jako nowy plik pcap/pcapng
Przydatne do wyodrębnienia interesującej sesji z dużego pliku pcap.
Okno Export Specified Packets z opcjami

Funkcja Export Specified Packets pozwala na wyodrębnienie podzbioru pakietów z dużego pliku pcap i zapisanie ich w osobnym pliku. Jest to szczególnie przydatne, gdy w wielomegabajtowym pliku interesuje nas tylko konkretna sesja lub zestaw pakietów spełniających określone kryteria. Wybór Displayed zapisuje wszystkie pakiety widoczne po zastosowaniu filtra, a Selected tylko ten jeden konkretny pakiet.

Zastosowania praktyczne tej funkcji obejmują: wyodrębnienie jednej sesji HTTP z pliku zawierającego godziny ruchu, zapisanie pakietów z błędami do osobnego pliku w celu dalszej analizy, przygotowanie małego pliku przykładowego do współdzielenia z zespołem (bez wrażliwych danych) oraz tworzenie zbiorów treningowych dla systemów wykrywania anomalii.

24/55
Znajdowanie pakietów

Szukaj w przechwyconych danych

Edit → Find Packet (Ctrl+F):

  • Display Filter: szukaj pakietów spełniających filtr (np. tcp.port == 443)
  • Hex Value: szukaj wzorca hex (np. „00:11:22")
  • String: szukaj tekstu w surowych danych (np. „password")
  • Regex: szukaj wyrażenia regularnego w surowych danych

Kierunek: wyszukiwanie od bieżącego pakietu → w górę (Up) lub w dół (Down).

Okno Find Packet z opcjami

Funkcja Find Packet to podstawowe narzędzie nawigacyjne w Wireshark, które działa na już przechwyconych danych, a nie na bieżącym strumieniu pakietów. Tryb Display Filter pozwala na znalezienie pierwszego pakietu spełniającego podany filtr wyświetlania, co jest przydatne gdy mamy złożony filtr i chcemy szybko przejść do pierwszego pasującego pakietu.

Tryby Hex Value, String i Regex przeszukują surowe dane pakietów (payload), a nie tylko nagłówki protokołów. Jest to szczególnie przydatne w analizie bezpieczeństwa - na przykład szukanie ciągu "password" w niezaszyfrowanym ruchu może ujawnić przeciek danych uwierzytelniających. Wyrażenia regularne umożliwiają bardziej zaawansowane wzorce, takie jak szukanie adresów e-mail lub numerów kart kredytowych w payloadzie.

25/55
Format wyświetlania czasu

Format czasu w Wireshark

View → Time Display Format:

  • Date and Time of Day: 2024-01-15 14:30:22.123456
  • Seconds Since Beginning of Capture: 0.000000, 1.234567... (domyślny)
  • Seconds Since Previous Captured Packet: delta od poprzedniego
  • Seconds Since Previous Displayed Packet: delta po filtrze
  • UTC Date and Time: czas UTC

Do analizy opóźnień – delta time (od poprzedniego pakietu).

Delta time od poprzedniego wyświetlonego – przydatne, gdy pracujesz z filtrowanym widokiem. Delta bezwzględna – dla całego pliku.
Menu View → Time Display Format z zaznaczonymi opcjami

Format wyświetlania czasu w Wireshark ma kluczowe znaczenie dla poprawnej interpretacji danych. Domyślny format "Seconds Since Beginning of Capture" pokazuje czas względny od rozpoczęcia przechwytywania, co ułatwia orientację w sekwencji zdarzeń. Format "Date and Time of Day" wyświetla bezwzględny znacznik czasu, co jest przydatne przy korelacji z logami systemowymi.

Format "Seconds Since Previous Displayed Packet" różni się od "Seconds Since Previous Captured Packet" tym, że uwzględnia działanie filtra wyświetlania. Jeśli filtr ukrywa część pakietów, delta liczona jest tylko między wyświetlanymi pakietami. Jest to szczególnie przydatne przy analizie opóźnień w sesji po odfiltrowaniu innych strumieni, ponieważ pokazuje rzeczywiste odstępy czasowe między pakietami w analizowanym strumieniu.

26/55
Kodowanie kolorami pakietów – Tabela

Tabela kolorów domyślnych

KolorProtokół/typPrzykład
RóżowyTCPNormalny ruch TCP
Jasny żółtyUDPRuch UDP
Jasny niebieskiDNSZapytania/odpowiedzi DNS
Jasny zielonyHTTPRuch HTTP
Ciemny czerwonyTCP RSTReset połączenia
SzaryARPPakiety ARP
Legenda kolorów z ikonami

Tabela kolorów domyślnych w Wireshark stanowi szybką referencję do najczęściej spotykanych protokołów. Każdy kolor został dobrany w sposób intuicyjny - na przykład zielony dla HTTP (strony www), niebieski dla DNS (usługa katalogowa), a czerwony dla TCP RST (alarmujący stan). Zapamiętanie tych kolorów pozwala na błyskawiczną orientację w ruchu sieciowym bez czytania kolumny Protocol.

Szary kolor dla ARP (Address Resolution Protocol) odróżnia ruch warstwy łącza danych od protokołów warstwy sieci i transportu. Warto zwrócić uwagę, że domyślne reguły kolorowania można dostosować do własnych potrzeb w oknie View → Coloring Rules, a ich znajomość jest szczególnie przydatna podczas prezentacji wyników analizy przed zespołem lub podczas szkoleń.

27/55
Podążanie za strumieniem TCP (Follow TCP Stream)

Podążanie za strumieniem TCP

Follow TCP Stream – rekonstrukcja całej sesji TCP (wysyłane i odebrane dane w kolejności).

Jak użyć:

  1. Wybierz dowolny pakiet TCP w sesji
  2. Kliknij prawym → Follow → TCP Stream (Ctrl+Alt+Shift+T)

Okno pokazuje:

  • Ruch klienta (niebieski) i serwera (czerwony)
  • Treść sesji (np. HTTP request + response)
  • Możliwość wyświetlenia w ASCII, Hex, C Arrays, Raw
Follow TCP Stream to najszybszy sposób na odczytanie treści sesji (np. strony HTML, pliku, odpowiedzi serwera).
Okno Follow TCP Stream z przykładem sesji HTTP

Follow TCP Stream to jedna z najpotężniejszych funkcji Wireshark, która rekonstruuje pełną treść wymienianą w ramach sesji TCP, niezależnie od tego, na ile pakietów została podzielona. Wireshark automatycznie składa wszystkie segmenty TCP w odpowiedniej kolejności, usuwając nagłówki warstw niższych (Ethernet, IP, TCP) i prezentując czystą treść aplikacji.

Okno Follow TCP Stream oferuje kilka trybów wyświetlania: ASCII (czytelny tekst), Hex (szesnastkowy), C Arrays (do wykorzystania w kodzie C), Raw (surowe dane binarne) oraz YAML. Kolory niebieski i czerwony oznaczają odpowiednio dane wysłane z klienta i z serwera. W przypadku protokołów takich jak HTTP funkcja ta pozwala na natychmiastowe odczytanie żądania i odpowiedzi, co jest nieocenione przy debugowaniu aplikacji webowych.

28/55
Podążanie za strumieniem UDP (Follow UDP Stream)

Strumienie UDP

Dla UDP (np. DNS, DHCP) też można podążać za strumieniem:

  • Wybierz pakiet UDP
  • Kliknij prawym → Follow → UDP Stream
  • Widzisz pakiety UDP w obie strony (w kolejności przechwycenia)

Uwaga: UDP nie ma gwarancji dostarczenia – strumień może być niekompletny.

Różnica vs TCP: w TCP Follow masz gwarantowaną kolejność, w UDP – taką, jaką przechwycono.

Okno Follow UDP Stream

Follow UDP Stream działa analogicznie do Follow TCP Stream, ale z uwzględnieniem charakterystyki protokołu UDP. Ponieważ UDP nie gwarantuje dostarczenia ani kolejności pakietów, strumień jest prezentowany w takiej kolejności, w jakiej pakiety zostały przechwycone przez Wireshark. W przypadku utraty pakietów strumień będzie niekompletny, ale nie ma to wpływu na działanie Wireshark - pokaże on to, co udało się przechwycić.

Funkcja ta jest szczególnie przydatna przy analizie protokołów takich jak DNS (zapytania i odpowiedzi), DHCP (przydzielanie adresów IP), SNMP (monitorowanie urządzeń) oraz protokołów strumieniowych audio/video (RTP/RTCP). W przypadku DNS Follow UDP Stream pokazuje pełne zapytanie i odpowiedź w czytelnej formie, co ułatwia diagnostykę problemów z rozpoznawaniem nazw.

29/55
Statystyki pakietów

Podstawowe statystyki

Statistics →:

  • Summary: ogólne informacje (liczba pakietów, czas, przepustowość)
  • Protocol Hierarchy: hierarchia protokołów i liczba pakietów
  • IO Graph: wykres przepustowości w czasie
  • Conversations: lista rozmów (IP, TCP, UDP)
  • Endpoints: lista wszystkich adresów (MAC, IP, portów)
Zawsze zaczynaj analizę od Protocol Hierarchy – od razu widzisz, jakie protokoły dominują w ruchu.
Zrzut ekranu Statistics → Summary

Menu Statistics w Wireshark oferuje bogaty zestaw narzędzi do analizy ilościowej przechwyconego ruchu. Statistics → Summary to punkt wyjścia każdej analizy - pokazuje podstawowe informacje o pliku: liczbę pakietów, czas trwania przechwycenia, średnią przepustowość oraz liczbę pakietów na sekundę. Te dane dają szybki pogląd na skalę i charakter przechwyconego ruchu.

Protocol Hierarchy to jedno z najważniejszych narzędzi analitycznych. Przedstawia drzewiastą strukturę protokołów wykrytych w ruchu z liczbą pakietów, bajtów i procentowym udziałem. Dzięki niemu od razu widać, jakie protokoły dominują w sieci - na przykład czy ruch HTTP przeważa nad HTTPS, jaki procent stanowią zapytania DNS, czy występują nietypowe protokoły. To pierwsze narzędzie, które należy otworzyć po załadowaniu pliku pcap.

30/55
Hierarchia protokołów (Protocol Hierarchy)

Hierarchia protokołów

Okno pokazuje drzewo protokołów z liczbą pakietów, bajtów i procentem.

Przykład:

  • Ethernet (100%)
  • IP (95%) → TCP (70%) → HTTP (30%), SSH (10%)
  • → UDP (25%) → DNS (15%), DHCP (5%)
  • ARP (5%)

Dzięki temu od razu widać:

  • Jaki procent ruchu to HTTP
  • Czy jest nietypowy protokół (np. ICMP – może atak?)
  • Jaki jest stosunek TCP/UDP
Okno Protocol Hierarchy z przykładowymi danymi

Protocol Hierarchy prezentuje dane w formie hierarchicznej zgodnej z modelem warstwowym protokołów. Na najwyższym poziomie znajduje się warstwa łącza danych (Ethernet), a poniżej kolejne warstwy - sieciowa (IP), transportowa (TCP, UDP) i aplikacji (HTTP, DNS, SSH itd.). Procenty w nawiasach pokazują, jaki procent całkowitej liczby pakietów zawiera dany protokół.

Analiza hierarchii protokołów pozwala na szybkie wykrycie anomalii. Na przykład wysoki procent pakietów ICMP (powyżej 1-2%) może sugerować atak ping flood lub problemy z łącznością generujące komunikaty ICMP Destination Unreachable. Nietypowe protokoły, takie jak NetBIOS, SMB czy protokoły przemysłowe (Modbus, Profinet), powinny wzbudzić czujność, jeśli nie są spodziewane w danej sieci.

31/55
Wykres IO (IO Graph)

Wykres ruchu w czasie

IO Graph rysuje przepustowość (bajty/s) lub liczbę pakietów/s.

Ustawienia:

  • Oś X: czas
  • Oś Y: pakiety/s, bajty/s, lub inne
  • Jednostka: bits, bytes, packets
  • Interval: 1 ms, 10 ms, 100 ms, 1 s, 10 s, 1 min
  • Filtry: możesz dodać wiele linii (np. HTTP, DNS, ICMP)

Przydatne do:

  • Znalezienia skoków ruchu (atak DDoS, backup)
  • Analizy okresowości (co godzinę skok?)
  • Porównania ruchu przed/po zmianie
Zrzut ekranu IO Graph z wykresem i legendą

IO Graph (Input/Output Graph) to interaktywne narzędzie do wizualizacji ruchu sieciowego w funkcji czasu. Oś X reprezentuje czas trwania przechwycenia, a oś Y może wyświetlać liczbę pakietów na sekundę, liczbę bajtów na sekundę lub liczbę bitów na sekundę. Interwał (interval) określa rozdzielczość wykresu - krótsze interwały (1 ms, 10 ms) są przydatne do analizy szczegółowej, dłuższe (1 s, 10 s) do analizy trendów.

Jedną z najpotężniejszych funkcji IO Graph jest możliwość dodawania wielu linii z różnymi filtrami wyświetlania. Na przykład można dodać osobną linię dla HTTP, osobną dla DNS i osobną dla ICMP, co pozwala na porównanie udziału poszczególnych protokołów w ruchu w czasie. Funkcja ta jest nieoceniona przy wykrywaniu ataków DDoS (gwałtowny skok ruchu), analizie okresowych backupów (regularne skoki) oraz przy porównywaniu ruchu przed i po wdrożeniu zmian konfiguracyjnych.

32/55
Rozmowy (Conversations)

Rozmowy w sieci

Conversations pokazuje wszystkie pary komunikujące się w sieci:

  • Ethernet: MAC ↔ MAC
  • IPv4: IP ↔ IP
  • TCP: IP:port ↔ IP:port
  • UDP: IP:port ↔ IP:port

Dla każdej pary: liczba pakietów, bajtów, czas rozpoczęcia/zakończenia.

Przydatne do:

  • Znalezienia, kto najwięcej transmituje
  • Wykrycia nietypowych połączeń
  • Oceny, z jakimi serwerami komunikuje się host
Okno Conversations z tabelą

Okno Conversations agreguje ruch według par komunikujących się punktów końcowych na różnych warstwach modelu sieciowego. Na warstwie Ethernet widać komunikację między adresami MAC, na warstwie IPv4 między adresami IP, a na warstwach TCP i UDP między parami IP:port. Dla każdej pary wyświetlane są: liczba pakietów w obie strony, liczba bajtów, czas rozpoczęcia i zakończenia komunikacji oraz średnia przepustowość.

Sortowanie kolumn w Conversations pozwala na szybkie zidentyfikowanie najbardziej aktywnych par w sieci. Na przykład sortowanie po liczbie bajtów pokaże, które paki odpowiadają za największy wolumen ruchu - mogą to być serwery plików, serwery backupu lub serwery streamingowe. Funkcja "Limit to display filter" zawęża widok tylko do pakietów spełniających aktualny filtr, co ułatwia analizę konkretnych sesji.

33/55
Punkty końcowe (Endpoints)

Punkty końcowe

Endpoints – agregacja wszystkich adresów widzianych w ruchu:

  • Ethernet: lista adresów MAC
  • IPv4: lista adresów IP
  • TCP: lista IP:port
  • UDP: lista IP:port

Dla każdego: liczba pakietów wysłanych/odebranych, bajty.

Przydatne do:

  • Znalezienia IP z największym ruchem
  • Sprawdzenia, czy są nieznane adresy IP
  • Wykrycia broadcast storm (jeden MAC wysyła do broadcast)
Okno Endpoints z tabelą

Okno Endpoints różni się od Conversations tym, że pokazuje pojedyncze punkty końcowe, a nie pary komunikacyjne. Każdy adres IP lub MAC jest wyświetlany raz, z zagregowanymi statystykami wszystkich pakietów wysłanych i odebranych przez ten punkt. Dla każdego adresu widać liczbę pakietów wysłanych (Tx) i odebranych (Rx) oraz odpowiadające im liczby bajtów.

Endpoints jest szczególnie przydatne w analizie bezpieczeństwa: można szybko zidentyfikować adresy IP generujące najwięcej ruchu (potencjalny atak DDoS), sprawdzić obecność nieznanych adresów IP w sieci (obcy host) lub wykryć broadcast storm (jeden adres MAC wysyłający dużą liczbę pakietów do adresu broadcast). Funkcja "Name Resolution" włącza rozpoznawanie nazw DNS dla adresów IP, co ułatwia identyfikację serwerów.

34/55
Tryb offline

Analiza bez przechwytywania

Większość analizy wykonuje się na zapisanych plikach pcap/pcapng:

  • Otwórz plik (Ctrl+O)
  • Stosuj display filtry
  • Przeglądaj statystyki
  • Eksportuj interesujące pakiety

Zalety analizy offline:

  • Możesz wrócić do danych później
  • Udostępnić plik innym
  • Automatyzować analizę przez tshark
Wireshark z otwartym plikiem pcap – tryb offline

Praca w trybie offline (analiza zapisanych plików pcap) stanowi większość typowych sesji z Wireshark. Przechwytywanie na żywo jest często jednorazową czynnością - późniejsza analiza, wielokrotne przeglądanie tych samych danych i porównywanie z innymi przechwyceniami odbywa się już na plikach. Tryb offline pozwala na skupienie się na analizie bez presji czasu i bez obciążania sieci dodatkowym procesem przechwytywania.

Zaletą analizy offline jest również możliwość współdzielenia plików pcap z innymi członkami zespołu. Współczesne narzędzia do współpracy, takie jak CloudShark czy przenoszenie plików przez bezpieczne kanały (SFTP, Nextcloud), umożliwiają zdalną analizę i konsultacje. Dodatkowo automatyzacja analizy przez tshark (wersja CLI Wireshark) pozwala na przetwarzanie setek plików pcap w skryptach, co jest nieocenione w środowiskach SOC (Security Operations Center).

35/55
Mergecap

Scalanie plików pcap

mergecap łączy wiele plików pcap/pcapng w jeden:

# Połącz dwa pliki
mergecap -w polaczony.pcap plik1.pcap plik2.pcap

# Połącz wszystkie pliki z katalogu
mergecap -w wszystkie.pcap *.pcap

Przydatne, gdy przechwytywanie zapisało się w wielu plikach (ring buffer, rotate).

Schemat: dwa pliki → mergecap → jeden plik

Narzędzie mergecap jest częścią pakietu Wireshark i służy do łączenia wielu plików pcap/pcapng w jeden, z zachowaniem chronologicznej kolejności pakietów. Jest to szczególnie przydatne, gdy przechwytywanie było prowadzone z wykorzystaniem mechanizmu ring buffer (zapisywanie do wielu plików o ograniczonym rozmiarze) lub gdy kilka sesji przechwytywania zostało zapisanych w osobnych plikach.

mergecap obsługuje również opcje zaawansowane, takie jak łączenie tylko wybranych pakietów (-r, -R) oraz określanie typu pliku wynikowego (-F pcap lub -F pcapng). Narzędzie działa w trybie wsadowym, co pozwala na łatwą integrację ze skryptami automatyzującymi obróbkę plików pcap. Warto pamiętać, że mergecap nie modyfikuje oryginalnych plików, a jedynie tworzy nowy, scalony plik wynikowy.

36/55
editcap

Modyfikacja plików pcap

editcap pozwala na modyfikację plików pcap:

# Wyciągnij pierwsze 100 pakietów
editcap -r plik.pcap wycinek.pcap 1-100

# Usuń pakiety od 50 do 100
editcap -r plik.pcap bez_50_100.pcap !50-100

# Zmień snaplen na 128 bajtów
editcap -s 128 plik.pcap przyciete.pcap

# Podziel plik na części po 1000 pakietów
editcap -c 1000 duzy.pcap czesc
Przykłady użycia editcap w terminalu

editcap to wszechstronne narzędzie do manipulacji plikami pcap z linii poleceń. Umożliwia wyodrębnianie zakresów pakietów (opcja -r z zakresem lub listą zakresów), usuwanie pakietów (zakres z wykrzyknikiem), zmianę snapshot length (-s) oraz dzielenie dużych plików na mniejsze części (-c). Opcje te są niezbędne przy przygotowywaniu danych do dalszej analizy lub przy anonimizacji danych przed udostępnieniem.

Zaawansowane opcje editcap obejmują: zmianę znaczników czasowych (-t), dodawanie opóźnień między pakietami (-o), zmianę adresów MAC (-a) i IP (-A) w celu anonimizacji, a także konwersję między formatami pcap i pcapng (-F). Narzędzie to jest często używane w połączeniu z tshark w skryptach automatyzujących obróbkę danych pcap na serwerach analitycznych.

37/55
capinfos

Co zawiera plik pcap?

capinfos plik.pcap
File name:           plik.pcap
File type:           Wireshark/tcpdump/... - pcapng
File encapsulation:  Ethernet
Packet size limit:   file hdr: 65535 bytes
Number of packets:   1.5k
File size:           2.4 MB
Data size:           2.3 MB
Capture duration:    34.2 seconds
Start time:          2024-01-15 14:30:22
End time:            2024-01-15 14:30:56
Data rate:           56.7 kBps
capinfos to pierwsze narzędzie, którego używasz po otrzymaniu pliku pcap – daje pogląd, co zawiera.
Zrzut ekranu terminala z capinfos

capinfos to jedno z najprostszych, a zarazem najbardziej przydatnych narzędzi w zestawie Wireshark. Wyświetla podstawowe informacje o pliku pcap: liczbę pakietów, rozmiar pliku, czas trwania przechwycenia, średnią przepustowość, typ enkapsulacji oraz czas rozpoczęcia i zakończenia. Te dane pozwalają na szybką ocenę, czy plik zawiera to, czego oczekujemy, bez konieczności otwierania go w Wireshark.

W środowiskach SOC i NOC analitycy codziennie otrzymują dziesiątki plików pcap z różnych źródeł. Uruchomienie capinfos na każdym pliku pozwala na szybkie odrzucenie plików nieistotnych (zbyt mało pakietów, zbyt krótki czas trwania) i skupienie się na tych, które mogą zawierać interesujące dane. Narzędzie obsługuje również format wyjściowy maszynowy (-M), co ułatwia integrację z systemami analitycznymi i skryptami automatyzującymi.

38/55
Czas delta (Delta time)

Mierzenie czasu między pakietami

Aby znaleźć opóźnienia:

  1. Włącz kolumnę Delta Time (czasu od poprzedniego pakietu)
  2. Sortuj kolumnę Delta (kliknij nagłówek)
  3. Pakiet z największą deltą = największe opóźnienie

Możesz też ustawić display filter:

# Pakiety z opóźnieniem > 1 sekundy
frame.time_delta > 1

Przydatne do znajdowania „długich przerw" w komunikacji.

Lista pakietów z kolumną Delta Time posortowaną malejąco

Pomiar czasu między pakietami (delta time) jest fundamentalnym narzędziem w analizie wydajności sieci. Kolumna Delta Time, dodana do widoku Packet List, pokazuje czas, jaki upłynął między bieżącym pakietem a poprzednim przechwyconym pakietem. Sortowanie tej kolumny malejąco natychmiast pokazuje największe przerwy w komunikacji, które mogą wskazywać na problemy z wydajnością.

Display filter frame.time_delta > 1 pozwala na wyświetlenie tylko pakietów, po których nastąpiła przerwa dłuższa niż 1 sekunda. Jest to przydatne przy wyszukiwaniu timeoutów w sesjach TCP lub długich przerw między żądaniem a odpowiedzią serwera. W praktyce wartości delta time powyżej 100-200 ms w sieci LAN powinny wzbudzić zainteresowanie, a powyżej 1 sekundy stanowią silną wskazówkę problemów.

39/55
Markowanie pakietów

Oznaczanie ważnych pakietów

Możesz oznaczyć pakiet (mark) – zmieni kolor na czarny i będzie widoczny:

  • Kliknij prawym na pakiet → Mark Packet (Ctrl+M)
  • Zaznacz wiele pakietów → Shift+klik → Mark wszystkie
  • Usuń oznaczenie: ponownie Ctrl+M

Przydatne do:

  • Zaznaczania kluczowych pakietów w długiej sesji
  • Oznaczania błędów do późniejszego przejrzenia
Lista pakietów z oznaczonym (czarnym) pakietem

Funkcja Mark Packet (oznaczanie pakietów) to prosty, ale skuteczny sposób na wizualne wyróżnienie ważnych pakietów w długiej liście. Oznaczony pakiet zmienia kolor tła na czarny z białym tekstem (zakładając domyślny schemat koloryzacji), co czyni go łatwo widocznym nawet przy setkach innych pakietów.

Zastosowania praktyczne oznaczania pakietów obejmują: zaznaczanie pierwszego i ostatniego pakietu interesującej sesji, oznaczanie pakietów z błędami do późniejszego przejrzenia, zaznaczanie pakietów z nietypowymi wartościami pól (np. nieoczekiwane flagi TCP) oraz organizację miejsc w długiej analizie, do których chcemy wrócić. Oznaczenia są tracone po zamknięciu pliku, chyba że zapiszemy plik w formacie pcapng z komentarzami.

40/55
Komentarze do pakietów

Dodawanie notatek

Wireshark pozwala dodawać komentarze do pakietów (tylko w pcapng):

  • Kliknij prawym → Packet Comment (Ctrl+Alt+C)
  • Wpisz tekst
  • Komentarz jest zapisywany w pliku pcapng

Przydatne do:

  • Dokumentowania analizy
  • Dodawania wniosków
  • Współpracy zespołowej

Wyświetlanie: View → Packet Comments.

Komentarze są przechowywane w pliku pcapng – jeśli zapiszesz jako pcap (stary format), komentarze zostaną utracone!
Okno Packet Comment z przykładowym komentarzem

Komentarze do pakietów to zaawansowana funkcja Wireshark umożliwiająca dodawanie notatek do poszczególnych pakietów bezpośrednio w pliku pcapng. Jest to nieocenione narzędzie przy dokumentowaniu analizy - można dodać komentarz wyjaśniający, dlaczego dany pakiet jest interesujący, jaka jest jego rola w sesji, czy jakie wnioski z niego płyną.

Komentarze są przechowywane bezpośrednio w pliku pcapng jako część metadanych, co oznacza, że przetrwają zamknięcie i ponowne otwarcie pliku oraz mogą być odczytane przez innych użytkowników Wireshark. Wyświetlanie komentarzy włącza się przez View → Packet Comments, które dodaje dodatkową kolumnę lub znacznik w Packet List. Należy pamiętać, że zapis w starym formacie pcap spowoduje utratę wszystkich komentarzy - to jeden z głównych powodów, dla których zaleca się używanie pcapng.

41/55
Ignorowanie pakietów

Wykluczanie pakietów z widoku

Możesz oznaczyć pakiet jako ignorowany (ignore):

  • Kliknij prawym → Ignore Packet (Ctrl+D)
  • Ignorowany pakiet jest szary i przekreślony
  • Statystyki nie uwzględniają ignorowanych pakietów

Przydatne do:

  • Tymczasowego ukrycia pakietów, które przeszkadzają
  • Odrzucenia „śmieci" bez zmiany filtra
Lista pakietów z ignorowanym (szarym) pakietem

Funkcja Ignore Packet (Ctrl+D) pozwala na tymczasowe usunięcie pakietu z widoku i ze statystyk bez zmiany filtra wyświetlania. Ignorowany pakiet jest wyświetlany jako szary i przekreślony, co odróżnia go od pakietów normalnych i oznaczonych. Jest to przydatne, gdy pojedyncze pakiety zakłócają analizę, na przykład pakiety keepalive lub broadcasty ARP generowane w tle.

W przeciwieństwie do filtra wyświetlania, ignorowanie pakietów działa na poziomie pojedynczych pakietów, a nie na poziomie wyrażenia. To oznacza, że można selektywnie ukryć kilka konkretnych pakietów bez wpływu na widoczność innych pakietów tego samego typu. Funkcja jest szczególnie przydatna podczas przygotowywania danych do prezentacji lub raportu, gdy chcemy usunąć nieistotne pakiety z widoku.

42/55
Punkt odniesienia czasu (Time Reference)

Punkt odniesienia czasu

Możesz ustawić pakiet jako Time Reference:

  • Kliknij prawym → Set Time Reference (Ctrl+T)
  • Pakiet z TOR (Time of Reference) ma czas 0.000000
  • Kolejne pakiety liczą czas od tego punktu

Przydatne do:

  • Mierzenia czasu od konkretnego zdarzenia (np. od pierwszego SYN)
  • Analizy czasu odpowiedzi serwera
Lista pakietów z ustawionym Time Reference

Time Reference (Ctrl+T) to funkcja ustawiająca punkt odniesienia czasu dla wyświetlanych pakietów. Po ustawieniu Time Reference na wybranym pakiecie, jego czas w kolumnie Time zmienia się na 0.000000, a wszystkie kolejne pakiety wyświetlają czas względny od tego punktu. Funkcja ta pozwala na precyzyjne mierzenie czasu między zdarzeniami bez konieczności ręcznego odejmowania znaczników czasowych.

Praktyczne zastosowania Time Reference obejmują: pomiar czasu odpowiedzi serwera (ustaw referencję na SYN, sprawdź czas do SYN-ACK), pomiar czasu trwania sesji (referencja na pierwszy pakiet, ostatni pakiet pokazuje całkowity czas), analizę opóźnień między kolejnymi żądaniami w tej samej sesji oraz porównywanie czasów odpowiedzi między różnymi serwerami w różnych przechwyceniach.

43/55
Retransmisje TCP

Obliczanie retransmisji

Wireshark automatycznie oznacza retransmisje TCP.

Display filter na retransmisje:

# Wszystkie retransmisje TCP
tcp.analysis.retransmission

# Duplicate ACK
tcp.analysis.duplicate_ack

# Zero Window (odbiorca przeciążony)
tcp.analysis.zero_window

Wysoki % retransmisji (>2%) wskazuje na problemy (przeciążenie, słabe połączenie, błędy).

Wireshark z filtrem tcp.analysis.retransmission

Retransmisje TCP to pakiety wysłane ponownie z powodu braku potwierdzenia ich odbioru. Wireshark automatycznie wykrywa retransmisje, porównując numery sekwencyjne TCP i znaczniki czasowe. Wskaźnik retransmisji powyżej 2% jest uważany za sygnał ostrzegawczy - im wyższy procent, tym poważniejszy problem z łączem, który może wynikać z przeciążenia, zakłóceń na łączu, błędów interfejsu lub problemów z kolejkami na routerach.

Wireshark oferuje kilka filtrów związanych z analizą TCP. tcp.analysis.retransmission pokazuje wszystkie retransmisje, tcp.analysis.fast_retransmission szybkie retransmisje (wywołane przez duplicate ACK), a tcp.analysis.duplicate_ack pakiety z potwierdzeniami duplikatów. Filtr tcp.analysis.zero_window wskazuje sytuację, w której odbiorca informuje nadawcę o przepełnieniu bufora (reklamuje okno zerowe), co zmusza nadawcę do wstrzymania transmisji.

44/55
Pakiety z błędami

Pakiety problematyczne

Wireshark oznacza pakiety z błędami na czarno.

Display filtry:

# Wszystkie błędy
_ws.malformed || ip.checksum_bad || tcp.checksum_bad || tcp.analysis.flags

# Błędne sumy kontrolne (IP, TCP, UDP)
_ws.malformed || ip.checksum_bad || tcp.checksum_bad

# TCP problems
tcp.analysis.flags && !tcp.analysis.ack_lost_segment
Często błędne sumy kontrolne TCP są wynikiem „TCP checksum offloading" – karta sieciowa liczy sumę, ale Wireshark widzi 0x0000. Nie zawsze to realny błąd!
Lista pakietów z błędami (czarne)

Wireshark oznacza pakiety zawierające błędy czarnym kolorem tła (w domyślnym schemacie). Błędy mogą być różnego rodzaju: malformed (nieprawidłowa struktura pakietu), bad_checksum (nieprawidłowa suma kontrolna IP, TCP lub UDP) oraz tcp.analysis.flags (różne problemy wykryte przez analizator TCP Wireshark). Każdy z tych typów błędów wymaga innego podejścia diagnostycznego.

Szczególną uwagę należy zwrócić na fałszywe błędy sum kontrolnych TCP spowodowane przez mechanizm TCP checksum offloading. Wiele nowoczesnych kart sieciowych oblicza sumę kontrolną TCP sprzętowo po przekazaniu pakietu do sterownika, ale Wireshark przechwytuje pakiet przed tym obliczeniem, widząc pole sumy kontrolnej jako 0x0000. Aby uniknąć fałszywych alarmów, można wyłączyć weryfikację sum kontrolnych TCP w preferencjach Wireshark (Protocols → TCP → Validate checksums if possible).

45/55
Odciążanie sumy kontrolnej TCP (TCP Checksum Offloading)

Fałszywe błędy?

Wiele kart sieciowych oblicza sumę kontrolną TCP/IP sprzętowo (offloading).

Wireshark przechwytuje pakiet przed obliczeniem sumy – widzi 0x0000.

Rozwiązania:

  • Wyłącz offloading: ethtool -K eth0 tx off rx off
  • W Wireshark: Edit → Preferences → Protocols → TCP → Validate checksums if possible – odznacz
Jeśli widzisz dużo fałszywych błędów TCP checksum – to nie problem sieci, tylko wynika z offloading. Wyłącz weryfikację w Wireshark lub wyłącz offloading.
Okno Preferences → Protocols → TCP z opcją checksum

TCP Checksum Offloading to technika stosowana w nowoczesnych kartach sieciowych, w której obliczanie sumy kontrolnej TCP i IP jest przenoszone z CPU na kartę sieciową (NIC) w celu odciążenia procesora. Problem polega na tym, że Wireshark przechwytuje pakiety w stosie sieciowym systemu operacyjnego, zanim karta sieciowa zdąży obliczyć poprawną sumę kontrolną dla pakietów wychodzących.

Rozwiązaniem problemu fałszywych błędów sum kontrolnych jest albo wyłączenie weryfikacji sum kontrolnych w ustawieniach Wireshark (zalecane dla większości użytkowników), albo fizyczne wyłączenie offloading na karcie sieciowej za pomocą narzędzia ethtool (w Linux). Wyłączenie weryfikacji w Wireshark jest bezpieczne - nie wpływa na działanie sieci, a jedynie ukrywa fałszywe błędy. W przypadku rzeczywistych błędów sum kontrolnych inne objawy (retransmisje, zrywanie połączeń) będą widoczne w analizie.

46/55
Wireshark a pliki pcap

Różne źródła plików

Wireshark może analizować pliki z wielu źródeł:

  • Z własnego przechwycenia
  • Z przechwycenia kolegi (współpraca)
  • Z narzędzi: tcpdump, tshark, dumpcap
  • Z urządzeń sieciowych (Cisco, Juniper, MikroTik)
  • Z próbek: https://wiki.wireshark.org/SampleCaptures

SampleCaptures to skarbnica – znajdziesz tam pliki z atakami, błędami, ciekawymi protokołami.

Strona SampleCaptures w przeglądarce

Różnorodność źródeł plików pcap sprawia, że Wireshark jest uniwersalnym narzędziem do analizy ruchu sieciowego niezależnie od środowiska przechwytywania. Pliki z narzędzi CLI takich jak tcpdump i tshark są kompatybilne z Wireshark, co pozwala na przechwytywanie na zdalnych serwerach bez interfejsu graficznego i późniejszą szczegółową analizę na stacji roboczej.

Strona SampleCaptures na wiki Wireshark to bezcenne źródło materiałów do nauki i testowania. Zawiera setki plików pcap z różnymi protokołami, typami ataków (DDoS, ARP spoofing, SQL injection), błędami sieciowymi i nietypowymi zachowaniami protokołów. Praca z tymi przykładami pozwala na zdobycie praktycznego doświadczenia bez konieczności samodzielnego prowokowania incydentów sieciowych w środowisku produkcyjnym.

47/55
Podsumowanie 1

Co już wiemy?

  • Wireshark ma trzy panele: Packet List, Packet Details, Packet Bytes
  • Profile i reguły koloryzacji pomagają w organizacji pracy
  • Display filtry to podstawa analizy
  • Follow TCP Stream rekonstruuje sesję
  • Statystyki: Protocol Hierarchy, IO Graph, Conversations, Endpoints
Mapa myśli

W ciągu tej części poznaliśmy fundamenty pracy z Wireshark, które są niezbędne do dalszej, bardziej zaawansowanej analizy. Trzy panele (Packet List, Packet Details, Packet Bytes) stanowią rdzeń interfejsu, a umiejętność sprawnej nawigacji między nimi jest kluczowa. Profile i reguły koloryzacji pozwalają na dostosowanie środowiska pracy do konkretnych zadań, co znacząco zwiększa efektywność.

Display filtry są podstawowym narzędziem analitycznym - umiejętność ich konstruowania i stosowania decyduje o szybkości i skuteczności analizy. Follow TCP Stream i narzędzia statystyczne (Protocol Hierarchy, IO Graph, Conversations, Endpoints) to potężne funkcje, które pozwalają na szybkie uzyskanie ogólnego obrazu ruchu i zagłębienie się w szczegóły interesujących sesji. Te umiejętności stanowią solidny fundament przed przejściem do bardziej zaawansowanych tematów.

48/55
Podsumowanie 2

Warto zapamiętać

  • Wireshark wymaga uprawnień administratora do przechwytywania
  • Zapisuj w pcapng – więcej funkcji
  • Komentarze do pakietów tylko w pcapng
  • TCP Checksum offloading może powodować fałszywe błędy
  • Zawsze sprawdzaj Protocol Hierarchy na początku analizy
Lista ikon

Zapamiętanie tych pięciu kluczowych punktów pozwoli uniknąć najczęstszych pułapek przy pracy z Wireshark. Uprawnienia administratora są wymagane na Windows i Linux do przechwytywania pakietów - bez nich lista interfejsów będzie pusta. Używanie formatu pcapng zamiast pcap zapewnia dostęp do wszystkich funkcji nowoczesnego Wireshark, w tym komentarzy, wielu interfejsów i rozszerzonych metadanych.

Świadomość zjawiska TCP checksum offloading i umiejętność jego rozpoznania (fałszywe błędy sum kontrolnych tylko dla pakietów wychodzących, dla przychodzących sumy są poprawne) pozwala uniknąć fałszywej diagnozy problemów sieciowych. Zasada rozpoczynania każdej analizy od Protocol Hierarchy to dobra praktyka, która oszczędza czas i zapewnia pełny obraz sytuacji jeszcze przed zagłębieniem się w szczegóły.

49/55
Pytania kontrolne 1

Sprawdź swoją wiedzę

  1. Pytanie: Jakie trzy panele główne ma Wireshark?

Odpowiedź: Packet List (lista pakietów), Packet Details (szczegóły), Packet Bytes (hex dump).

  1. Pytanie: Do czego służy Follow TCP Stream?

Odpowiedź: Do rekonstrukcji całej sesji TCP – widzimy dane wysłane i odebrane w kolejności.

Ikona znaku zapytania

Trzy panele Wireshark (Packet List, Packet Details, Packet Bytes) tworzą zintegrowany interfejs do analizy pakietów na różnych poziomach szczegółowości. Packet List stanowi przegląd wszystkich pakietów, Packet Details umożliwia inspekcję struktury protokołów w wybranym pakiecie, a Packet Bytes pokazuje surową reprezentację binarną. Zrozumienie relacji między tymi panelami jest kluczowe dla efektywnej pracy z narzędziem.

Follow TCP Stream rekonstruuje pełną sesję TCP, składając wszystkie segmenty w odpowiedniej kolejności i usuwając nagłówki protokołów niższych warstw. Wynikiem jest czysta treść wymieniana między klientem a serwerem, prezentowana w czytelnym formacie z podziałem na dane wysłane (niebieski) i odebrane (czerwony). Funkcja ta działa dla każdego protokołu działającego na TCP, w tym HTTP, SMTP, FTP i wielu innych.

50/55
Pytania kontrolne 2

Sprawdź swoją wiedzę – ciąg dalszy

  1. Pytanie: Jaka jest różnica między profilem a regułą koloryzacji?

Odpowiedź: Profil to zestaw wszystkich ustawień (kolumny, kolory, filtry). Reguła koloryzacji to tylko kolor dla pakietu spełniającego warunek.

  1. Pytanie: Co oznacza czarny pakiet na liście Wireshark?

Odpowiedź: Błąd (malformed, bad checksum) lub oznaczony (marked) przez użytkownika.

Ikona znaku zapytania

Różnica między profilem a regułą koloryzacji jest fundamentalna dla zrozumienia organizacji pracy w Wireshark. Profil to kompletny zestaw ustawień obejmujący układ kolumn, reguły koloryzacji, zapisane filtry, preferencje protokołów i ustawienia interfejsu. Reguła koloryzacji to pojedynczy warunek (wyrażenie filtru) z przypisanym kolorem tła i tekstu, służący do wizualnego wyróżnienia pakietów spełniających dany warunek. Profil może zawierać wiele reguł koloryzacji.

Czarny kolor pakietu w domyślnym schemacie Wireshark ma dwa znaczenia. Po pierwsze, może oznaczać błąd: nieprawidłową strukturę pakietu (malformed), błędną sumę kontrolną (bad checksum) lub problem wykryty przez analizator TCP (tcp.analysis.flags). Po drugie, może oznaczać pakiet ręcznie oznaczony (marked) przez użytkownika za pomocą skrótu Ctrl+M. Rozróżnienie tych dwóch przypadków wymaga spojrzenia na kolumnę Info - pakiety z błędami mają odpowiednie oznaczenie w opisie.

51/55
Pytania kontrolne 3

Sprawdź swoją wiedzę – ciąg dalszy

  1. Pytanie: W jakim formacie należy zapisać plik, aby zachować komentarze do pakietów?

Odpowiedź: pcapng. Stary format pcap nie obsługuje komentarzy.

  1. Pytanie: Jakie narzędzie służy do uzyskania informacji o pliku pcap (liczba pakietów, czas trwania)?

Odpowiedź: capinfos (część pakietu Wireshark).

Ikona znaku zapytania

Format pcapng (PCAP Next Generation) został wprowadzony jako następca starszego formatu pcap w celu rozwiązania jego ograniczeń. Oprócz komentarzy do pakietów, pcapng obsługuje wiele interfejsów przechwytywania w jednym pliku, rozszerzone metadane (nazwy interfejsów, adresy IP), precyzyjne znaczniki czasowe (nanosekundy), bloki danych pomocy (opisy, notatki) oraz łatwą rozszerzalność o nowe typy bloków.

capinfos to narzędzie wiersza poleceń dostarczane z pakietem Wireshark, które wyświetla szczegółowe informacje o plikach pcap/pcapng. Oprócz podstawowych danych (liczba pakietów, czas trwania, przepustowość), capinfos może podać informacje o typie enkapsulacji, rozmiarze snapshot length, występowaniu komentarzy, liczbie interfejsów, typie pliku i wielu innych parametrach. Opcja -M (machine-readable) formatuje wyjście do łatwego przetwarzania w skryptach.

52/55
Zadanie praktyczne

Wykonaj samodzielnie

  1. Otwórz Wireshark, przechwyć 50 pakietów podczas przeglądania strony internetowej
  2. Ustaw display filter: http – tylko pakiety HTTP
  3. Wybierz jeden pakiet GET i użyj Follow TCP Stream – zobacz żądanie i odpowiedź
  4. Otwórz Statistics → Protocol Hierarchy – który protokół ma najwięcej pakietów?
  5. Dodaj kolumnę Delta Time (czasu od poprzedniego pakietu) i znajdź największe opóźnienie
Ikony zadań

Zadanie praktyczne obejmuje pięć kroków, które prowadzą od prostego przechwycenia do zaawansowanej analizy statystycznej. W kroku pierwszym wystarczy przechwycić 50 pakietów - tyle zwykle generuje otwarcie jednej strony internetowej z uwzględnieniem zapytań DNS, negocjacji TCP i ruchu TLS/HTTP. Krok drugi (filtr http) pokazuje siłę filtrów wyświetlania - z setek pakietów pozostają tylko te związane z protokołem HTTP.

Krok trzeci (Follow TCP Stream na pakiecie GET) to praktyczne zastosowanie jednej z najpotężniejszych funkcji Wireshark. Pozwala zobaczyć pełne żądanie HTTP (metoda, ścieżka, nagłówki) i odpowiedź serwera (kod statusu, nagłówki, treść). Krok czwarty (Protocol Hierarchy) i piąty (kolumna Delta Time) to wprowadzenie do analizy statystycznej i pomiarów wydajności, które będą rozwijane w kolejnych częściach cyklu.

53/55
Wireshark w terminalu

Wireshark bez GUI

Wireshark zawiera narzędzia CLI:

  • tshark: analiza i przechwytywanie w terminalu
  • dumpcap: tylko przechwytywanie
  • capinfos: informacje o pliku
  • editcap: edycja plików
  • mergecap: łączenie plików
  • text2pcap: konwersja hex dump → pcap

Większość funkcji Wireshark jest dostępna przez tshark – przydatne w skryptach i automatyzacji.

Loga narzędzi CLI Wireshark

Pakiet Wireshark zawiera cały zestaw narzędzi wiersza poleceń, które umożliwiają przechwytywanie i analizę ruchu sieciowego bez interfejsu graficznego. tshark jest najpotężniejszym z nich - oferuje praktycznie wszystkie funkcje Wireshark dostępne z poziomu terminala, w tym odczytywanie plików pcap, stosowanie filtrów wyświetlania, generowanie statystyk i eksport danych w formatach tekstowych.

dumpcap to lekki backend przechwytywania używany przez Wireshark i tshark, który może działać jako samodzielne narzędzie do przechwytywania z minimalnym narzutem. text2pcap umożliwia konwersję plików hex dump (np. z formatu wyjściowego tcpdump -X) do formatu pcap, co jest przydatne przy odtwarzaniu danych z różnych źródeł. Wszystkie te narzędzia można łatwo integrować ze skryptami bash, PowerShell i Python, co pozwala na automatyzację powtarzalnych zadań analitycznych.

54/55
Najczęstsze problemy

Problemy z Wireshark

  • Nie widzę interfejsów: brak Npcap (Windows) lub uprawnień (Linux)
  • Nie mogę przechwytywać: uruchom jako administrator/sudo
  • Widzę tylko własny ruch: w sieci z przełącznikiem potrzebujesz SPAN/TAP
  • Dużo czarnych pakietów: TCP offloading – wyłącz weryfikację sum kontrolnych
  • Wolno działa: za dużo pakietów – użyj capture filtra
Lista problemów z ikonami rozwiązań

Problemy z brakiem widocznych interfejsów są najczęstsze u nowych użytkowników. Na Windows wymagana jest instalacja Npcap (lub starszego WinPcap), która zapewnia bibliotekę do przechwytywania niskopoziomowego. Na Linux wymagane są uprawnienia root lub dodanie użytkownika do grupy wireshark. W obu przypadkach po instalacji konieczne jest ponowne uruchomienie Wireshark.

Ograniczenie do własnego ruchu wynika z architektury sieci z przełącznikami (switched network). W przeciwieństwie do koncentratorów (hub), przełączniki przekazują ramki tylko do docelowego portu, więc Wireshark na jednym komputerze widzi tylko ruch przeznaczony dla niego oraz broadcast. Aby przechwycić cały ruch w segmencie sieci, konieczne jest skonfigurowanie portu mirror (SPAN) na przełączniku lub fizyczne wpięcie się w sieć za pomocą TAP-a (Test Access Point).

55/55
Zakończenie części 02

Koniec części 2

Dziękujemy za uwagę. W następnej części poznamy szczegółowo filtry Wireshark (display filtry) – składnię, pola protokołów, wyrażenia, zapisywanie i zarządzanie filtrami.

Praca własna:

  • Pobierz przykładowy plik pcap z wiki Wireshark
  • Przećwicz otwieranie, nawigację, statystyki
  • Dodaj własną regułę kolorowania dla ruchu HTTPS
Zapowiedź części 3 – ikona filtra

Druga część cyklu poświęcona Wireshark stanowi solidne wprowadzenie do interfejsu użytkownika i podstawowych technik analizy. Praktyczne zadanie domowe polegające na pobraniu przykładowego pliku pcap z wiki Wireshark i przećwiczeniu poznanych funkcji pozwoli na utrwalenie wiedzy. Szczególnie polecane są pliki z kategorii ataków i błędów, które pokazują praktyczne zastosowanie omówionych narzędzi.

Kolejna część cyklu (Część 3: Filtry Wireshark) będzie poświęcona wyłącznie display filtrom - składni, operatorom porównania i logicznym, polom protokołów, wyrażeniom regularnym, zapisywaniu i zarządzaniu filtrami oraz zaawansowanym technikom, takim jak makra i edytor wyrażeń. Umiejętność sprawnego konstruowania filtrów jest kluczowa dla efektywnej analizy ruchu w środowiskach produkcyjnych.