1/55
Wireshark - statystyki i zaawansowana analiza

Prezentacja przedstawia zaawansowane narzędzia statystyczne Wireshark z menu Statistics, umożliwiające szybką analizę trendów i anomalii w ruchu sieciowym. Omówiono takie funkcje jak Protocol Hierarchy, Conversations, IO Graph, TCP Stream Graphs oraz Service Response Time. Przedstawiono również techniki rekonstrukcji sesji (Follow Stream), eksport obiektów, analizę ekspercką Expert Info oraz wykrywanie ataków sieciowych.

Grafika tytułowa Wireshark statystyki

Narzędzia statystyczne Wireshark stanowią kluczowy element zaawansowanej analizy ruchu sieciowego. W odróżnieniu od podstawowego przechwytywania pakietów, statystyki pozwalają na szybkie wychwycenie trendów, anomalii i wzorców behawioralnych w ruchu sieciowym bez konieczności ręcznego przeglądania każdego pakietu.

W ramach części czwartej cyklu omówione zostaną wszystkie istotne narzędzia z menu Statistics, a także techniki rekonstrukcji sesji (Follow Stream), eksportu obiektów, analizy eksperckiej oraz wykrywania zagrożeń bezpieczeństwa. Zdobyta wiedza umożliwi samodzielną analizę plików pcap w środowisku akademickim i zawodowym.

2/55
Plan części 04

Plan części 4

  • Menu Statistics – przegląd
  • Summary, Protocol Hierarchy
  • Conversations, Endpoints
  • IO Graph, Flow Graph
  • TCP Stream Graphs
  • Service Response Time, DHCP, DNS, HTTP, TLS
  • Follow TCP/UDP/TLS/HTTP Stream
  • Export Objects (HTTP, SMB, TFTP)
  • Expert Info, narzędzia porównawcze
  • Wykrywanie ataków (port scan, ARP spoofing, DDoS)
  • VoIP Calls, Wireshark + Python
  • Studia przypadków
  • Podsumowanie i pytania kontrolne
Mapa myśli plan części 4

Plan czwartej prezentacji obejmuje zarówno zagadnienia podstawowe, jak i zaawansowane techniki analityczne. Kolejność omawianych tematów została zaprojektowana tak, aby stopniowo budować wiedzę - od prostych statystyk ogólnych (Summary), przez hierarchię protokołów, aż po zaawansowane narzędzia, takie jak TCP Stream Graphs i analiza VoIP.

Szczególny nacisk położono na praktyczne zastosowania: wykrywanie ataków sieciowych, analizę wydajności aplikacji oraz automatyzację analizy z wykorzystaniem Pythona. Studia przypadków na końcu prezentacji pokazują, jak w rzeczywistych scenariuszach wykorzystać poznane narzędzia do rozwiązania konkretnych problemów sieciowych.

3/55
Menu Statistics – centrum analizy

Menu Statistics – centrum analizy

Wireshark oferuje rozbudowane narzędzia statystyczne dostępne z menu Statistics.

To nie tylko liczby – to wgląd w strukturę ruchu, wydajność protokołów i zachowanie sieci.

Dostępne opcje:

  • Summary – zbiorcze informacje o pliku pcap
  • Protocol Hierarchy – rozkład protokołów
  • Conversations – rozmowy między parami adresów
  • Endpoints – lista punktów końcowych
  • IO Graph – wykres przepustowości w czasie
  • Flow Graph – diagram sekwencji
  • TCP Stream Graphs – wykresy TCP
  • Service Response Time – czasy odpowiedzi
Menu Statistics w Wireshark

Menu Statistics w Wireshark to centrum zaawansowanej analizy, dostępne bezpośrednio z górnego paska narzędzi. Każda z opcji tego menu dostarcza innego spojrzenia na przechwycony ruch: od zagregowanych podsumowań (Summary), przez rozkłady warstwowe (Protocol Hierarchy), aż po szczegółowe analizy połączeń i wykresy czasowe.

Zrozumienie możliwości każdego z tych narzędzi jest kluczowe dla efektywnej diagnostyki sieci. Doświadczony analityk potrafi w ciągu kilku minut, korzystając z menu Statistics, określić charakter ruchu, zidentyfikować dominujące protokoły, wykryć anomalie i wskazać potencjalne źródła problemów wydajnościowych lub bezpieczeństwa.

4/55
Statistics → Summary

Szczegółowe informacje o pliku

Okno Summary (Statistics → Summary) pokazuje podstawowe metryki pliku przechwycenia:

  • File: nazwa, ścieżka, format (pcap/pcapng), rozmiar
  • Time: pierwszy i ostatni pakiet, całkowity czas trwania
  • Capture: interfejs, komentarz
  • Statistics: liczba pakietów, liczba przefiltrowanych, średnia przepustowość (pps, B/s)

Przykład:

# Przykładowe dane z okna Summary
  Packets: 125 430
  Time span: 362.17 s
  Average pps: 346.3
  Average packet size: 742 B
  Bytes: 93 456 112
  Average bytes/s: 258 012
Okno Summary w Wireshark

Okno Summary stanowi punkt wyjścia każdej analizy pliku pcap. Dostarcza informacji o czasie trwania przechwycenia, liczbie przechwyconych pakietów, średniej przepustowości w pakietach na sekundę (pps) oraz bajtach na sekundę. Te podstawowe metryki pozwalają na szybką ocenę, czy mamy do czynienia z typowym ruchem sieciowym, czy też z incydentem wymagającym głębszej analizy.

Szczególnie istotne są dane o pierwszym i ostatnim pakiecie - określają one ramy czasowe analizy. Liczba przefiltrowanych pakietów (displayed) w porównaniu z całkowitą liczbą (captured) informuje, jak skuteczny jest zastosowany filtr. Wartość Average pps powyżej kilku tysięcy dla łącza 1 Gb/s może sugerować ruch maszynowy, a nie generowany przez człowieka.

5/55
Statistics → Protocol Hierarchy

Analiza warstw protokołów

Protocol Hierarchy (Statistics → Protocol Hierarchy) przedstawia hierarchię protokołów w przechwyconym ruchu.

Dla każdego protokołu pokazuje:

  • Liczbę pakietów
  • Procent pakietów (w stosunku do wszystkich)
  • Liczbę bajtów
  • Procent bajtów
  • Mbit/s – przepustowość dla danego protokołu

Interpretacja procentów: procent w nawiasie oznacza udział w całkowitej liczbie pakietów. Protokoły niższe (np. Ethernet) mają 100%, ponieważ każdy pakiet je zawiera.

Zwróć uwagę na protokoły, które nie powinny występować w sieci (np. NetBIOS, SMBv1) – to sygnał ostrzegawczy.
Okno Protocol Hierarchy

Protocol Hierarchy to hierarchiczny widok rozkładu protokołów w przechwyconym ruchu, prezentowany w formie drzewa. Każdy wiersz reprezentuje protokół, a kolumny pokazują liczbę pakietów, procentowy udział w całkowitym ruchu, liczbę bajtów oraz przepustowość w Mbitach na sekundę. Widok ten pozwala na natychmiastową ocenę, które protokoły dominują w analizowanym segmencie sieci.

Interpretacja procentów wymaga zrozumienia, że protokoły niższych warstw (Ethernet, IP) zawsze będą wykazywać 100% lub bliską 100% wartość, ponieważ każdy pakiet je zawiera. Dopiero protokoły warstwy aplikacji (HTTP, DNS, DHCP) pokazują rzeczywisty rozkład ruchu użytkowego. Nagła dominacja nietypowego protokołu (np. ICMP stanowiącego 90% ruchu) jest silnym sygnałem ostrzegawczym.

W analizie Protocol Hierarchy zawsze zwracaj uwagę na protokoły, które nie powinny występować w danej sieci. Obecność NetBIOS, SMBv1 czy LLMNR w nowoczesnej sieci Windows może wskazywać na nieprawidłową konfigurację lub próbę ataku.
6/55
Normalny vs DDoS

Co mówią procenty?

Normalny ruch HTTP:

  • Ethernet: 100%
  • IPv4: ~95%
  • TCP: ~90%
  • HTTP: ~40–60%

Atak DDoS (SYN flood):

  • TCP: 100%
  • HTTP: 0% (brak pełnych połączeń)
  • IPv4: 100%
  • Duży udział pakietów TCP z samą flagą SYN

Protocol Hierarchy od razu pokazuje, że coś jest nie tak – HTTP powinno stanowić znaczną część ruchu.

Jeśli widzisz >90% TCP i 0% HTTP/HTTPS – sprawdź, czy to atak SYN lub skanowanie portów.
Normalny vs DDoS

Porównanie normalnego ruchu HTTP z atakiem SYN flood na wykresie Protocol Hierarchy to doskonały przykład praktycznego zastosowania tego narzędzia. W normalnych warunkach ruch HTTP stanowi zazwyczaj 40-60% całkowitej liczby pakietów, a TCP około 90% (pozostałe 10% to UDP dla DNS, DHCP i innych usług). W przypadku ataku DDoS typu SYN flood udział TCP wzrasta do 100%, podczas gdy HTTP spada do 0%.

Ta gwałtowna zmiana proporcji wynika z faktu, że atakujący wysyła tysiące pakietów SYN na sekundę, ale nigdy nie kończy trójetapowego uzgadniania połączenia (handshake). Wireshark rejestruje wszystkie te pakiety jako TCP, ale żaden nie osiąga warstwy aplikacji HTTP. Podobny wzorzec można zaobserwować podczas skanowania portów narzędziem Nmap, gdzie samych pakietów SYN może być więcej niż całego pozostałego ruchu.

7/55
Statistics → Conversations

Rozmowy między parami adresów

Conversations (Statistics → Conversations) pokazuje wykaz rozmów między parami punktów końcowych.

Dostępne zakładki:

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

Każda rozmowa pokazuje: liczbę pakietów, bajtów, czas rozpoczęcia i trwania.

Okno Conversations

Okno Conversations w Wireshark agreguje ruch według par punktów końcowych na różnych warstwach modelu OSI. Na zakładce Ethernet widoczne są pary adresów MAC, co pozwala na analizę komunikacji na poziomie warstwy łącza danych. Zakładki IPv4 i IPv6 grupują ruch według adresów IP, a TCP i UDP według par adres IP:port, co jest najbardziej przydatne w diagnostyce aplikacji sieciowych.

Dla każdej rozmowy Wireshark prezentuje liczbę pakietów przesłanych w obu kierunkach, liczbę bajtów, czas rozpoczęcia i czas trwania rozmowy. Kolumny można sortować malejąco lub rosnąco, co ułatwia znalezienie najbardziej aktywnych par komunikujących się urządzeń. Funkcja "Apply as Filter" pozwala na błyskawiczne wyizolowanie ruchu wybranej pary, co jest szczególnie przydatne przy analizie ukierunkowanej na konkretny incydent.

8/55
Praca z Conversations

Praca z Conversations

Sortowanie: kliknij w nagłówek kolumny – np. „Packets" malejąco, aby znaleźć najbardziej aktywną rozmowę.

Filtrowanie: kliknij prawym → „Apply as Filter" → „Selected" – natychmiastowy filtr wyświetlania dla tej rozmowy.

Eksport do CSV: przycisk „Copy" → „Copy as CSV" – dane gotowe do arkusza kalkulacyjnego.

Przykładowy eksport:

Address A,Address B,Packets,Bytes
  192.168.1.10,10.0.0.1,4521,3.2 MB
  192.168.1.20,10.0.0.2,1234,890 KB
Menu kontekstowe Conversations

Praktyczna praca z oknem Conversations wymaga znajomości kilku kluczowych operacji. Sortowanie po kolumnie Packets lub Bytes w porządku malejącym natychmiast wskazuje najbardziej aktywną parę komunikujących się urządzeń, co w przypadku podejrzenia ataku DDoS lub nietypowego transferu danych jest punktem startowym analizy.

Funkcja eksportu do CSV (Copy as CSV) umożliwia dalsze przetwarzanie danych w arkuszach kalkulacyjnych, co jest przydatne przy tworzeniu raportów i analizie statystycznej. Wireshark pozwala również na zastosowanie filtra wyświetlania bezpośrednio z poziomu Conversations, co znacząco przyspiesza pracę - zamiast ręcznie wpisywać filtry, wystarczy kliknąć prawym przyciskiem myszy i wybrać odpowiednią opcję.

9/55
Statistics → Endpoints

Lista punktów końcowych

Endpoints (Statistics → Endpoints) pokazuje wszystkie adresy wykryte w przechwyconym ruchu, pogrupowane według warstw:

  • Ethernet – adresy MAC
  • IPv4 – adresy IP
  • IPv6 – adresy IPv6
  • TCP – adresy IP:port TCP
  • UDP – adresy IP:port UDP

Dla każdego punktu: liczba pakietów, bajtów, czas pierwszy/ostatni.

Okno Endpoints

Endpoints to narzędzie komplementarne względem Conversations - zamiast par adresów pokazuje pojedyncze punkty końcowe wykryte w przechwyconym ruchu. Również tutaj dostępne są zakładki dla różnych warstw (Ethernet, IPv4, IPv6, TCP, UDP). Każdy wpis zawiera adres, liczbę wysłanych i odebranych pakietów, liczbę bajtów oraz znaczniki czasowe pierwszego i ostatniego pakietu.

Endpoints są szczególnie przydatne do szybkiej inwentaryzacji hostów w sieci. Sortując według kolumny Packets, można w kilka sekund zidentyfikować, które urządzenia generują najwięcej ruchu. W połączeniu z funkcją "Apply as Filter" umożliwia to błyskawiczne przejście od widoku zagregowanego do szczegółowej analizy ruchu pojedynczego hosta, co jest standardową procedurą w diagnostyce sieciowej.

10/55
Najbardziej aktywne hosty

Kto generuje najwięcej ruchu?

Posortuj kolumnę „Packets" malejąco – zobaczysz, które hosty są najbardziej aktywne.

Zastosowania:

  • Znajdź serwer, który generuje najwięcej ruchu (np. backup, streaming)
  • Wykryj hosta wysyłającego nadmierną liczbę pakietów (potencjalny atak)
  • Zidentyfikuj nieznane adresy IP w sieci

Po znalezieniu podejrzanego hosta – kliknij prawym przyciskiem → „Apply as Filter" → „Selected" – zobaczysz tylko jego ruch.

Jeśli jeden host wysyła >50% całego ruchu – to podejrzane. Prawdopodobnie backup, streaming lub atak DDoS.
Endpoints posortowane

Identyfikacja najbardziej aktywnych hostów w sieci to jedno z podstawowych zadań analityka. W oknie Endpoints wystarczy posortować kolumnę Packets malejąco, aby uzyskać listę urządzeń uszeregowaną według ilości wygenerowanego ruchu. Jeśli pojedynczy host odpowiada za ponad 50% całego ruchu w sieci, jest to wyraźny sygnał wymagający dalszego zbadania.

Po zidentyfikowaniu podejrzanego hosta należy zastosować filtr wyświetlania, klikając prawym przyciskiem myszy na jego adres i wybierając "Apply as Filter" → "Selected". Następnie można przejść do IO Graph, Protocol Hierarchy i innych narzędzi, aby dokładnie przeanalizować charakter ruchu generowanego przez ten host. Może to być legalny serwer backupowy, serwis streamingowy, ale równie dobrze zainfekowana maszyna uczestnicząca w ataku DDoS.

11/55
Statistics → IO Graph

Wykres przepustowości w czasie

IO Graph (Statistics → IO Graph) to jeden z najpotężniejszych wykresów w Wireshark.

Pokazuje liczbę pakietów lub bajtów na jednostkę czasu (interwał).

Oś X: czas (s). Oś Y: liczba pakietów/bajtów.

Domyślnie pokazuje wszystkie pakiety – możesz dodać filtry wyświetlania dla poszczególnych linii.

IO Graph podstawowy

IO Graph to jedno z najbardziej wszechstronnych narzędzi analitycznych w Wireshark. Wyświetla ono wykres słupkowy lub liniowy przedstawiający liczbę pakietów, bajtów lub bitów na jednostkę czasu. Domyślny interwał wynosi 1 sekundę, ale można go zmienić w zakresie od 1 milisekundy (wymagana precyzyjna synchronizacja czasu) do 10 sekund, w zależności od potrzeb analizy.

Kluczową zaletą IO Graph jest możliwość dodawania wielu linii z różnymi filtrami wyświetlania. Pozwala to na jednoczesne śledzenie ruchu różnych protokołów na jednym wykresie, co ułatwia identyfikację korelacji czasowych. Na przykład dodanie linii dla HTTP (kolor niebieski), DNS (zielony) i tcp.analysis.retransmission (czerwony) pozwala na szybkie sprawdzenie, czy wzrost retransmisji zbiega się w czasie ze zwiększonym ruchem HTTP.

12/55
Konfiguracja IO Graph

Dostosowanie wykresu

IO Graph oferuje wiele opcji konfiguracyjnych:

  • Interval: 0.001 s (1 ms) – 10 s. Mniejszy interwał = więcej szczegółów, ale więcej szumu.
  • Unit: Packets/Tick, Bytes/Tick, Bits/Tick, Advanced (SUM, COUNT, FRAME)
  • Line/Multi/Stack/Bar: styl wyświetlania
  • Dodawanie linii: kliknij „+" i wpisz filtr wyświetlania – np. http, dns, tcp.analysis.retransmission

Przykład konfiguracji 3 linii: http (niebieski), dns (zielony), tcp.analysis.retransmission (czerwony).

Konfiguracja IO Graph

Konfiguracja IO Graph oferuje szereg parametrów wpływających na czytelność i precyzję wykresu. Wybór odpowiedniego interwału (Interval) jest kluczowy: zbyt mały (np. 1 ms) generuje dużo szumu i utrudnia dostrzeżenie trendów, zbyt duży (np. 10 s) może ukryć krótkotrwałe skoki ruchu. Dla typowej analizy sieci LAN interwał 0,1-1 sekundy jest optymalny.

Jednostka (Unit) może być ustawiona na Packets/Tick (liczba pakietów), Bytes/Tick (liczba bajtów), Bits/Tick (liczba bitów) lub Advanced, gdzie dostępne są funkcje SUM, COUNT i FRAME. Styl wyświetlania (Line, Multi, Stack, Bar) wpływa na sposób prezentacji danych. W trybie Stack linie są układane jedna na drugiej, co pokazuje udział poszczególnych protokołów w całkowitym ruchu, podczas gdy Line pozwala na łatwiejsze porównanie trendów poszczególnych strumieni.

13/55
Zastosowania IO Graph

Co można zobaczyć na IO Graph?

  • Skoki ruchu: nagły wzrost → backup, aktualizacja, atak
  • Okresowość: regularne piki → beaconing malware, polling DNS
  • Retransmisje TCP: dodaj filtr tcp.analysis.retransmission – jeśli rosną, sieć ma problemy
  • Porównanie protokołów: która usługa dominuje w danym momencie
  • Wykrycie ataku DDoS: gwałtowny, stały wzrost ruchu do jednego celu

IO Graph pozwala zobaczyć „kształt" ruchu – to pierwsze narzędzie do diagnozy.

IO Graph to twoje pierwsze narzędzie przy otwarciu nieznanego pliku pcap – daje pogląd na charakter ruchu.
IO Graph skok ruchu

IO Graph znajduje zastosowanie w wielu scenariuszach analitycznych, od rutynowego monitorowania po zaawansowaną detekcję ataków. Nagły skok ruchu widoczny jako stroma krzywa w górę może wskazywać na rozpoczęcie backupu, pobieranie aktualizacji systemowej, a w przypadku braku uzasadnienia - na atak DDoS. Regularne, okresowe piki co stały odstęp czasu są charakterystyczne dla beaconingu malware łączącego się z serwerem C&C.

Filtr tcp.analysis.retransmission dodany jako osobna linia na IO Graph pozwala na monitorowanie kondycji sieci. W zdrowej sieci LAN retransmisje powinny stanowić mniej niż 0,1% wszystkich pakietów. Wzrost tego wskaźnika powyżej 1% wskazuje na poważne problemy: przeciążenie łącza, uszkodzone okablowanie, problemy z przełącznikiem lub zbyt małe okno TCP. IO Graph umożliwia wizualną korelację retransmisji z innymi zdarzeniami sieciowymi.

14/55
Statistics → Flow Graph

Diagram sekwencji zdarzeń TCP

Flow Graph (Statistics → Flow Graph) tworzy wizualną reprezentację sekwencji pakietów TCP między dwoma hostami.

Pokazuje:

  • Kierunek pakietów (strzałki w prawo/lewo)
  • Numery sekwencyjne TCP
  • Flag TCP (SYN, ACK, FIN, RST)
  • Czas względny między pakietami

Dostępne tryby: TCP (wszystkie pakiety), wybrana sesja TCP.

Flow Graph

Flow Graph to wizualne narzędzie przedstawiające sekwencję pakietów TCP w formie diagramu przepływu między dwoma hostami. Strzałki skierowane w prawo oznaczają pakiety wysłane od pierwszego hosta do drugiego, a strzałki w lewo - pakiety w kierunku przeciwnym. Każda strzałka opatrzona jest numerem sekwencyjnym TCP, flagą oraz względnym znacznikiem czasu, co pozwala na szczegółową analizę sekwencji zdarzeń.

Flow Graph jest niezastąpiony przy diagnozowaniu problemów z nawiązywaniem i zamykaniem połączeń TCP. Na diagramie można w czytelny sposób prześledzić trójetapowe uzgadnianie (SYN, SYN-ACK, ACK), wymianę danych oraz sekwencję zamykania połączenia (FIN, ACK, FIN, ACK). Obecność pakietu RST (Reset) zamiast FIN w sekwencji zamykającej wskazuje na przymusowe zerwanie połączenia, często spowodowane błędem aplikacji, timeoutem lub działaniem firewalla.

15/55
Handshake TCP na Flow Graph

Handshake na diagramie

Flow Graph doskonale ilustruje trójetapowy handshake TCP:

1. SYN → (klient → serwer)
2. SYN-ACK ← (serwer → klient)
3. ACK → (klient → serwer)

Na diagramie widać też zamykanie połączenia:

1. FIN
2. ACK
3. FIN
4. ACK

Jeśli widzisz RST zamiast FIN – połączenie zostało przerwane (błąd, timeout, atak).

Flow Graph handshake

Trójetapowe uzgadnianie połączenia TCP (three-way handshake) jest fundamentalnym mechanizmem działania protokołu TCP i doskonale widocznym na wykresie Flow Graph. Klient inicjuje połączenie, wysyłając pakiet z ustawioną flagą SYN i losowym numerem sekwencyjnym (np. SEQ=1000). Serwer odpowiada pakietem SYN-ACK, potwierdzając otrzymanie SYN (ACK=1001) i wysyłając własny numer sekwencyjny (SEQ=2000).

Klient kończy uzgadnianie, wysyłając pakiet ACK z numerem potwierdzenia 2001. Od tego momentu obie strony mogą rozpocząć wymianę danych. Flow Graph w czytelny sposób ilustruje również proces zamykania połączenia: każda strona wysyła FIN, który musi zostać potwierdzony ACK. Jeśli zamiast FIN pojawi się RST, oznacza to, że jedna ze stron przerwała połączenie bez prawidłowego zamknięcia, co może świadczyć o błędzie aplikacji lub celowym działaniu atakującego.

16/55
Statistics → TCP Stream Graphs

Wykresy TCP

Menu Statistics → TCP Stream Graphs oferuje trzy rodzaje wykresów dla wybranej sesji TCP:

  • Time-Sequence (Stevens): numery sekwencyjne TCP w czasie
  • Time-Sequence (tcp-trace): jak Stevens, ale inny styl
  • Throughput: przepustowość w czasie
  • Round Trip Time: opóźnienie RTT w czasie
  • Window Scaling: rozmiar okna TCP

Wymagają wybranej sesji TCP – najpierw zaznacz pakiet w sesji, potem wybierz wykres.

TCP Stream Graphs menu

TCP Stream Graphs to zaawansowane narzędzia analityczne dostępne z menu Statistics po zaznaczeniu konkretnego pakietu należącego do badanej sesji TCP. Wireshark oferuje pięć typów wykresów: Time-Sequence (Stevens), Time-Sequence (tcp-trace), Throughput, Round Trip Time i Window Scaling. Każdy z tych wykresów dostarcza innych informacji o charakterystyce wybranej sesji TCP.

Aby skorzystać z TCP Stream Graphs, należy najpierw zaznaczyć dowolny pakiet w analizowanej sesji TCP, a następnie wybrać Statistics → TCP Stream Graphs i odpowiedni typ wykresu. Wykres otworzy się w nowym oknie, prezentując dane dla całej sesji. W przypadku sesji przesyłających duże ilości danych (np. transfer plików) wykresy TCP są szczególnie wartościowe, ponieważ pozwalają na identyfikację wąskich gardeł wydajnościowych.

17/55
Time-Sequence (Stevens)

Analiza okna TCP

Wykres Time-Sequence (Stevens) pokazuje numery sekwencyjne TCP w funkcji czasu.

Interpretacja:

  • Punkty na wykresie = pakiety wysłane
  • Nachylenie linii = szybkość wysyłania (im bardziej strome, tym szybciej)
  • Płaskie odcinki = pauza (czekanie na ACK)
  • Skoki w górę = retransmisje (ten sam numer sekwencji)
  • Górna granica = okno TCP (maks. liczba bajtów w locie)
Plateaus na wykresie Stevens oznaczają, że nadawca czeka na potwierdzenie – to oznaka opóźnienia lub utraty pakietów.
Wykres Time-Sequence Stevens

Wykres Time-Sequence (Stevens) przedstawia numery sekwencyjne TCP w funkcji czasu, co pozwala na wizualną ocenę szybkości transmisji i zachowania okna TCP. Punkty na wykresie reprezentują poszczególne pakiety wysłane w sesji, a ich nachylenie (im bardziej stromo, tym szybciej dane są wysyłane) odzwierciedla szybkość transmisji w danym momencie.

Płaskie odcinki na wykresie (plateaus) są szczególnie istotne diagnostycznie. Oznaczają one, że nadawca wstrzymał wysyłanie danych, czekając na potwierdzenie (ACK) już wysłanych segmentów. Jeśli plateau pojawiają się często i trwają długo, świadczy to o problemach z wydajnością połączenia - najprawdopodobniej zbyt małym oknie TCP lub dużej utracie pakietów. Retransmisje są widoczne jako pakiety z tym samym numerem sekwencyjnym pojawiające się w późniejszym czasie, co tworzy charakterystyczne poziome "skoki" na wykresie.

18/55
Round Trip Time

Pomiar RTT

Wykres Round Trip Time pokazuje zmierzone RTT dla każdego segmentu TCP w sesji.

Wireshark oblicza RTT jako czas między wysłaniem segmentu a otrzymaniem ACK dla niego.

Interpretacja:

  • Niskie, stabilne RTT (np. 1–5 ms) = dobra sieć lokalna
  • Wysokie, zmienne RTT (100–500 ms) = sieć rozległa, łącze satelitarne
  • Gwałtowne skoki RTT = przeciążenie, buforowanie (bufferbloat)

Przykład odczytu: średnie RTT = 23 ms, odchylenie std = 5 ms – stabilne połączenie.

Wykres RTT

Wykres Round Trip Time (RTT) prezentuje zmierzone opóźnienie dla każdego segmentu TCP w obrębie analizowanej sesji. Wireshark oblicza RTT jako czas pomiędzy wysłaniem segmentu a otrzymaniem potwierdzenia (ACK) dla niego. Jest to jeden z najważniejszych wskaźników wydajności połączenia TCP, ponieważ bezpośrednio wpływa na szybkość transmisji - im wyższe RTT, tym wolniej rośnie okno TCP.

Interpretacja wyników RTT wymaga znajomości charakterystyki sieci. W sieci LAN wartości RTT poniżej 1 ms są normą i świadczą o prawidłowo działającej infrastrukturze. W sieci WAN typowe RTT wynosi od 5 do 50 ms w zależności od odległości, a dla połączeń satelitarnych może sięgać 500-800 ms. Gwałtowne skoki RTT (bufferbloat) wskazują na przeciążenie buforów w przełącznikach lub routerach, co jest częstym problemem w sieciach z włączonymi dużymi kolejkami FIFO.

19/55
Service Response Time

Czasy odpowiedzi aplikacji

Service Response Time (SRT) mierzy czas między żądaniem a odpowiedzią dla wybranych protokołów.

Obsługiwane protokoły: SMB, DCERPC, NFS, Fibre Channel, H.225, SBCP.

Dla każdego wywołania pokazuje:

  • Minimalny, średni, maksymalny czas odpowiedzi
  • Liczbę wywołań
  • Rozkład czasów (histogram)

Przykład: SRT dla SMB – średni czas odpowiedzi 2 ms, max 150 ms (wolny plik).

SRT dla SMB

Service Response Time (SRT) to narzędzie mierzące czas pomiędzy wysłaniem żądania a otrzymaniem odpowiedzi dla wybranych protokołów aplikacyjnych. Wireshark obsługuje SRT dla protokołów SMB, DCERPC, NFS, Fibre Channel, H.225 oraz SBCP. Pomiar ten jest szczególnie przydatny w diagnostyce wydajności serwerów plików i usług katalogowych, gdzie nawet niewielkie opóźnienia mogą być odczuwalne przez użytkowników.

Okno SRT prezentuje dla każdego wywołania minimalny, średni i maksymalny czas odpowiedzi, liczbę wywołań oraz histogram rozkładu czasów. Na przykład dla protokołu SMB średni czas odpowiedzi wynoszący 2 ms świadczy o dobrze działającym serwerze plików, podczas gdy pojedyncze wartości powyżej 100 ms mogą wskazywać na problemy z dyskiem lub przeciążenie serwera. Histogram pozwala na szybką ocenę, czy większość odpowiedzi mieści się w akceptowalnym zakresie.

20/55
Statistics → DHCP

Analiza żądań i odpowiedzi DHCP

Statistics → DHCP zbiera statystyki dotyczące ruchu DHCP w przechwyconym pliku.

Pokazuje:

  • Liczbę żądań DHCP Discover, Request, Release
  • Liczbę odpowiedzi DHCP Offer, ACK, NAK
  • Adresy IP przypisane przez DHCP
  • Czasy dzierżawy (lease time)
  • Adresy MAC klientów

Przydatne przy diagnozowaniu: „dlaczego klient nie dostał IP?" – widzisz, czy serwer odpowiedział NAK.

Statystyki DHCP

Statystyki DHCP w Wireshark agregują wszystkie komunikaty protokołu DHCP (Dynamic Host Configuration Protocol) przechwycone w pliku pcap. Narzędzie to pozwala na szybkie przejrzenie sekwencji DHCP Discover, Offer, Request i ACK, co jest szczególnie przydatne przy diagnozowaniu problemów z przydzielaniem adresów IP klientom w sieci lokalnej.

W oknie statystyk DHCP można sprawdzić, które adresy IP zostały przydzielone, jaki był czas dzierżawy (lease time) oraz które adresy MAC klientów uczestniczyły w komunikacji. Jeśli klient nie otrzymuje adresu IP, w statystykach będzie widoczny komunikat DHCP NAK (Negative Acknowledgment) wysłany przez serwer, co pozwala na szybkie zidentyfikowanie przyczyny problemu - na przykład wyczerpania puli adresowej lub konfliktu adresów IP.

21/55
Statistics → DNS

Statystyki zapytań i odpowiedzi DNS

Statistics → DNS agreguje informacje o ruchu DNS.

Pokazuje:

  • Liczba zapytań według typu (A, AAAA, MX, CNAME, PTR)
  • Liczba odpowiedzi według kodu (No Error, NXDOMAIN, SERVFAIL)
  • Najczęściej zapytywane domeny
  • Czasy odpowiedzi (min/avg/max)
  • Adresy serwerów DNS

Przydatne do: znajdowania wolno odpowiadających serwerów DNS, wykrywania zapytań do nieznanych domen (malware).

Statystyki DNS

Statystyki DNS w Wireshark dostarczają zagregowanych informacji o całym ruchu DNS w przechwyconym pliku. Narzędzie to dzieli zapytania według typów rekordów (A, AAAA, MX, CNAME, PTR, SRV, TXT) oraz odpowiedzi według kodów błędów (No Error, NXDOMAIN, SERVFAIL, REFUSED). Dzięki temu można szybko ocenić kondycję infrastruktury DNS w analizowanej sieci.

Szczególnie przydatna jest lista najczęściej zapytywanych domen oraz statystyki czasów odpowiedzi. Jeśli określona domena generuje wiele zapytań z kodem NXDOMAIN (nie istnieje), może to wskazywać na błędną konfigurację aplikacji lub działanie malware próbującego łączyć się z nieistniejącymi serwerami C&C. Wysokie czasy odpowiedzi DNS (powyżej 100 ms) sugerują problemy z serwerem DNS lub opóźnienia w sieci WAN.

22/55
Statistics → HTTP

Statystyki żądań HTTP

Statistics → HTTP oferuje kilka pod-opcji:

  • HTTP Load Distribution: rozkład żądań według serwera/hosta
  • HTTP Requests: lista żądań z URI, metodą, kodem odpowiedzi
  • HTTP Packet Counter: licznik pakietów według metody, hosta, kodu

Przydatne przy analizie wydajności stron WWW – które zasoby są najczęściej żądane? Które serwery są najbardziej obciążone?

Menu HTTP

Statystyki HTTP w Wireshark oferują trzy pod-opcje: HTTP Load Distribution, HTTP Requests oraz HTTP Packet Counter. HTTP Load Distribution pokazuje rozkład żądań według serwera docelowego (Host), co pozwala na identyfikację, które serwery WWW są najbardziej obciążone w analizowanym okresie. Jest to szczególnie przydatne przy diagnostyce farm serwerów i równoważenia obciążenia (load balancing).

HTTP Requests wyświetla szczegółową listę wszystkich żądań HTTP z informacjami o metodzie, URI, kodzie odpowiedzi, długości treści i czasie odpowiedzi. HTTP Packet Counter grupuje statystyki według hosta, metody, kodu statusu i typu zawartości (Content-Type). Dzięki temu można szybko sprawdzić, jakie typy plików są najczęściej przesyłane, które żądania kończą się błędem 404 lub 500, oraz które metody HTTP dominują w ruchu.

23/55
HTTP Packet Counter

Licznik żądań HTTP

HTTP Packet Counter grupuje żądania według:

  • Host: serwer docelowy
  • Method: GET, POST, PUT, DELETE
  • Status Code: 200 OK, 404 Not Found, 500 Server Error
  • Content Type: text/html, image/jpeg, application/json

Przykład: wykrycie problemu – 15% odpowiedzi to 404 (brakujące zasoby).

Host z największą liczbą żądań to prawdopodobnie główny serwer aplikacji.

Tabela Packet Counter

HTTP Packet Counter to narzędzie agregujące dane o ruchu HTTP według czterech wymiarów: hosta docelowego, metody HTTP (GET, POST, PUT, DELETE, HEAD), kodu odpowiedzi (200, 301, 404, 500) oraz typu zawartości (text/html, image/jpeg, application/json). Każdy z tych wymiarów można przeglądać w osobnej zakładce, co ułatwia wielowymiarową analizę ruchu WWW.

Praktyczne zastosowanie: jeśli w zakładce Status Code zauważymy, że 15% odpowiedzi to kod 404 (Not Found), oznacza to, że strona WWW zawiera zepsute odnośniki do zasobów. Host z największą liczbą żądań to prawdopodobnie główny serwer aplikacji. Analiza Content-Type pozwala na określenie, czy w ruchu dominują strony HTML, obrazy, skrypty JS czy dane JSON, co ma znaczenie przy optymalizacji wydajności i konfiguracji cachowania.

24/55
HTTP Requests

Lista żądań HTTP z czasami

HTTP Requests pokazuje każde żądanie HTTP z następującymi informacjami:

  • Czas (względny od początku przechwycenia)
  • Metoda HTTP
  • URI
  • Host
  • Kod odpowiedzi
  • Długość treści odpowiedzi
  • Czas odpowiedzi (delta między żądaniem a odpowiedzią)

Możesz sortować według czasu odpowiedzi – znajdziesz najwolniejsze żądania.

Przykład: żądanie GET /raport.php?date=2026 miało czas odpowiedzi 3.2 s – wolne.

Lista HTTP Requests

HTTP Requests to lista wszystkich żądań HTTP zarejestrowanych w przechwyconym pliku, wraz z czasem względnym, metodą, URI, hostem, kodem odpowiedzi, długością treści oraz czasem odpowiedzi (delta między żądaniem a odpowiedzią). Jest to jedno z najczęściej używanych narzędzi przy analizie wydajności stron WWW, ponieważ pozwala na zidentyfikowanie najwolniejszych żądań.

Sortując listę według czasu odpowiedzi malejąco, można w kilka sekund znaleźć zasoby, które najbardziej spowalniają ładowanie strony. Czas odpowiedzi powyżej 1 sekundy dla pojedynczego żądania jest już odczuwalny dla użytkownika, a powyżej 3 sekund znacząco wpływa na komfort przeglądania. Szczególnie wolne żądania (powyżej 5 sekund) wymagają dalszej analizy - przyczyną może być przeciążenie serwera, wolne zapytanie do bazy danych lub problem z siecią CDN.

25/55
Statistics → TLS

Statystyki sesji TLS

Statistics → TLS pokazuje informacje o sesjach TLS/SSL w przechwyconym ruchu.

Dla każdej sesji:

  • Wersja TLS: 1.2, 1.3
  • Zastosowany szyfr (np. TLS_AES_256_GCM_SHA384)
  • Długość klucza sesji
  • Adresy IP i porty
  • Czas trwania sesji

Przydatne do: audytu bezpieczeństwa – czy serwer używa przestarzałych szyfrów? Czy wspiera TLS 1.3?

TLS 1.0 i 1.1 są wycofane – jeśli widzisz te wersje w ruchu, serwer wymaga aktualizacji.
Statystyki TLS

Statystyki TLS w Wireshark prezentują szczegółowe informacje o wszystkich sesjach TLS/SSL wykrytych w przechwyconym ruchu. Dla każdej sesji podawana jest wersja protokołu (TLS 1.0, 1.1, 1.2, 1.3), zastosowany szyfr (cipher suite), długość klucza sesji, adresy IP i porty oraz czas trwania sesji. Narzędzie to jest nieocenione przy audytach bezpieczeństwa zgodności z normami PCI DSS lub przepisami RODO.

Z punktu widzenia bezpieczeństwa szczególnie istotne jest wykrywanie przestarzałych wersji TLS. TLS 1.0 i 1.1 zostały wycofane przez IETF (RFC 8996) w marcu 2021 roku i nie powinny być już używane w żadnej sieci produkcyjnej. Również słabe szyfry, takie jak RC4, 3DES czy eksportowe szyfry RSA, powinny natychmiast zwrócić uwagę analityka. W idealnej konfiguracji serwer powinien wspierać wyłącznie TLS 1.2 i 1.3 z silnymi szyframi AES-GCM lub ChaCha20-Poly1305.

26/55
Analyze → Follow TCP Stream

Rekonstrukcja sesji TCP

Follow → TCP Stream (kliknij prawym na pakiet → Follow → TCP Stream) rekonstruuje całą sesję TCP w jednym widoku.

Wireshark składa wszystkie pakiety z sesji w kolejności – usuwa nagłówki i pokazuje czystą treść.

Kolorowanie: ruch klienta → serwer (niebieski/czerwony), serwer → klient (zielony/szary).

Zastosowania:

  • Zobaczenie pełnego żądania HTTP (GET + nagłówki + ciało)
  • Analiza treści SMTP (kto wysłał maila?)
  • Podgląd komend FTP
  • Wyodrębnienie danych z sesji
Follow TCP Stream

Follow TCP Stream to jedna z najważniejszych funkcji Wireshark do rekonstrukcji sesji aplikacyjnych. Po kliknięciu prawym przyciskiem myszy na dowolny pakiet TCP i wybraniu Follow → TCP Stream, Wireshark składa wszystkie pakiety należące do tej samej sesji TCP w kolejności chronologicznej, usuwa nagłówki warstw niższych (Ethernet, IP, TCP) i prezentuje czystą treść warstwy aplikacji.

Domyślnie ruch klienta jest wyświetlany kolorem niebieskim (lub czerwonym w zależności od ustawień), a ruch serwera kolorem zielonym (lub szarym). Taki podział kolorystyczny ułatwia odróżnienie kierunku komunikacji. Follow TCP Stream jest szczególnie przydatny przy analizie protokołów tekstowych, takich jak HTTP (pełne żądania i odpowiedzi), SMTP (treść wiadomości e-mail), FTP (komendy i odpowiedzi) oraz POP3 i IMAP.

27/55
Opcje wyświetlania

Różne widoki strumienia

Okno Follow TCP Stream oferuje kilka opcji wyświetlania:

  • ASCII: czytelna treść tekstowa (HTTP, SMTP, FTP)
  • Hex Dump: dane w hex i ASCII (jak xxd)
  • C Arrays: dane w formacie tablicy C – przydatne do wklejenia do kodu
  • Raw: surowe bajty – do zapisu do pliku

Opcja „Show and save data as" pozwala wybrać kierunek (całość, klient→serwer, serwer→klient).

Przycisk „Save As..." zapisuje strumień do pliku.

Opcje Follow

Okno Follow TCP Stream oferuje kilka opcji wyświetlania danych, dostępnych z rozwijanej listy "Show and save data as". Tryb ASCII jest domyślny i odpowiedni dla protokołów tekstowych (HTTP, SMTP, FTP). Hex Dump pokazuje dane w postaci szesnastkowej z równoległym podglądem ASCII, co jest przydatne przy analizie protokołów binarnych.

Tryb C Arrays prezentuje dane w formacie tablicy języka C, co ułatwia wklejenie zawartości strumienia do kodu źródłowego. Tryb Raw wyświetla surowe bajty i pozwala na zapis strumienia do pliku za pomocą przycisku "Save As...". Opcja wyboru kierunku (całość, klient→serwer, serwer→klient) umożliwia filtrowanie pokazywanych danych według kierunku transmisji, co jest szczególnie przydatne, gdy interesuje nas tylko to, co wysłał klient lub tylko to, co odpowiedział serwer.

28/55
Przykłady rekonstrukcji

Przykłady rekonstrukcji

HTTP: widzisz pełne żądanie i odpowiedź:

GET /index.html HTTP/1.1
  Host: example.com
  User-Agent: Mozilla/5.0
  (pusta linia)
  HTTP/1.1 200 OK
  Content-Type: text/html
  <html>...</html>

SMTP: widzisz komendy MAIL FROM, RCPT TO, DATA i treść maila.

FTP: widzisz LOGIN, PASS, LIST, RETR i odpowiedzi serwera.

HTTP SMTP FTP strumienie

Rekonstrukcja sesji TCP za pomocą Follow TCP Stream pozwala na podgląd pełnej treści komunikacji między klientem a serwerem. Dla protokołu HTTP widać całe żądanie z metodą, URI, nagłówkami i ciałem, a następnie odpowiedź serwera z kodem statusu, nagłówkami i treścią. Dzięki temu można przeanalizować dokładnie, co zostało przesłane, bez potrzeby ręcznego składania pakietów.

Dla protokołu SMTP Follow TCP Stream pokazuje całą sekwencję komend: EHLO, MAIL FROM, RCPT TO, DATA oraz treść wiadomości e-mail. W przypadku FTP widoczne są komendy wysyłane przez klienta (USER, PASS, LIST, RETR, STOR) oraz odpowiedzi serwera z kodami numerycznymi. Ta funkcja jest również wykorzystywana w analizie śledczej do odzyskiwania treści komunikacji z przechwyconego ruchu sieciowego.

29/55
Follow UDP Stream

Rekonstrukcja sesji UDP

Follow → UDP Stream działa podobnie jak dla TCP, ale dla protokołów bezpołączeniowych.

UDP nie ma sesji w rozumieniu TCP (brak handshake) – Wireshark grupuje pakiety według pary IP:port.

Zastosowania:

  • DNS – widzisz zapytania i odpowiedzi DNS w surowej postaci
  • DHCP – widzisz komunikaty Discover/Offer/Request/ACK
  • RTP – strumień audio/wideo (trudniej – dane binarne)

Opcje wyświetlania: ASCII, Hex Dump, C Arrays, Raw – jak dla TCP.

Follow UDP Stream

Follow UDP Stream działa analogicznie do Follow TCP Stream, ale dla protokołów bezpołączeniowych opartych na UDP. Ponieważ UDP nie nawiązuje sesji w rozumieniu TCP (brak handshake i numerów sekwencyjnych), Wireshark grupuje pakiety według pary adresów IP i portów (źródłowego i docelowego). Wszystkie pakiety UDP o tych samych adresach i portach są traktowane jako jeden strumień.

Follow UDP Stream znajduje zastosowanie głównie przy analizie protokołów DNS, gdzie pozwala na prześledzenie zapytań i odpowiedzi DNS w surowej postaci, oraz DHCP, gdzie widoczne są wszystkie cztery etapy przydzielania adresu IP (Discover, Offer, Request, ACK). W przypadku strumieni RTP (audio/wideo) dane są binarne i trudne do ręcznej interpretacji, ale nadal możliwe jest wyodrębnienie strumienia i zapisanie go do pliku.

30/55
Follow TLS Stream

Odszyfrowanie ruchu TLS

Follow → TLS Stream pozwala podejrzeć odszyfrowaną treść ruchu TLS – pod warunkiem dostarczenia klucza prywatnego lub klucza sesji.

Wymagane:

  • Plik z kluczem prywatnym serwera (RSA key) – dla starszych wersji TLS
  • Plik (Pre-)Master Secret – dla TLS 1.2/1.3 (log z Firefox/Chrome/Edge)

Konfiguracja: Wireshark → Preferences → Protocols → TLS → (Pre-)-Master-Secret log filename.

Po skonfigurowaniu – Follow TLS Stream pokazuje odszyfrowaną treść (np. HTTP/2, HTTP/3).

Bez klucza nie odszyfrujesz ruchu TLS – to podstawa bezpieczeństwa. Do celów edukacyjnych użyj przeglądarki ze zmienną SSLKEYLOGFILE.
Konfiguracja TLS

Follow TLS Stream umożliwia podgląd odszyfrowanej treści ruchu TLS, ale wymaga dostarczenia odpowiednich kluczy do deszyfrowania. Wireshark obsługuje dwa mechanizmy: plik z kluczem prywatnym serwera (RSA key) dla starszych wersji TLS oraz plik (Pre-)Master Secret log dla TLS 1.2 i 1.3. Ten drugi mechanizm jest zalecany, ponieważ działa z nowoczesnymi protokołami i nie wymaga dostępu do klucza prywatnego serwera.

Aby skonfigurować deszyfrowanie TLS, należy przejść do Preferences → Protocols → TLS i wskazać plik (Pre-)-Master-Secret log filename. Przeglądarki Firefox, Chrome i Edge mogą zapisywać klucze sesji do pliku, jeśli ustawi się zmienną środowiskową SSLKEYLOGFILE. Po poprawnej konfiguracji Follow TLS Stream będzie pokazywał odszyfrowaną treść, na przykład żądania HTTP/2 lub HTTP/3, co jest nieocenione przy analizie nowoczesnych aplikacji webowych.

31/55
Follow HTTP Stream

Skrót do Follow TCP z filtrem HTTP

Follow → HTTP Stream to skrót do Follow TCP Stream z automatycznie zastosowanym filtrem HTTP.

W praktyce: gdy klikniesz prawym na pakiet HTTP → Follow → HTTP Stream, Wireshark:

  • Zaznacza całą sesję TCP zawierającą ten pakiet HTTP
  • Otwiera okno Follow TCP Stream
  • Pokazuje tylko dane warstwy aplikacji (HTTP)

Różnica od zwykłego Follow TCP Stream: minimalna – wygoda i szybszy dostęp.

Follow HTTP Stream menu

Follow HTTP Stream to wygodny skrót do Follow TCP Stream z automatycznie zastosowanym filtrem HTTP. Gdy klikniemy prawym przyciskiem na pakiet HTTP i wybierzemy Follow → HTTP Stream, Wireshark automatycznie identyfikuje sesję TCP zawierającą ten pakiet i otwiera okno Follow TCP Stream, pokazując tylko dane warstwy aplikacji HTTP.

Różnica między Follow HTTP Stream a zwykłym Follow TCP Stream jest minimalna i sprowadza się do wygody użytkowania. W praktyce Follow HTTP Stream jest szybszy, ponieważ nie wymaga ręcznego przełączania między widokami. Warto jednak pamiętać, że nie wszystkie implementacje Wireshark oferują tę opcję dla wszystkich protokołów - w razie jej braku zawsze można skorzystać z uniwersalnego Follow TCP Stream.

32/55
Export Objects → HTTP

Eksport plików z ruchu HTTP

File → Export Objects → HTTP wyodrębnia wszystkie pliki przesłane przez HTTP z przechwyconego ruchu.

Wireshark skanuje przechwycone dane i znajduje obiekty MIME (obrazy, skrypty, dokumenty).

Okno Export pokazuje listę obiektów:

  • Nazwa pliku (URI)
  • Host
  • Content-Type
  • Rozmiar
  • Kod odpowiedzi HTTP

Możesz zapisać wybrane pliki na dysk.

Export Objects HTTP

Export Objects HTTP to narzędzie umożliwiające wyodrębnienie wszystkich plików przesłanych przez protokół HTTP z przechwyconego pliku pcap. Wireshark skanuje dane i identyfikuje obiekty MIME (obrazy JPG, PNG, GIF, skrypty JS, arkusze CSS, dokumenty PDF, archiwa ZIP) przesyłane w odpowiedziach HTTP. Każdy znaleziony obiekt jest prezentowany w formie listy z nazwą, hostem, typem MIME, rozmiarem i kodem odpowiedzi.

Export Objects to potężne narzędzie w analizie forensycznej i bezpieczeństwie. Pozwala na odzyskanie plików, które podejrzany pobrał z serwera WWW, bez konieczności dostępu do tego serwera. Można wyodrębnić malware przesyłane przez protokół HTTP, obrazy przesłane na czacie, dokumenty pobrane przez użytkownika, a nawet zasoby, które były cachowane przez przeglądarkę. Wskazówka: zawsze eksportuj wszystkie obiekty przed zamknięciem pliku pcap, ponieważ mogą zawierać kluczowe dowody.

33/55
Zastosowania Export Objects

Odzyskiwanie danych z ruchu

Export Objects HTTP pozwala odzyskać:

  • Obrazki: JPG, PNG, GIF – zobacz, co ładowała przeglądarka
  • Skrypty: JS, CSS – analiza kodu pobieranego przez strony
  • Dokumenty: PDF, DOCX – pobrane przez użytkownika
  • Archiwa: ZIP, TAR – przesłane przez HTTP

Zastosowania forensyczne: odzyskaj plik, który podejrzany pobrał z serwera.

Wskazówka: jeśli widzisz nieznany Content-Type – to może być malware.

Eksport obiektów HTTP to potężne narzędzie w analizie forensycznej – możesz odzyskać pliki bez dostępu do serwera.
Kolaż wyodrębnionych plików

Export Objects HTTP znajduje szerokie zastosowanie zarówno w rutynowej analizie, jak i w dochodzeniach śledczych. W codziennej pracy administratora sieci narzędzie to pozwala na szybkie sprawdzenie, jakie pliki są przesyłane przez użytkowników, co jest szczególnie przydatne przy monitorowaniu polityk bezpieczeństwa. W analizie forensycznej Export Objects umożliwia odzyskanie plików, które mogły zostać usunięte z dysku twardego, ale pozostały w przechwyconym ruchu sieciowym.

Z punktu widzenia bezpieczeństwa należy zwracać uwagę na pliki o nietypowych typach MIME lub podejrzanych rozszerzeniach (.exe, .scr, .vbs, .ps1) przesyłane przez HTTP. Jeśli widzisz nieznany Content-Type lub plik o nietypowej nazwie, może to być próba przesłania malware. Wskazówka: po wyodrębnieniu plików warto przeskanować je programem antywirusowym lub przesłać do analizy na platformę VirusTotal.

34/55
Export Objects → SMB

Eksport plików z SMB/CIFS

File → Export Objects → SMB wyodrębnia pliki przesyłane przez protokół SMB (udziały sieciowe Windows).

Wireshark rekonstruuje pliki z przechwyconego ruchu SMB – zarówno w wersji SMBv1, jak i SMBv2/3.

Okno pokazuje:

  • Nazwę pliku (ścieżka na udziale)
  • Rozmiar
  • Nazwę udziału
  • Czas transferu

Przydatne przy: odzyskiwaniu plików z nieautoryzowanego dostępu do udziałów.

Export Objects SMB

Export Objects SMB umożliwia wyodrębnienie plików przesyłanych przez protokół SMB/CIFS, stosowany w sieciach Windows do udostępniania plików i drukarek. Wireshark rekonstruuje pliki z przechwyconego ruchu SMB zarówno w wersji 1 (SMBv1, przestarzała i niebezpieczna), jak i w wersjach 2 i 3 (SMBv2, SMBv3), które są domyślnie używane w nowoczesnych systemach Windows.

Narzędzie to jest szczególnie przydatne w analizie śledczej dotyczącej nieautoryzowanego dostępu do udziałów sieciowych. Jeśli podejrzewamy, że osoba nieuprawniona skopiowała pliki z serwera plików, możemy odzyskać te pliki z przechwyconego ruchu SMB i sprawdzić ich zawartość. Wskazówka: przy analizie SMB warto zwrócić uwagę na wersję protokołu - SMBv1 jest wysoce niezalecany ze względu na podatność EternalBlue wykorzystywaną przez ransomware WannaCry.

35/55
Export Objects → TFTP

Eksport plików z TFTP

File → Export Objects → TFTP wyodrębnia pliki przesyłane przez Trivial File Transfer Protocol.

TFTP jest używany głównie do:

  • Konfiguracji urządzeń sieciowych (routery, switchy)
  • Bootowania bezdyskowych stacji (PXE)
  • Transferu konfiguracji VoIP

Okno Export pokazuje pliki z możliwością zapisu na dysk.

Uwaga: TFTP nie ma uwierzytelniania – każdy plik może być odczytany/zapisany.

Export Objects TFTP

Export Objects TFTP wyodrębnia pliki przesyłane przez Trivial File Transfer Protocol, czyli uproszczoną wersję FTP działającą na porcie UDP 69. TFTP jest powszechnie stosowany w sieciach korporacyjnych do konfiguracji urządzeń sieciowych (routerów, przełączników), bootowania bezdyskowych stacji roboczych (PXE) oraz aktualizacji oprogramowania układowego (firmware) w urządzeniach VoIP i kamerach IP.

Z punktu widzenia bezpieczeństwa TFTP jest protokołem problematycznym, ponieważ nie oferuje żadnego uwierzytelniania ani szyfrowania. Każdy, kto ma dostęp do sieci, może odczytać lub zapisać pliki na serwerze TFTP, jeśli ten jest nieprawidłowo skonfigurowany. W analizie śledczej Export Objects TFTP pozwala na odzyskanie konfiguracji routera, która została pobrana przez atakującego, lub plików, które zostały przesłane na serwer w ramach eksfiltracji danych.

36/55
Export Objects – forensyka

Analiza forensyczna z Export Objects

Export Objects to kluczowe narzędzie w analizie śledczej:

  • Odzyskanie plików wysłanych przez podejrzanego (HTTP upload)
  • Pobranie malware przesyłanego przez C&C (HTTP/SMB)
  • Odzyskanie konfiguracji skradzionej z routera (TFTP)
  • Analiza obrazków przesłanych na czacie (HTTP/HTTPS po odszyfrowaniu)

Wskazówka: zawsze eksportuj wszystkie obiekty przed zamknięciem pliku pcap – możesz znaleźć dowody.

W analizie forensycznej zachowaj łańcuch dowodowy (chain of custody) – zapisz, skąd pochodzi każdy wyodrębniony plik.
Schemat forensyczny

Export Objects w kontekście analizy forensycznej to kluczowe narzędzie do odzyskiwania dowodów z przechwyconego ruchu sieciowego. W dochodzeniach dotyczących wycieku danych, infekcji malware czy nieautoryzowanego dostępu, Export Objects pozwala na odtworzenie plików, które były przesyłane przez sieć, bez konieczności dostępu do serwerów źródłowych. Jest to szczególnie ważne, gdy serwer znajduje się w jurysdykcji zagranicznej lub został już wyłączony.

Podczas pracy z Export Objects w kontekście śledczym należy zachować łańcuch dowodowy (chain of custody). Każdy wyodrębniony plik powinien być opatrzony informacją o źródle (nazwa pliku pcap, numer pakietu, znacznik czasu), a wszystkie operacje powinny być dokumentowane. W praktyce zaleca się zapisywanie plików na osobnym nośniku z zabezpieczeniem przed zapisem (write blocker) i przechowywanie ich w sposób uniemożliwiający modyfikację.

37/55
Analyze → Expert Info

Diagnostyczne komunikaty Wireshark

Analyze → Expert Info (lub ikona diamentu w lewym dolnym rogu) pokazuje automatycznie wykryte zdarzenia sieciowe.

Expert Info analizuje przechwycony ruch i oznacza potencjalne problemy:

  • Errors: błędy protokołów, uszkodzone pakiety
  • Warnings: ostrzeżenia (retransmisje, utracone ACK)
  • Notes: uwagi (opóźnienia, window scaling)
  • Chats: informacje (standardowa komunikacja)
Expert Info

Expert Info to wbudowany system ekspercki Wireshark, który automatycznie analizuje przechwycony ruch i oznacza zdarzenia potencjalnie istotne diagnostycznie. Dostęp do Expert Info można uzyskać przez Analyze → Expert Info lub klikając ikonę diamentu w lewym dolnym rogu okna Wireshark. System dzieli wykryte zdarzenia na cztery kategorie według stopnia ważności.

Errors (czerwony) to błędy krytyczne - uszkodzone pakiety, błędne sumy kontrolne, nieprawidłowe formaty protokołów. Warnings (żółty) to ostrzeżenia o potencjalnych problemach - retransmisje TCP, duplikaty ACK, zerowe okno TCP. Notes (niebieski) to uwagi diagnostyczne - opóźnienia między pakietami, zmiany rozmiaru okna. Chats (fioletowy) to standardowe zdarzenia komunikacyjne - SYN, SYN-ACK, FIN, ACK, żądania HTTP. Kliknięcie w dowolne zdarzenie przenosi do odpowiedniego pakietu w głównym oknie.

38/55
Grupy komunikatów

Szczegółowy podział

GrupaZnaczeniePrzykłady
Errors (czerwony)Błędy krytyczne – problem z pakietemTCP checksum error, malformed packet
Warnings (żółty)Potencjalne problemyTCP Retransmission, Duplicate ACK, Zero Window
Notes (niebieski)Uwagi diagnostyczneTime Delta, Window Update, TCP Fast Retransmission
Chats (fioletowy)Informacje standardoweSYN, SYN-ACK, FIN, ACK, HTTP request

Kliknięcie w komunikat przenosi do odpowiedniego pakietu.

Tabela Expert Info

Szczegółowy podział komunikatów Expert Info na cztery grupy kolorystyczne ułatwia szybką nawigację i priorytetyzację problemów. Tabela zaprezentowana na slajdzie podsumowuje znaczenie każdej grupy oraz przykłady typowych komunikatów. W praktyce analityk powinien zawsze zaczynać od sprawdzenia czerwonych błędów (Errors), ponieważ wskazują one na krytyczne problemy wymagające natychmiastowej uwagi.

W drugiej kolejności należy przejść do żółtych ostrzeżeń (Warnings), wśród których najczęściej występują retransmisje TCP. W zdrowej sieci retransmisje nie powinny przekraczać 0,1% wszystkich pakietów. Jeśli ich liczba jest znacząco wyższa, należy zbadać przyczynę - może nią być przeciążenie łącza, uszkodzone okablowanie, problem z przełącznikiem lub zbyt małe okno TCP po stronie nadawcy. Niebieskie uwagi (Notes) i fioletowe informacje (Chats) mają niższy priorytet, ale mogą dostarczać cennych wskazówek diagnostycznych.

39/55
Expert Info w praktyce

Jak używać Expert Info w praktyce?

Po otwarciu pliku pcap – pierwsze kroki:

  1. Otwórz Expert Info (Shift+Ctrl+E)
  2. Sprawdź, czy są jakieś Errors – jeśli tak, zacznij od nich
  3. Przejdź do Warnings – retransmisje TCP to najczęstszy problem
  4. Zweryfikuj liczbę retransmisji – >1% pakietów to sygnał ostrzegawczy

Przykład: widzisz 500 „TCP Retransmission" na 10 000 pakietów (5%).

Przyczyny: przeciążenie sieci, uszkodzone łącze, zbyt małe okno TCP.

Expert Info retransmisje

Praktyczne zastosowanie Expert Info w codziennej diagnostyce rozpoczyna się od otwarcia okna Expert Info zaraz po załadowaniu pliku pcap (skrót Shift+Ctrl+E). Należy sprawdzić, czy występują jakiekolwiek błędy - jeśli tak, analiza powinna rozpocząć się od nich. Przykładowa sesja analityczna: widzimy 500 komunikatów "TCP Retransmission" na 10 000 pakietów, czyli 5% retransmisji.

Taki poziom retransmisji jest zdecydowanie zbyt wysoki i wskazuje na poważny problem sieciowy. Możliwe przyczyny to: przeciążenie łącza (przepustowość niewystarczająca dla generowanego ruchu), uszkodzone okablowanie (zwiększona liczba błędów bitowych wymuszających retransmisje), problemy z przełącznikiem (przepełnione bufory, złe ustawienia flow control) lub zbyt małe okno TCP (niewłaściwa konfiguracja systemu operacyjnego). Każdą z tych przyczyn należy sprawdzić krok po kroku.

40/55
Porównywanie plików pcap

Porównywanie dwóch plików pcap

Wireshark umożliwia porównanie dwóch plików przechwycenia:

Metoda 1: Otwórz dwa pliki w osobnych instancjach i porównaj ręcznie.

Metoda 2: Użyj narzędzia editcap (część Wireshark) do manipulacji plikami, a potem porównaj statystyki.

Metoda 3: Zewnętrzne narzędzia:

  • pcapdiff: skrypt Pythona porównujący dwa pliki pcap
  • Wireshark + Lua: własne skrypty porównawcze
  • tshark + diff: eksportuj pola do CSV i porównaj narzędziami diff

Zastosowanie: przed/po zmianie konfiguracji, porównanie ruchu w różnych porach dnia.

Porównanie pcap

Porównywanie dwóch plików pcap jest przydatne w wielu scenariuszach: przed i po zmianie konfiguracji sieci, porównanie ruchu w różnych porach dnia, analiza skuteczności aktualizacji zabezpieczeń. Wireshark nie oferuje wbudowanego narzędzia do automatycznego porównywania, ale można to zrobić na kilka alternatywnych sposobów opisanych na slajdzie.

Najprostszą metodą jest otwarcie dwóch plików w osobnych instancjach Wireshark i ręczne porównanie statystyk. Bardziej zaawansowanym podejściem jest użycie narzędzia editcap (część pakietu Wireshark) do przycinania i manipulowania plikami, a następnie porównanie ich za pomocą skryptów. Narzędzie pcapdiff, napisane w Pythonie, automatyzuje porównywanie dwóch plików pcap i wskazuje różnice w liczbie pakietów, protokołach, rozmowach i innych parametrach. Do zaawansowanej analizy statystycznej można użyć tshark do eksportu pól do CSV i porównania narzędziami diff.

41/55
Wireshark a bezpieczeństwo

Analiza bezpieczeństwa z Wireshark

Wireshark jest powszechnie używany w analizie bezpieczeństwa sieciowego:

  • Wykrywanie skanowania portów (SYN scan, FIN scan, Xmas scan)
  • Wykrywanie ARP spoofing
  • Wykrywanie ataków DDoS
  • Wykrywanie malware – beaconing, ruch do C&C
  • Analiza exploitów – SQL injection, XSS w ruchu HTTP

Wiele narzędzi bezpieczeństwa (Snort, Suricata, Zeek) opiera się na tej samej bibliotece (libpcap).

Bezpieczeństwo Wireshark

Wireshark jest szeroko stosowany w analizie bezpieczeństwa sieciowego, ponieważ umożliwia wykrywanie wielu typów ataków na podstawie charakterystycznych wzorców ruchu. Podstawą jest znajomość typowych sygnatur ataków i umiejętność tworzenia filtrów wyświetlania do ich wykrywania. Wireshark sam w sobie nie jest systemem IDS, ale odpowiednio skonfigurowany może służyć jako skuteczne narzędzie detekcyjne.

Do najczęściej wykrywanych zagrożeń należą: skanowanie portów (SYN scan, FIN scan, Xmas scan), zatruwanie ARP (ARP spoofing), ataki DDoS (SYN flood, UDP flood, ICMP flood), beaconing malware do serwerów C&C oraz próby eksploitacji (SQL injection, XSS w ruchu HTTP). Wiele profesjonalnych systemów IDS/IPS (Snort, Suricata, Zeek) opiera się na tej samej bibliotece libpcap, co Wireshark, i stosuje podobne mechanizmy analizy sygnatur i anomalii.

42/55
Wykrywanie skanowania portów

SYN scan, FIN scan, Xmas scan

SYN scan: pakiety SYN na wiele portów z jednego źródła. Wykrycie: Statistics → Conversations → TCP – jedna IP ma wiele połączeń do różnych portów.

FIN scan: pakiety z flagą FIN do zamkniętych portów. Wykrycie: filtr tcp.flags.fin == 1 and tcp.flags.ack == 0.

Xmas scan: pakiety z flagami FIN+URG+PSH. Wykrycie: filtr tcp.flags == 0x029.

Zastosuj display filter tcp.flags.syn == 1 and tcp.flags.ack == 0 – jeśli te pakiety idą do wielu portów z tego samego IP w krótkim czasie, to skanowanie.

Skanowanie SYN

Wykrywanie skanowania portów w Wireshark opiera się na identyfikacji nietypowych wzorców pakietów TCP. Skanowanie SYN (half-open scan) polega na wysyłaniu pakietów z flagą SYN na wiele różnych portów z jednego źródła, bez kończenia uzgadniania połączenia. Filtr tcp.flags.syn == 1 and tcp.flags.ack == 0 wyświetla tylko pakiety SYN bez potwierdzenia, co pozwala na szybkie wykrycie skanowania.

Skanowanie FIN polega na wysyłaniu pakietów z flagą FIN do zamkniętych portów - zgodnie z RFC 793, zamknięty port powinien odpowiedzieć pakietem RST, podczas gdy otwarty port zignoruje FIN. Filtr tcp.flags.fin == 1 and tcp.flags.ack == 0 pozwala na wykrycie tego typu skanowania. Skanowanie Xmas (FIN+URG+PSH) można wykryć filtrem tcp.flags == 0x029. Jeśli z jednego adresu IP w krótkim czasie (kilka sekund) widzimy pakiety SYN do wielu różnych portów, mamy do czynienia ze skanowaniem.

43/55
Wykrywanie ARP spoofing

Podszywanie się pod adres MAC

ARP spoofing – atakujący wysyła fałszywe odpowiedzi ARP, aby przechwycić ruch.

Objawy w Wireshark:

  • Dwa różne adresy MAC dla tego samego adresu IP
  • Nienaturalnie częste odpowiedzi ARP (nawet bez zapytań)
  • Adres MAC producenta (OUI) niezgodny z rzeczywistym urządzeniem

Wbudowane narzędzie: Wireshark → Analyze → Expert Info → ARP: duplicate IP address detected.

Display filter: arp.duplicate-address-detected – od razu pokazuje podejrzane pakiety.

ARP spoofing jest łatwy do wykrycia – wystarczy posortować ARP w Conversations i zobaczyć duplikaty IP.
ARP spoofing

ARP spoofing (ARP poisoning) to technika ataku w warstwie łącza danych, polegająca na wysyłaniu fałszywych odpowiedzi ARP, w których atakujący podszywa się pod adres MAC innego hosta w sieci. Celem jest przechwycenie ruchu kierowanego do ofiary (man-in-the-middle) lub blokada komunikacji (denial of service). ARP spoofing jest szczególnie niebezpieczny w sieciach lokalnych, ponieważ działa na poziomie warstwy 2, poza kontrolą firewalla.

Wireshark wykrywa ARP spoofing na kilka sposobów. Najprostszym jest sprawdzenie, czy dwa różne adresy MAC są przypisane do tego samego adresu IP w oknie Conversations → Ethernet. Można również użyć filtra arp.duplicate-address-detected, który pokazuje pakiety ARP z wykrytym konfliktem adresów. W Expert Info Wireshark automatycznie oznacza takie zdarzenia jako "Duplicate IP address detected". Charakterystycznym objawem ataku są również nienaturalnie częste odpowiedzi ARP pojawiające się bez odpowiadających im zapytań.

44/55
Wykrywanie DDoS

Atak DDoS – analiza w Wireshark

Objawy ataku DDoS w statystykach Wireshark:

  • IO Graph: gwałtowny, stały wzrost ruchu do jednego celu. Linia płaska na wysokim poziomie.
  • Conversations: jeden host docelowy ma tysiące rozmów z różnymi źródłami.
  • Endpoints: wiele adresów źródłowych kieruje ruch do jednego IP.
  • Protocol Hierarchy: dominacja jednego protokołu (np. TCP SYN, UDP flood).

Przykład: 50 000 pakietów do portu 80 z 500 różnych IP w ciągu 10 sekund.

Atak DDoS

Atak DDoS (Distributed Denial of Service) charakteryzuje się wysyłaniem ogromnej liczby pakietów z wielu rozproszonych źródeł do jednego celu, w celu wyczerpania jego zasobów sieciowych lub obliczeniowych. W Wireshark atak DDoS można zidentyfikować na podstawie kilku charakterystycznych wzorców widocznych w różnych narzędziach statystycznych.

Na wykresie IO Graph atak DDoS objawia się jako gwałtowny, stały wzrost ruchu do jednego celu, przyjmujący kształt płaskiego plateau na wysokim poziomie. W oknie Conversations widać, że jeden host docelowy ma tysiące rozmów z różnymi adresami źródłowymi. W Endpoints wiele adresów źródłowych kieruje ruch do jednego adresu IP. W Protocol Hierarchy dominuje jeden protokół - w przypadku ataku SYN flood będzie to TCP, w przypadku UDP flood - UDP, w przypadku ICMP flood - ICMP. Typowym przykładem jest 50 000 pakietów do portu 80 z 500 różnych adresów IP w ciągu 10 sekund.

45/55
Wykrywanie beaconing

Ruch do C&C – beaconing

Beaconing – malware regularnie łączy się z serwerem C&C (Command & Control).

Objawy w Wireshark:

  • IO Graph: regularne piki ruchu (co 30 s, 60 s, 5 min)
  • Conversations: stałe, krótkie połączenia do tego samego serwera
  • DNS: zapytania do dziwnych domen (DGA – Domain Generation Algorithm)
  • HTTP: żądania POST do stałego URI z małym payloadem

Display filter: http.request.method == POST – zobacz, które hosty regularnie wysyłają POST.

Narzędzie: IO Graph z interwałem 1 s i filtrem http.request – szukaj regularnych pików.

Beaconing

Beaconing to technika stosowana przez malware do regularnego komunikowania się z serwerem Command & Control (C&C). Zainfekowana maszyna okresowo wysyła krótkie pakiety do serwera C&C, informując o swojej aktywności i odbierając komendy. Charakterystyczną cechą beaconingu jest regularność - połączenia występują co stały odstęp czasu (np. co 30 sekund, 60 sekund, 5 minut).

W Wireshark beaconing można wykryć za pomocą IO Graph z interwałem 1 sekundy i filtrem wyświetlania dla podejrzanego protokołu. Jeśli na wykresie widoczne są regularne piki ruchu o stałych odstępach czasowych, jest to silna wskazówka beaconingu. Dodatkowo w Conversations widać krótkie, stałe połączenia do tego samego serwera, a w DNS - zapytania do nietypowych domen generowanych przez algorytmy DGA (Domain Generation Algorithm). Filtr http.request.method == POST pozwala na identyfikację hostów regularnie wysyłających żądania POST z małym payloadem.

46/55
Packet Comments

Dokumentowanie analizy

Packet Comments (kliknij prawym na pakiet → Packet Comment) pozwala dodać adnotację do pakietu.

Zastosowania:

  • Oznaczenie podejrzanego pakietu w trakcie analizy
  • Dodanie notatki: „to jest atak" lub „retransmisja – sprawdź łącze"
  • Dokumentowanie ścieżki analizy dla zespołu
  • Dodanie daty, inicjałów analityka

Komentarze są zapisywane w pliku pcapng (nie w pcap) – używaj formatu pcapng do zachowania komentarzy.

Widok wszystkich komentarzy: Statistics → Capture File Properties → Comments.

Packet Comments

Packet Comments to funkcja umożliwiająca dodawanie adnotacji do poszczególnych pakietów w przechwyconym pliku. Komentarz można dodać, klikając prawym przyciskiem myszy na pakiet i wybierając "Packet Comment" lub używając skrótu Ctrl+Alt+C. Komentarze są szczególnie przydatne podczas zespołowej analizy plików pcap, gdy kilku analityków pracuje nad tym samym przechwyceniem.

Komentarze są zapisywane bezpośrednio w pliku pcapng (nie w starym formacie pcap), dlatego do zachowania adnotacji należy używać formatu pcapng. W pliku pcap komentarze są tracone przy zapisie. Aby wyświetlić wszystkie komentarze w pliku, należy przejść do Statistics → Capture File Properties → Comments, gdzie widoczna jest lista wszystkich dodanych adnotacji wraz z numerami pakietów i treścią komentarzy.

47/55
Display Filter Macros

Definiowanie własnych filtrów

Display Filter Macros (Analyze → Display Filter Macros) umożliwia definiowanie własnych skrótów dla często używanych filtrów.

Przykład: zdefiniuj makro scan jako tcp.flags.syn == 1 and tcp.flags.ack == 0.

Potem wystarczy wpisać ${scan} w polu display filtra.

Zastosowania:

  • Złożone filtry do wykrywania ataków
  • Filtry specyficzne dla danej analizy
  • Wielokrotnego użytku w różnych sesjach

Makra są zapisywane w konfiguracji Wireshark (preferences).

Display Filter Macros

Display Filter Macros to mechanizm umożliwiający definiowanie własnych skrótów dla często używanych filtrów wyświetlania. Makra definiuje się w Analyze → Display Filter Macros, gdzie można nadać nazwę makra i przypisać do niego wyrażenie filtrujące. Po zdefiniowaniu makra można go używać w polu filtra, wpisując ${nazwa_makra}.

Przykładowo, jeśli często używamy filtra do wykrywania skanowania SYN, możemy zdefiniować makro o nazwie "scan" z wartością tcp.flags.syn == 1 and tcp.flags.ack == 0. Następnie w polu filtra wystarczy wpisać ${scan}, co jest znacznie szybsze i mniej podatne na błędy. Makra są szczególnie przydatne przy złożonych filtrach do wykrywania ataków, filtrach specyficznych dla danej analizy oraz filtrach wielokrotnego użytku w różnych sesjach. Makra są zapisywane w pliku konfiguracyjnym Wireshark (preferences).

48/55
Firewall ACL Rules

Generowanie reguł firewalla

Firewall ACL Rules (Tools → Firewall ACL Rules) generuje reguły firewalla na podstawie wybranego pakietu.

Obsługiwane formaty:

  • Cisco IOS / ASA
  • Linux iptables / nftables
  • Windows netsh
  • IPFilter, PF (BSD)
  • nftables (nowy format)

Przykład: zaznacz pakiet → Tools → Firewall ACL Rules → Cisco IOS → skopiuj regułę.

Wygenerowana reguła:

access-list 100 deny ip 192.168.1.100 any
Firewall ACL Rules

Firewall ACL Rules to narzędzie, które na podstawie wybranego pakietu generuje regułę firewalla w formacie zgodnym z popularnymi platformami sprzętowymi i programowymi. Funkcja dostępna jest z menu Tools → Firewall ACL Rules i wspiera formaty Cisco IOS, Cisco ASA, Linux iptables, Linux nftables, Windows netsh, IPFilter oraz PF (BSD).

Zastosowanie: po zidentyfikowaniu podejrzanego pakietu w Wireshark, można w kilku kliknięciach wygenerować regułę blokującą ruch z tego adresu IP lub na dany port. Na przykład, po wykryciu ataku DDoS z adresu 192.168.1.100, zaznaczamy pakiet, wybieramy Tools → Firewall ACL Rules → Cisco IOS i otrzymujemy gotową regułę: access-list 100 deny ip 192.168.1.100 any. Regułę można skopiować i wkleić bezpośrednio do konfiguracji firewalla, co znacząco przyspiesza reakcję na incydenty bezpieczeństwa.

49/55
Telephony → VoIP Calls

Analiza połączeń VoIP

Telephony → VoIP Calls pokazuje listę wykrytych połączeń VoIP w przechwyconym ruchu.

Wireshark wykrywa połączenia na podstawie protokołów sygnalizacyjnych:

  • SIP (Session Initiation Protocol)
  • H.323
  • MGCP
  • Skinny (SCCP)

Dla każdego połączenia:

  • Numer telefonu A i B
  • Czas rozpoczęcia i zakończenia
  • Status (Completed, Failed, On-going)
  • Kodek audio (G.711, G.729, Opus)
VoIP Calls

VoIP Calls to narzędzie z menu Telephony, które wykrywa i wyświetla listę połączeń VoIP w przechwyconym ruchu. Wireshark identyfikuje połączenia na podstawie protokołów sygnalizacyjnych, takich jak SIP (Session Initiation Protocol), H.323, MGCP (Media Gateway Control Protocol) oraz Skinny (SCCP - Skinny Client Control Protocol) stosowany w rozwiązaniach Cisco.

Dla każdego wykrytego połączenia prezentowane są: numery telefonów (lub identyfikatory) uczestników A i B, czas rozpoczęcia i zakończenia, status połączenia (Completed, Failed, On-going) oraz zastosowany kodek audio (G.711, G.729, Opus). Połączenia można filtrować według statusu, co ułatwia identyfikację nieudanych połączeń wymagających dalszej analizy. Dwukrotne kliknięcie na połączenie przenosi do odpowiednich pakietów w głównym oknie Wireshark.

50/55
VoIP – analiza RTP

Analiza jakości audio – RTP

Po wybraniu połączenia VoIP możesz przejść do Telephony → RTP → Stream Analysis.

Narzędzie pokazuje kluczowe parametry jakości:

  • Jitter: zmienność opóźnienia (w ms) – im wyższy, tym gorsza jakość
  • Packet Loss: procent utraconych pakietów RTP
  • Max Delta: maksymalna różnica czasu między pakietami
  • MOS (Mean Opinion Score): szacunkowa ocena jakości (1–5)

Próg: jitter < 30 ms, packet loss < 1%, MOS > 4.0 – dobra jakość.

Możesz też odtworzyć audio (Play Streams) – jeśli ruch nie jest szyfrowany.

VoIP wymaga niskiego opóźnienia i małego jittera – te statystyki pomagają zdiagnozować „trzaski" i „zacięcia" w rozmowie.
RTP Stream Analysis

Analiza jakości audio w połączeniach VoIP wymaga zbadania strumienia RTP (Real-time Transport Protocol) za pomocą narzędzia Telephony → RTP → Stream Analysis. Po wybraniu konkretnego połączenia VoIP i uruchomieniu analizy RTP, Wireshark oblicza kluczowe parametry jakościowe: jitter (zmienność opóźnienia), packet loss (procent utraconych pakietów RTP), max delta (maksymalna różnica czasu między pakietami) oraz szacunkowy MOS (Mean Opinion Score).

Akceptowalne wartości dla dobrej jakości połączenia VoIP to: jitter poniżej 30 ms, utrata pakietów poniżej 1%, MOS powyżej 4,0. MOS jest skalą oceny jakości od 1 (bardzo zła) do 5 (doskonała) i jest obliczany na podstawie obiektywnych parametrów transmisji (model E-model z ITU-T G.107). Wireshark pozwala również na odtworzenie strumienia audio (Play Streams), jeśli ruch nie jest szyfrowany, co umożliwia subiektywną ocenę jakości dźwięku - słyszalne "trzaski" i "zacięcia" korelują z wartościami jittera i utraty pakietów.

51/55
Wireshark + Python

Automatyzacja analizy

Wireshark można rozszerzać i automatyzować za pomocą Pythona:

  • pyshark: wrapper na tshark – analiza pcap w Pythonie
  • scapy: przechwytywanie i manipulacja pakietami

Przykład pyshark:

import pyshark
  cap = pyshark.FileCapture('ruch.pcap')
  for pkt in cap:
      if hasattr(pkt, 'http'):
          print(pkt.http.request_uri)

Przykład scapy:

from scapy.all import *
  pkts = rdpcap('ruch.pcap')
  pkts[0].show()
Python pyshark scapy

Wireshark można rozszerzać i automatyzować za pomocą języka Python na kilka sposobów. Najpopularniejszym jest biblioteka pyshark, która stanowi nakładkę na tshark (konsolową wersję Wireshark) i umożliwia analizę plików pcap bezpośrednio z kodu Pythona. Biblioteka scapy oferuje bardziej zaawansowane możliwości, w tym generowanie własnych pakietów, wysyłanie ich do sieci i przechwytywanie odpowiedzi.

Przykład z pyshark pokazuje, jak w kilku liniach kodu otworzyć plik pcap, iterować przez pakiety i sprawdzać, czy zawierają warstwę HTTP. Jest to nieocenione przy automatyzacji rutynowych analiz - na przykład skrypt może codziennie przetwarzać pliki pcap z monitoringu i generować raport o błędach HTTP. Scapy z kolei umożliwia tworzenie własnych narzędzi do testowania sieci, takich jak niestandardowe skanery portów, generatory ruchu testowego czy narzędzia do wykrywania specyficznych wzorców ataków.

52/55
Studium: wolna strona WWW

Analiza od klienta do serwera

Problem: strona WWW ładuje się 15 sekund.

Kroki analizy w Wireshark:

  1. IO Graph: zobacz profile ruchu – długi okres bezczynności?
  2. Conversations: do których hostów klient się łączy?
  3. HTTP Requests: sortuj według czasu odpowiedzi – znajdź najwolniejsze żądanie
  4. TCP Stream Graph RTT: sprawdź opóźnienie do serwera – czy RTT wysokie?
  5. Expert Info: czy są retransmisje? czy DNS odpowiada wolno?
  6. DNS: statystyki – czy czas odpowiedzi DNS jest długi?

Wniosek: obrazek 5 MB z wolnego serwera CDN – czas odpowiedzi 12 s.

Wolna strona WWW

Studium przypadku wolnej strony WWW to klasyczny scenariusz diagnostyczny, w którym użytkownik zgłasza, że strona ładuje się bardzo długo (w tym przypadku 15 sekund). Analityk sieciowy, uzbrojony w Wireshark, może systematycznie przejść przez kolejne narzędzia statystyczne, aby zidentyfikować przyczynę problemu. Procedura opisana na slajdzie stanowi uniwersalny przepis na diagnozowanie problemów z wydajnością aplikacji webowych.

Kroki analizy obejmują: sprawdzenie IO Graph w celu oceny profilu ruchu (czy są długie okresy bezczynności?), przegląd Conversations w celu identyfikacji wszystkich hostów, z którymi łączy się klient, sortowanie HTTP Requests według czasu odpowiedzi w celu znalezienia najwolniejszego żądania, sprawdzenie RTT do serwera na TCP Stream Graph, weryfikację Expert Info pod kątem retransmisji i wolnego DNS. W opisanym przypadku winowajcą okazał się obrazek o rozmiarze 5 MB ładowany z wolnego serwera CDN, którego czas odpowiedzi wynosił 12 sekund.

53/55
Studium: brute-force SSH

Analiza ataku brute-force SSH

Objawy w Wireshark:

  • Endpoints: jeden adres IP źródłowy ma tysiące połączeń do portu 22
  • Conversations: wiele krótkich sesji TCP (3 pakiety – SYN, SYN-ACK, RST)
  • IO Graph: regularne piki – skrypt próbuje haseł
  • Flow Graph: każda sesja: SYN → SYN-ACK → RST (odrzucone logowanie)

Display filter: tcp.port == 22 and tcp.flags.syn == 1 and tcp.flags.ack == 0 – zlicz liczbę SYN do SSH.

Jeśli >100 SYN na minutę z jednego IP – to prawdopodobnie brute-force.

Zabezpieczenie: blokada IP po N próbach (fail2ban, denyhosts).

Brute-force SSH

Studium przypadku ataku brute-force na SSH ilustruje, jak łatwo można wykryć taki atak za pomocą podstawowych narzędzi statystycznych Wireshark. Atak brute-force na SSH polega na wielokrotnym próbowaniu różnych haseł do konta użytkownika na serwerze SSH. Każda próba logowania to osobne połączenie TCP, które w przypadku nieudanego logowania kończy się po trzech pakietach: SYN (klient), SYN-ACK (serwer), RST (klient odrzucający połączenie po nieudanym uwierzytelnieniu).

W Wireshark objawy ataku są bardzo charakterystyczne: w Endpoints widać jeden adres IP źródłowy z tysiącami połączeń do portu 22, w Conversations widoczne są setki krótkich sesji TCP (3 pakiety każda), na IO Graph występują regularne piki odpowiadające działaniu skryptu atakującego. Filtr tcp.port == 22 and tcp.flags.syn == 1 and tcp.flags.ack == 0 pozwala na zliczenie pakietów SYN kierowanych do SSH - jeśli z jednego IP jest ich więcej niż 100 na minutę, mamy do czynienia z atakiem brute-force. Zabezpieczeniem jest stosowanie narzędzi takich jak fail2ban lub denyhosts, które blokują adres IP po określonej liczbie nieudanych prób logowania.

54/55
Kluczowe statystyki

Co dają statystyki Wireshark?

  • Summary: pogląd na plik (rozmiar, czas, pps)
  • Protocol Hierarchy: co dominuje w sieci? co jest nieobecne?
  • Conversations/Endpoints: kto z kim rozmawia? kto mówi najwięcej?
  • IO Graph: kiedy jest ruch? czy są skoki? czy jest regularny?
  • TCP Stream Graphs: jak działa TCP? czy są retransmisje?
  • Service Response Time: czy aplikacja odpowiada szybko?
  • Expert Info: co Wireshark uważa za problem?
Mapa myśli statystyk

Podsumowanie kluczowych statystyk Wireshark przypomina, jakie informacje można uzyskać z każdego z omówionych narzędzi. Summary daje pogląd na plik pcap (rozmiar, czas trwania, średnia przepustowość). Protocol Hierarchy pokazuje, które protokoły dominują w sieci i które są nieobecne. Conversations i Endpoints odpowiadają na pytania "kto z kim rozmawia?" i "kto mówi najwięcej?".

IO Graph wizualizuje ruch w czasie, umożliwiając identyfikację skoków, okresowości i wzorców. TCP Stream Graphs dostarczają szczegółowych informacji o działaniu TCP w konkretnych sesjach, w tym o retransmisjach i oknie TCP. Service Response Time mierzy wydajność aplikacji, a Expert Info podpowiada, co Wireshark uważa za potencjalny problem. Umiejętność łączenia informacji z tych różnych narzędzi jest kluczowa dla efektywnej analizy sieciowej.

55/55
Dobre praktyki

Dobre praktyki zaawansowanej analizy

  • Zawsze zaczynaj od Summary i Protocol Hierarchy – dają kontekst
  • Używaj IO Graph do wizualizacji wzorców ruchu
  • Expert Info – nie ignoruj ostrzeżeń, ale nie ufaj ślepo
  • Follow Stream – gdy potrzebujesz zobaczyć treść komunikacji
  • Export Objects – odzyskuj pliki z ruchu
  • Dokumentuj analizę Packet Comments
  • Używaj Display Filter Macros dla powtarzalnych filtrów
Dobre praktyki

Dobre praktyki zaawansowanej analizy w Wireshark to zbiór zasad wypracowanych przez doświadczonych analityków sieciowych. Zawsze zaczynaj od Summary i Protocol Hierarchy - te dwa narzędzia dają kontekst niezbędny do dalszej analizy. IO Graph służy do wizualizacji wzorców ruchu i jest szczególnie przydatny przy wykrywaniu ataków i anomalii. Expert Info dostarcza podpowiedzi, ale nie należy ufać mu ślepo - zawsze weryfikuj znalezione problemy ręcznie.

Follow Stream jest niezastąpiony, gdy potrzebujesz zobaczyć treść komunikacji - na przykład w celu odzyskania hasła przesłanego jawnym tekstem. Export Objects pozwala na odzyskanie plików z ruchu HTTP, SMB i TFTP. Dokumentacja analizy za pomocą Packet Comments ułatwia współpracę zespołową i zapewnia możliwość powrotu do analizy po czasie. Display Filter Macros zwiększają produktywność przy często używanych filtrach. Stosowanie tych dobrych praktyk znacząco podnosi efektywność i jakość analizy sieciowej.

56/55
Pytania kontrolne 1

Sprawdź swoją wiedzę

  1. Pytanie: Które narzędzie statystyczne Wireshark pokazuje rozkład protokołów w przechwyconym ruchu?

Odpowiedź: Statistics → Protocol Hierarchy. Pokazuje hierarchię protokołów z liczbą pakietów, bajtów i procentami.

  1. Pytanie: Czym różni się Conversations od Endpoints?

Odpowiedź: Conversations pokazuje pary adresów (rozmowy A↔B), Endpoints pokazuje pojedyncze adresy.

Pytania 1

Pytania kontrolne weryfikują zrozumienie podstawowych koncepcji omówionych w prezentacji. Narzędzie Protocol Hierarchy pokazuje hierarchię protokołów z liczbą pakietów, bajtów i procentami - jest to jedno z najczęściej używanych narzędzi przy wstępnej analizie pliku pcap. Różnica między Conversations a Endpoints jest fundamentalna: Conversations pokazuje pary adresów (komunikację A↔B), a Endpoints pojedyncze adresy.

Zrozumienie tej różnicy jest kluczowe przy interpretacji wyników. Jeśli chcemy sprawdzić, ile danych przesłał konkretny host, używamy Endpoints. Jeśli chcemy zobaczyć, które pary hostów komunikują się najintensywniej, używamy Conversations. Oba narzędzia są komplementarne i często używane razem - najpierw Endpoints do znalezienia aktywnego hosta, potem Conversations do zobaczenia, z kim ten host się komunikuje.

57/55
Pytania kontrolne 2

Sprawdź swoją wiedzę – ciąg dalszy

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

Odpowiedź: Rekonstruuje całą sesję TCP – składa pakiety w kolejności i pokazuje treść bez nagłówków.

  1. Pytanie: Jak wyeksportować pliki przesłane przez HTTP z pliku pcap?

Odpowiedź: File → Export Objects → HTTP. Wireshark znajduje wszystkie obiekty MIME przesyłane przez HTTP.

  1. Pytanie: Jakie są cztery grupy komunikatów w Expert Info?

Odpowiedź: Errors (błędy), Warnings (ostrzeżenia), Notes (uwagi), Chats (informacje).

Pytania 2

Dalsze pytania kontrolne sprawdzają znajomość funkcji Follow TCP Stream i Export Objects HTTP. Follow TCP Stream rekonstruuje całą sesję TCP, składając pakiety w kolejności i usuwając nagłówki, co pozwala na zobaczenie czystej treści komunikacji. Export Objects HTTP (File → Export Objects → HTTP) wyodrębnia wszystkie obiekty MIME przesyłane przez protokół HTTP.

Expert Info dzieli komunikaty na cztery grupy: Errors (błędy krytyczne), Warnings (ostrzeżenia), Notes (uwagi), Chats (informacje). Znajomość tych grup i ich kolorystyki (czerwony, żółty, niebieski, fioletowy) pozwala na szybką ocenę stanu sieci. W praktyce należy zawsze sprawdzać najpierw Errors, potem Warnings, a Notes i Chats traktować jako uzupełnienie.

58/55
Pytania kontrolne 3

Sprawdź swoją wiedzę – ciąg dalszy

  1. Pytanie: Jak wykryć skanowanie portów SYN w Wireshark?

Odpowiedź: Użyj filtra tcp.flags.syn == 1 and tcp.flags.ack == 0 i sortuj według adresu źródłowego – jeśli jeden IP wysyła SYN do wielu portów, to skanowanie.

  1. Pytanie: Co to jest jitter w analizie VoIP i jaka wartość jest akceptowalna?

Odpowiedź: Jitter to zmienność opóźnienia pakietów RTP. Akceptowalny: < 30 ms.

Pytania 3

Ostatnie pytania kontrolne dotyczą wykrywania skanowania portów i analizy VoIP. Skanowanie SYN można wykryć filtrem tcp.flags.syn == 1 and tcp.flags.ack == 0 - jeśli jeden adres IP wysyła pakiety SYN do wielu różnych portów w krótkim czasie, mamy do czynienia ze skanowaniem. W praktyce należy zwrócić uwagę na liczbę portów i czas - kilkanaście portów w ciągu kilku minut to normalna komunikacja, setki portów w ciągu sekund to skanowanie.

Jitter w analizie VoIP to zmienność opóźnienia pakietów RTP, mierzona w milisekundach. Akceptowalna wartość to poniżej 30 ms - powyżej tej granicy jakość dźwięku zaczyna być odczuwalnie gorsza (trzaski, zacięcia). MOS (Mean Opinion Score) w skali 1-5 jest syntetycznym wskaźnikiem jakości, gdzie 4,0 i powyżej oznacza dobrą jakość, 3,0-3,9 dostateczną, a poniżej 3,0 niezadowalającą.

59/55
Zadanie praktyczne

Wykonaj samodzielnie

  1. Pobierz przykładowy plik pcap (np. z Wireshark Sample Captures – „http.cap").
  2. Otwórz w Wireshark i sprawdź Protocol Hierarchy – jakie protokoły występują?
  3. Otwórz IO Graph i skonfiguruj 3 linie: wszystkie pakiety, http, tcp.analysis.retransmission.
  4. Znajdź najdłuższą rozmowę TCP (Conversations → TCP → sortuj po Bytes).
  5. Użyj Follow → TCP Stream na tej rozmowie – co widzisz?
  6. Otwórz Expert Info – ile jest Errors? Warnings?
  7. Wyeksportuj obiekty HTTP (File → Export Objects → HTTP) – ile plików?
  8. Sporządź krótki raport (akapit) z wniosków.
Zadanie praktyczne

Zadanie praktyczne na końcu prezentacji pozwala na samodzielne przećwiczenie wszystkich poznanych narzędzi na przykładowym pliku pcap. Zaleca się pobranie pliku http.cap z oficjalnej strony Wireshark Sample Captures (https://wiki.wireshark.org/SampleCaptures) i wykonanie kolejnych kroków opisanych w zadaniu. Ćwiczenie obejmuje zarówno podstawowe statystyki (Protocol Hierarchy), jak i zaawansowane narzędzia (IO Graph, Follow TCP Stream, Expert Info, Export Objects).

Wykonanie wszystkich ośmiu kroków zadania i sporządzenie raportu z wniosków pozwoli na utrwalenie wiedzy zdobytej w trakcie prezentacji. W raporcie należy zawrzeć: listę protokołów wykrytych w Protocol Hierarchy, konfigurację IO Graph z 3 liniami, najdłuższą rozmowę TCP, treść strumienia TCP, liczbę błędów i ostrzeżeń w Expert Info, liczbę wyeksportowanych obiektów HTTP oraz wnioski końcowe dotyczące charakteru analizowanego ruchu.

60/55
Koniec części 4

Koniec części 4

Dziękujemy za uwagę. W następnej części poznamy protokół TCP w praktyce – analizę okna TCP, retransmisje, SACK, opóźnienia, wykrywanie problemów z wydajnością połączeń.

Praca własna:

  • Powtórz wszystkie narzędzia statystyczne Wireshark z tej części
  • Wykonaj zadanie praktyczne z poprzedniego slajdu
  • Eksperymentuj: przechwyć własny ruch (np. przeglądanie strony) i zastosuj poznane narzędzia
Zapowiedź następnej części

Czwarta prezentacja z cyklu "Pomiary logiczne - protokoły, przechwytywanie i analiza ruchu" dostarczyła wszechstronnej wiedzy na temat zaawansowanych narzędzi statystycznych Wireshark. Od podstawowego okna Summary, przez hierarchię protokołów, analizę rozmów i punktów końcowych, aż po zaawansowane wykresy TCP, analizę VoIP i automatyzację z Pythonem - wszystkie te narzędzia są niezbędne w codziennej pracy administratora i analityka sieciowego.

Kluczowe przesłanie: statystyki Wireshark to nie tylko liczby - to wgląd w strukturę ruchu, wydajność protokołów i zachowanie sieci. Umiejętność łączenia informacji z różnych narzędzi statystycznych pozwala na szybką i trafną diagnozę problemów sieciowych, wykrywanie ataków i optymalizację wydajności. W następnej części poznamy protokół TCP w praktyce - analizę okna TCP, retransmisje, mechanizm SACK, opóźnienia i zaawansowane wykrywanie problemów z wydajnością połączeń.