Port mirroring: jak podejrzeć ruch i znaleźć winowajcę spowolnień

0
39
3/5 - (1 vote)

Nawigacja:

Dlaczego samo „pingowanie” nie wystarcza, gdy sieć zwalnia

Dostępność a realna wydajność to dwie różne historie

Ping świeci na zielono, traceroute wygląda przyzwoicie, a użytkownicy nadal narzekają, że „aplikacja muli”. Taki scenariusz w sieciach LAN i WAN powtarza się ciągle. Powód jest prosty: ICMP mierzy wycinek rzeczywistości, i to w warunkach dalekich od tych, w których pracuje prawdziwa aplikacja.

Prosty ping powie, że host odpowiada, a droga do niego jest mniej więcej stabilna. Nie pokaże jednak:

  • jak zachowuje się TCP przy zwiększonym obciążeniu (kontrola przeciążenia, okno TCP, retransmisje),
  • czy pakiety konkretnej aplikacji nie są kolejkowane na przełączniku lub routerze,
  • jak wpływa na ruch priorytetyzacja (QoS), tunelowanie, VPN, NAT, proxy,
  • czy w danym momencie nie ma mikro‑zatorów (burstów), których ping nie uchwyci.

Dostępność według ICMP to „można wejść do sklepu”. Wydajność to: „da się kupić towar, zapłacić i wyjść w rozsądnym czasie”. Port mirroring pozwala zobaczyć całe „zakupy”, a nie tylko czy drzwi są otwarte.

Fałszywi winowajcy: „dostawca”, „Wi‑Fi”, „serwer”

Gdy cokolwiek zwalnia, pierwsze oskarżenia zwykle idą w stronę:

  • operatora internetowego („na pewno obcięli przepustowość”),
  • Wi‑Fi („router jest do wymiany, sygnał słaby”),
  • serwera („administrator nic nie robi, serwer nie wyrabia”).

Bez wglądu w pakiety to tylko zgadywanie. Bardzo często problem leży gdzie indziej:

Przykład z praktyki: użytkownicy skarżą się, że aplikacja webowa działa fatalnie z biura, ale z domu jest „w miarę ok”. Ping do serwera HTTP: 2–3 ms, żadnych strat. Dopiero port mirroring na porcie serwera ujawnia setki retransmisji TCP w okolicach serwera plików, wywołane błędnie działającym modułem antywirusowym skanującym ruch w locie. Winny nie jest ani dostawca, ani Wi‑Fi, lecz opóźnienia w warstwie aplikacyjnej widoczne dopiero w mirrored traffic.

Kiedy warstwa 3/4 przestaje wystarczać

Traceroute, ping, testy TCP/UDP (np. iperf) są niezbędne, ale kończą się w momencie, gdy:

  • problemy są krótkotrwałe i losowe (mikro‑straty, krótkie bursty ruchu),
  • aplikacja korzysta z kilku protokołów naraz (np. HTTP + WebSocket + gRPC) i nie widać, który fragment „szwankuje”,
  • coś „po drodze” modyfikuje lub filtruje ruch (NAT, load balancer, firewall z inspekcją),
  • istotne są flagi TCP, rozmiary segmentów, okno odbiorcze, kolejność pakietów.

W takich przypadkach trzeba zajrzeć głębiej – bezpośrednio w strumień pakietów. Port mirroring daje tę możliwość: ruch jest kopiowany na port monitorujący, bez ingerencji w oryginalny przepływ. To coś jak podsłuch telefoniczny, ale legalny, kontrolowany, i – jeśli dobrze skonfigurowany – niezauważalny dla komunikujących się stron.

Kontrolowany „podsłuch” zamiast ingerencji w ruch

Alternatywnym podejściem do diagnozy problemów sieciowych jest instalacja oprogramowania bezpośrednio na hostach (agentów, snifferów, debug w aplikacji). Ma to sens w niektórych scenariuszach, ale:

  • wpływa na wydajność systemu (CPU, I/O),
  • wymaga współpracy administratorów wielu serwerów,
  • bywa trudne lub niemożliwe w systemach krytycznych / legacy.

Port mirroring działa inaczej: przełącznik kopiuje ruch na osobny port, z którego analizator po prostu go odbiera. Serwer produkcyjny, klient i trasa pakietów pozostają nienaruszone. To najbliższe temu, by „obserwować bez dotykania”.

Inżynierka sieciowa analizuje dane na laptopie w serwerowni
Źródło: Pexels | Autor: Christina Morillo

Czym faktycznie jest port mirroring i czego NIE robi

Definicja i podstawowy mechanizm działania

Port mirroring (SPAN, mirror port, monitor port – nazewnictwo zależy od producenta) to funkcja przełącznika, która:

  • bierze ruch przechodzący przez wybrany port lub VLAN (źródło – source),
  • tworzy jego kopię w płaszczyźnie przełączania (ASIC/programowalny chipset),
  • wysyła tę kopię na inny port (docelowy – destination / monitor),
  • nie modyfikuje oryginalnego ruchu (odbiorcy nie są świadomi podsłuchu).

Typowa konfiguracja obejmuje wybór:

  • jakie interfejsy lub VLAN-y są źródłem (source ports / source VLANs),
  • czy kopiowany jest ruch przychodzący (ingress), wychodzący (egress) czy obydwa kierunki,
  • na jaki port (lub tunel) przekierować kopię ruchu.

Mirroring na switchu a sniffing na hoście

Wiele osób kojarzy analizę ruchu z prostym uruchomieniem Wiresharka i włączeniem trybu promisc na karcie sieciowej. To działa tylko w bardzo ograniczonych scenariuszach:

  • na hubach (praktycznie już nieużywanych),
  • w sieciach Wi‑Fi (gdzie i tak widzisz tylko pewien wycinek ruchu),
  • jeśli przełącznik ma tryb „port mirroring na wszystkie porty” – co bywa zabójcze dla wydajności.

Sniffing hostowy pokazuje ruch, który przechodzi przez dany host. Nie zobaczysz:

  • innych klientów w tym samym VLAN (przełącznik separuje ramki),
  • zachowania ruchu na uplinku, trunku VLAN, interfejsach routowanych,
  • wpływu innych przełączników i urządzeń pośredniczących.

Port mirroring działa w centrum: na przełączniku, który i tak obsługuje ruch. To on ma pełny obraz przepływów między wieloma portami i VLAN‑ami, i może udostępnić go w kontrolowanej formie.

Czego port mirroring nie zapewnia sam z siebie

Port mirroring jest często przeceniany. Funkcja ta:

  • nie zastępuje systemu wykrywania włamań (NIDS), choć NIDS może używać mirrored traffic jako źródła danych,
  • nie jest mechanizmem bezpieczeństwa w sensie zapobiegania (nie blokuje ruchu, tylko go kopiuje),
  • nie wdraża QoS – nie priorytetyzuje ani nie kształtuje pasma, jedynie obserwuje efekty istniejących polityk,
  • nie gwarantuje pełnego pokrycia – można źle dobrać punkt obserwacji i wyciągnąć błędne wnioski.

Popularna rada brzmi: „włącz mirroring do systemu SIEM/IDS i będziesz bezpieczny”. To działa tylko, jeśli:

  • konfiguracja mirroringu jest przemyślana (wiesz, co i gdzie kopiujesz),
  • jest proces analizy i reagowania na wykryte zdarzenia,
  • wydajność przełącznika oraz łącza do sondy/IDS pozwala na obsługę generowanego ruchu.

Bez tego port mirroring staje się co najwyżej „ładnym wykresem”, który nikt nie wykorzystuje.

Port mirroring vs TAP sprzętowy

Tam, gdzie mowa o krytycznym monitoringu lub środowiskach o wysokiej przepustowości, pojawia się alternatywa: TAP optyczny / sprzętowy.

RozwiązanieZaletyOgraniczeniaKiedy użyć
Port mirroring (SPAN)Brak dodatkowego sprzętu, szybka konfiguracja, elastyczność (porty/VLAN/polityki)Obciąża przełącznik, ryzyko dropów mirrored traffic przy dużym ruchu, zależne od implementacji producentaDoraźne debugowanie, monitoring w sieciach LAN o umiarkowanym obciążeniu
TAP sprzętowyBrak wpływu na przełącznik, pełna kopia ruchu na warstwie fizycznej, deterministyczne działanieDodatkowy koszt sprzętu, konieczność fizycznej ingerencji w tor (przełączenie łącza przez TAP)Stały monitoring krytycznych łączy, środowiska o wysokiej przepustowości, wymagania prawne/audytowe

Jeżeli celem jest troubleshooting w typowej sieci LAN, port mirroring jest bardziej praktyczny. Jeśli jednak mowa o łączach sieci rdzeniowej, ruchu finansowym czy systemach OT, lepiej rozważyć TAP-y, żeby:

  • nie obciążać przełączników dodatkowymi kopiami ruchu,
  • nie ryzykować utraty pakietów w mirrored traffic,
  • mieć stabilne źródło ruchu dla wielu sond / systemów analizy.

SPAN, RSPAN, ERSPAN i inne warianty – przegląd możliwości

SPAN – lokalny port mirroring na jednym przełączniku

SPAN (Switch Port Analyzer) to najprostsza i najczęściej używana forma port mirroringu:

  • źródło i cel znajdują się na tym samym przełączniku,
  • nie jest potrzebna żadna dodatkowa infrastruktura (VLAN‑y specjalne, GRE, itp.),
  • najmniej pułapek konfiguracyjnych – głównie dobór portów i kierunku ruchu.

To podstawowy wybór, gdy:

  • analizator (laptop, sonda) można podłączyć do tego samego przełącznika co serwer/klient,
  • sieć jest stosunkowo mała lub logicznie prosta,
  • nie trzeba przenosić mirrored traffic na duże odległości.

RSPAN – kopiowanie ruchu przez sieć VLAN‑ami

RSPAN (Remote SPAN) pozwala wynieść sklonowany ruch:

  • tworzony jest specjalny VLAN typu RSPAN,
  • wybrane przełączniki przenoszą ruch tego VLAN‑u jak „rurę” z mirrorowanych ramek,
  • na drugim końcu inny przełącznik wypuszcza ten ruch na port monitorujący.

RSPAN przydaje się, gdy:

  • serwer/klient znajdują się daleko od miejsca, w którym możesz podłączyć sondę,
  • chcesz centralizować monitoring w jednym punkcie (np. w serwerowni),
  • nie możesz „bawić się” wstawianiem TAP‑ów w wielu miejscach sieci.

Jest też druga strona medalu. RSPAN:

  • dodaje kolejny VLAN, który trzeba konsekwentnie przenosić przez trunk‑i,
  • potrafi wprowadzić zamieszanie, jeśli ktoś pomyli VLAN‑y lub porty trunkowe,
  • może generować znaczny dodatkowy ruch w sieci szkieletowej, gdy przesadzisz ze źródłami.

Kontrariańsko: „centralny monitoring przez RSPAN wszędzie” brzmi dobrze na slajdach, ale w realu bywa bardziej skomplikowany niż kilka sensownie rozmieszczonych lokalnych SPANów i jednego–dwóch TAP‑ów w krytycznych punktach.

ERSPAN – kapsułkowanie mirrored traffic w GRE/IP

ERSPAN idzie krok dalej i pakuje mirrored traffic w tunel GRE/IP. Dzięki temu:

  • źródło i cel mirroringu mogą być rozdzielone routowaną siecią (nie tylko jednym domeną VLAN),
  • analizator może stać w zupełnie innej lokalizacji, nawet za routerami,
  • da się monitorować ruch z oddziałów w jednym centralnym SOC.

Minusy ERSPAN:

  • dodatkowy overhead (nagłówki GRE/IP, obciążenie CPU w niektórych platformach),
  • złożoność konfiguracji (końcowe urządzenia muszą rozumieć ERSPAN lub trzeba „zdejmować” kapsułę gdzieś po drodze),
  • potencjalnie duże ilości ruchu monitorującego w sieci WAN, jeśli nie zastosujesz filtrów.

ERSPAN ma sens głównie w większych środowiskach, gdzie istnieje zespół utrzymaniowy ogarniający GRE, QoS dla tuneli i bezpieczeństwo. W małej sieci firmowej zwykle wystarczy zwykły SPAN lub lokalny TAP.

Mirroring per-port, per-VLAN, per-policy

Prosty wariant: mirror całego portu (wszystko, co wchodzi i wychodzi). To wystarcza, jeśli:

  • analizujesz pojedyncze łącze serwera,
  • port trunkowy niesie mało VLAN‑ów i ruchu.

W bardziej złożonych przypadkach przydają się:

  • mirroring per-VLAN – kopiujesz tylko ruch wybranego VLAN‑u, niezależnie od portu,
  • mirroring per-policy (ACL‑based) – kopiujesz ruch spełniający określone kryteria (adresy IP, porty TCP/UDP, flagi), oszczędzając przepustowość.

Pułapki projektowania sesji mirroringu

Najczęstszy błąd przy projektowaniu SPAN/RSPAN/ERSPAN wygląda tak: „sklonujmy wszystko, zawsze i wszędzie”. Kończy się to:

  • zapchaniem portu docelowego (dropy po stronie sondy, bo nie wyrabia z zapisem),
  • nieprzewidywalnym obciążeniem przełącznika (ASIC jeszcze da radę, ale CPU i pamięć już niekoniecznie),
  • zbyt dużą ilością danych, której nikt nie analizuje – bo nie ma czasu przebijać się przez gigabajty PCAP.

Zamiast jednego „super‑SPANA” lepiej zbudować kilka węższych, ale dobrze przemyślanych sesji:

  • ograniczonych do konkretnych VLAN‑ów lub portów serwerowych,
  • czasowych (włączanych na czas incydentu, nie na stałe),
  • z filtrami na poziomie ACL, jeśli platforma to obsługuje.

Szczególnie w sieciach kampusowych duży lokalny SPAN potrafi pokazać tylko to, że „wszędzie jest hałas”, a nie źródło kłopotów. Lepsze efekty da jedna sesja na uplinku do konkretnego piętra lub do farmy serwerów aplikacyjnych, które realnie są podejrzane.

Dwa monitory z zielonym kodem w ciemnym pokoju admina sieci
Źródło: Pexels | Autor: Tima Miroshnichenko

Jak przygotować się do mirroringu, zanim dotkniesz konfiguracji

Określ cel: co właściwie chcesz zobaczyć

Port mirroring nie jest magicznym zaklęciem – bez zdefiniowanego celu łatwo włączyć „wszystko na wszędzie” i dalej nic nie rozumieć. Najpierw odpowiedz sobie konkretnie:

  • czy szukasz przyczyny spowolnienia (np. przeciążenie łącza, powtórne transmisje, opóźnienia TCP),
  • czy chcesz zweryfikować hipotezę (np. „serwer X wysyła multicast w cały świat”),
  • czy potrzebujesz dowodów do rozmowy z dostawcą (trace’y pokazujące np. duże opóźnienia po stronie ISP).

Dla każdej z tych sytuacji inny punkt obserwacji ma sens. Gdy użytkownicy narzekają, że „system CRM zamula”, bardziej przydatny jest mirroring przy serwerze aplikacyjnym lub bazie niż na brzegu sieci WAN.

Zmapuj ścieżkę ruchu end‑to‑end

Popularna rada: „zmirroruj uplink” – i na pewno coś zobaczysz. Problem w tym, że nie zawsze zobaczysz to, czego szukasz. Dlatego przed konfiguracją warto narysować prostą mapkę:

  1. Skąd wychodzi ruch użytkownika (VLAN, przełącznik dostępowy, port)?
  2. Jakie przełączniki i routery pośredniczą po drodze?
  3. Gdzie ruch dociera (serwer, firewall, chmura, MPLS, Internet)?

Na tej podstawie da się zidentyfikować 1–2 kluczowe punkty obserwacyjne, np.:

  • port serwera aplikacyjnego,
  • trunk między przełącznikiem dostępowym a dystrybucyjnym,
  • interfejs routera brzegowego.

Jeżeli sieć jest wielowarstwowa, sensowne bywa zrobienie dwóch krótkich sesji: jednej przy serwerze, drugiej przy użytkownikach. Porównanie tych dwóch perspektyw pozwala zorientować się, gdzie pojawia się opóźnienie, duplikaty albo retransmisje.

Oszacuj wolumen danych i przepustowość portu docelowego

Sesja mirroringu jest tyle warta, ile jest w stanie „udźwignąć” port docelowy. Jeżeli kopiujesz:

  • dwa porty 1 Gb/s full duplex na jeden port 1 Gb/s monitorujący,
  • albo kilka VLAN‑ów serwerowych na jeden link do laptopa,

to w okresach szczytowych nie ma fizycznie szans, żeby wszystko się zmieściło. Przełącznik będzie musiał coś wyrzucać – zwykle pakiety mirrored traffic, a nie te produkcyjne. Efekt: analiza oparta na niepełnych danych.

Przed startem:

  • sprawdź statystyki interfejsów (średni i szczytowy ruch),
  • upewnij się, że port docelowy ma co najmniej taką samą przepustowość, a najlepiej wyższą (np. mirror z kilku 1 Gb/s na pojedynczy 10 Gb/s),
  • zastanów się, czy możesz zawęzić zakres (policy‑based mirroring, pojedynczy VLAN, krótsze okno czasowe).

Zapewnij miejsce na dane i narzędzia do analizy

Kolejny klasyk: włączony mirroring na kilka godzin, a potem zdziwienie, że:

  • dysk laptopa się zapchał i Wireshark przestał nagrywać,
  • serwer sondy generuje gigabajty PCAP, których nikt nie przegląda,
  • logi rotują się tak szybko, że po weekendzie nie ma śladu po incydencie.

Lepsze podejście:

  • z góry określić maksymalny czas zbierania (np. „nagrywamy tylko 20 minut pod obciążeniem”),
  • stosować rotację plików (mniejsze pliki, np. po 200–500 MB, zamiast jednego wielkiego),
  • filtrować przy przechwytywaniu (BPF/capture filters), a nie dopiero przy analizie.
Kobieta z laptopem idzie między serwerami w nowoczesnym data center
Źródło: Pexels | Autor: Christina Morillo

Konfiguracja port mirroringu krok po kroku – scenariusze na typowych platformach

Ogólne zasady niezależne od producenta

Interfejs CLI czy GUI będzie się różnił, ale logika pozostaje podobna. Typowy schemat:

  1. Zdefiniuj sesję SPAN/RSPAN/ERSPAN (numer, opis, parametry).
  2. Dodaj źródła (porty, VLAN‑y, kierunek ingress/egress).
  3. Określ cel (port monitorujący, VLAN RSPAN, tunel ERSPAN).
  4. Zweryfikuj konfigurację i statystyki.
  5. Ustaw zasady operacyjne (czas trwania, kto może włączać/wyłączać).

Paradoksalnie, najczęściej problemy nie wynikają z samej składni poleceń, tylko z:

  • domyślnych ograniczeń platformy (np. maks. 2 sesje SPAN na przełącznik),
  • niestandardowych zachowań (mirroring przed/po QoS, brak kopiowania kontrolnych ramek),
  • różnic między modelami tego samego producenta.

Przykład: lokalny SPAN na przełącznikach w stylu Cisco IOS/IOS‑like

Na klasycznym przełączniku zbliżonym do Cisco IOS minimalna konfiguracja SPAN dla mirroringu ruchu z portu serwera na port laptopa może wyglądać tak:

monitor session 1 source interface Gi1/0/10 both
monitor session 1 destination interface Gi1/0/24

Kilka detali, które robią różnicę:

  • both – kopiujesz kierunek ingress i egress; jeśli interesuje cię wyłącznie to, co wysyła serwer, użyj tx lub egress,
  • port docelowy zwykle staje się tylko monitorujący – nie przenosi normalnego ruchu produkcyjnego,
  • na niektórych urządzeniach port docelowy traci część konfiguracji (VLAN, trunk, QoS); po zakończeniu sesji warto go sprawdzić lub przywrócić wcześniejsze ustawienia.

Jeśli chcesz mirrorować cały VLAN:

monitor session 2 source vlan 20 both
monitor session 2 destination interface Gi1/0/23

Mirroring VLAN‑u jest wygodny, ale bywa zdradliwy: łatwo niechcący zaciągnąć ruch z wielu portów, które nie są związane z analizowanym problemem.

Przykład: RSPAN z przełącznika dostępowego do przełącznika w serwerowni

Scenariusz: użytkownicy w budynku A zgłaszają spowolnienia, a analityk siedzi w serwerowni w budynku B. Zamiast biegać z laptopem po szafach, można zestawić VLAN RSPAN.

Na przełącznikach pośrednich (trunkujących VLAN RSPAN) konfiguracja jest zwykle prosta:

vlan 900
  remote-span

Na przełączniku źródłowym (przy użytkownikach):

monitor session 5 source interface Gi0/1 both
monitor session 5 destination remote vlan 900

Na przełączniku docelowym (w serwerowni):

monitor session 5 source remote vlan 900
monitor session 5 destination interface Gi1/0/48

Jeżeli VLAN 900 nie będzie przenoszony przez którykolwiek trunk po drodze, sesja przestanie działać – i nie zawsze pojawi się oczywisty komunikat o błędzie. Stąd znaczenie wcześniejszego zmapowania ścieżki.

Przykład: ERSPAN do centralnego analizatora

W większych środowiskach stosuje się ERSPAN do wysyłania ruchu z odległych lokalizacji do centralnego klastra sond. Przykładowa, uproszczona konfiguracja strony źródłowej może wyglądać tak:

monitor session 10 type erspan-source
  source interface Gi0/2 both
  destination
    erspan-id 100
    ip address 203.0.113.10
    origin ip address 10.0.10.1

Z drugiej strony (na urządzeniu odbierającym) trzeba zdefiniować sesję typu ERSPAN‑destination albo mieć dedykowany sprzęt/oprogramowanie, które „zdejmuje” nagłówki GRE/IP i udostępnia surowy ruch do analizy.

ERSPAN kusi możliwością podłączenia „wszystkiego do jednego SOC”, ale ma sens dopiero wtedy, gdy:

  • znasz charakterystykę ruchu (żeby nie zapchać łączy WAN‑owych),
  • tunel ma przydzielone sensowne QoS (żeby nie zabijać produkcyjnych aplikacji),
  • masz proces selekcji: które incydenty w ogóle kwalifikują się do tak głębokiego podglądu.

Specyfika przełączników „small business” i SOHO

W tańszych przełącznikach port mirroring bywa:

  • ograniczony do jednej sesji na cały switch,
  • dostępny tylko przez GUI, z bardzo prostym modelem (jeden source, jeden destination),
  • pozbawiony wsparcia dla mirroringu VLAN‑ów czy ruchu L3.

W praktyce oznacza to, że diagnoza większych problemów na takim sprzęcie szybko dochodzi do ściany. Dla pojedynczego serwera czy krótkiej analizy wystarczy, ale przy kilku VLAN‑ach i wielu portach lepiej choćby tymczasowo wstawić bardziej zaawansowany przełącznik lub TAP.

Jak poprawnie zbierać ruch: laptop analityka, serwer sondy, sprzęt dedykowany

Laptop z Wiresharkiem – wygodny, ale z konkretnymi granicami

Najprostszy wariant to podpięcie laptopa pod port monitorujący i odpalenie Wiresharka lub tcpdumpa. Plusy:

  • szybki start – po kilku minutach masz pierwsze pakiety,
  • możliwość natychmiastowego filtrowania i dekodowania protokołów,
  • mobilność – podchodzisz z laptopem tam, gdzie trzeba.

Granice takiego podejścia są dość wyraźne:

  • karta sieciowa i sterownik mogą nie wyrabiać przy wyższych prędkościach (1 Gb/s przy małych pakietach potrafi zgubić sporo ramek),
  • dysk laptopa (zwłaszcza SSD w ultrabooku) niekoniecznie lubi długotrwałe, intensywne zapisy PCAP,
  • sam system operacyjny może wprowadzać jitter i dropy już na poziomie stosu sieciowego.

Dlatego laptop najlepiej traktować jako narzędzie:

  • do krótkich, celowanych przechwyceń (kilka–kilkanaście minut),
  • do wstępnej analizy, czy problem jest w ogóle widoczny „na kablu”,
  • do debugowania konkretnych sesji (np. pojedyncze połączenie TCP, transakcja HTTP, handshake TLS).

Serwer sondy – gdy potrzebne są dłuższe i cięższe zbiory

Przy wielogodzinnych badaniach pod obciążeniem, testach wydajności lub analizie incydentów bezpieczeństwa znacznie sensowniej wypada:

  • dedykowany serwer z kartą 10 Gb/s (lub wyższą),
  • systemem zoptymalizowanym pod przechwytywanie (np. Linux z odpowiednio ustawionym ring buffer),
  • dużym, najlepiej rotującym magazynem na PCAP (RAID, NVMe lub szybkie HDD, zależnie od budżetu).

Na takim serwerze zamiast Wiresharka w roli „kombajnu do wszystkiego” lepiej użyć:

  • tcpdump lub dumpcap do samego zbierania,
  • narzędzi typu Zeek, Suricata, Moloch/Arkime do indeksowania i analizy,
  • systemu SIEM lub skryptów do wyciągania statystyk (czas odpowiedzi, rozkład portów, ilość retransmisji).

Serwer sondy sprawdza się szczególnie w sytuacjach, gdy problem jest:

  • sporadyczny (np. spowolnienia raz dziennie),
  • Sprzęt dedykowany i TAP‑y – gdy nie możesz sobie pozwolić na „utracone pakiety w próbce”

    Port mirroring jest wygodny, ale ma wady konstrukcyjne: dzieli zasoby z normalnym przełączaniem, podlega ograniczeniom ASIC‑ów, bywa „best‑effort”. Przy dużych prędkościach lub analizie incydentów bezpieczeństwa bywa to zwyczajnie za mało. Tu wchodzą w grę dedykowane rozwiązania – przede wszystkim sprzętowe TAP‑y i agregatory.

    TAP (Test Access Point) działa jak pasywne „rozgałęzienie” łącza:

  • jest wpięty in‑line, między dwa urządzenia (np. firewall a rdzeń sieci),
  • udostępnia ruch na dodatkowych portach monitorujących,
  • nie polega na CPU/ASIC przełącznika, więc nie „zapomina” pakietów przy przeciążeniu.

Popularna rada brzmi: „najpierw zrób SPAN, a TAP zostaw na później”. To działa, dopóki:

  • nie potrzebujesz pełnej zgodności z prawem lub z wymogami audytu (np. sektor finansowy),
  • nie analizujesz ataku, w którym pojedyncze brakujące pakiety zmieniają wnioski,
  • nie przechwycacie ruchu 40/100 Gb/s, gdzie SPAN staje się ruletką.

W takich środowiskach TAP warto wstawić od razu, a SPAN zostawić do zadań „ad‑hoc” i testów. TAP:

  • zachowuje oryginalne timingi ramek (ważne przy diagnozie problemów warstwy fizycznej/MAC),
  • przepuszcza (najczęściej) także nietypowe ramki – np. z błędami FCS czy nietypowymi tagami,
  • nie zmienia zachowania przełączników (nie angażuje ich logiki mirroringu).

Wadą są oczywiście koszty i ingerencja w tor transmisyjny. Wpięcie TAP‑a to pracochłonna operacja, zwykle z okienkiem serwisowym. Dlatego w praktyce sensowna jest kombinacja:

  • TAP‑y na kilku krytycznych łączach (wyjście do Internetu, rdzeń <‑> data center),
  • SPAN/RSPAN w strefach „bliżej użytkownika” i w sieciach mniej krytycznych.

Gdzie fizycznie podpiąć urządzenie zbierające – kilka typowych topologii

Sam dobór narzędzia (laptop, serwer, TAP) nie rozwiązuje pytania: do którego miejsca wpiąć się fizycznie. Zaskakująco często analiza idzie w złym kierunku tylko dlatego, że przechwyt jest zrobiony „po niewłaściwej stronie”.

Kilka typowych wzorców:

  • przed firewall’em od strony LAN – dobra lokalizacja, jeśli użytkownicy narzekają na „wolny Internet”; zobaczysz pełne sesje od stacji roboczej do firewall’a, ale już niekoniecznie wszystkie odrzucenia po stronie WAN,
  • za firewall’em od strony WAN – lepsze do oceny, co dzieje się na łączu z operatorem (przepustowość, opóźnienia, QoS), gorzej, jeśli interesują cię szczegóły sesji z poszczególnych VLAN‑ów,
  • bezpośrednio na przełączniku dostępowym – przydatne, gdy problem manifestuje się tylko w jednym segmencie, np. w danym biurze lub na jednym piętrze,
  • na agregacji/rdzeniu – dobry punkt do „obrazka całościowego”, ale ryzyko zalania analizatora ogromną ilością nieistotnego ruchu.

Zasada kontrariańska: zamiast od razu łapać ruch „w centrum świata” (rdzeń, główny firewall), szybciej dojdziesz do wniosków, robiąc dwa prostsze przechwyty po obu stronach problemu, np.:

  • SPAN na porcie użytkownika + SPAN na porcie serwera,
  • SPAN przed firewall’em + SPAN za firewall’em.

Porównanie takich dwóch strumieni często wprost pokazuje winowajcę: brakujące pakiety, retransmisje, opóźnienia w jednym punkcie, których nie ma w drugim.

Ograniczanie zbieranego ruchu – selekcja zamiast „złapmy wszystko, zobaczymy potem”

Port mirroring kusi, by „złapać wszystko”, bo to tylko jedno polecenie więcej. Strategia „nagrywamy cały VLAN / całe data center” najczęściej kończy się:

  • przepełnieniem portu monitorującego i dropami,
  • gigabajtami danych, których nikt nie jest w stanie sensownie przejrzeć,
  • trudnością w odtworzeniu wątków konkretnego incydentu.

Rozsądniej jest przyjąć, że każda sesja SPAN ma hipotezę Można ją streścić w jednym zdaniu: „Sprawdzam, czy firewall wprowadza duże opóźnienia dla HTTP z VLAN‑u 20 do serwera X”. Z takiej hipotezy wynikają:

  • konkretny zestaw źródeł (port/y, VLAN),
  • konkretny host docelowy,
  • konkretny zakres czasu (np. 10 minut w godzinach szczytu).

Na poziomie samego przechwytywania warto używać filtrów BPF. Przykładowo, gdy interesuje cię tylko ruch do danego serwera HTTP:

tcpdump -i eth0 -w sesja-http.pcap 
  'host 192.0.2.50 and tcp port 80'

Lub gdy usersy narzekają na SSH do konkretnej maszyny administracyjnej:

tcpdump -i eth0 -w ssh-problem.pcap 
  'tcp port 22 and (host 10.10.10.5 or host 10.10.10.100)'

Popularna rada „zapisz wszystko bez filtrów, później sobie odfiltrujesz” przestaje mieć sens tam, gdzie:

  • łączna przepustowość przekracza 1 Gb/s,
  • magazyn danych nie jest „nieskończony”,
  • czas analityka jest droższy niż czas poprawnego ustawienia filtra na starcie.

Jak łączyć dane z port mirroringu z innymi źródłami – bez tego trudno znaleźć winowajcę

Sama próbka pakietów rzadko kiedy opowiada pełną historię. Mirroring staje się naprawdę użyteczny dopiero w zestawieniu z innymi sygnałami:

  • logami z aplikacji i serwerów (czasy odpowiedzi, błędy),
  • metrykami z systemów monitoringu (CPU, I/O, opóźnienia na dyskach, GC w JVM),
  • logami z firewall’i, load balancerów i proxy.

Przykład z praktyki: użytkownicy zgłaszają, że „system ERP się wiesza”. Na przechwycie widać, że serwer regularnie odpowiada po 5–8 sekundach. Łatwo oskarżyć sieć, ale zestawienie z metrykami bazy danych pokazuje, że w tym czasie rośnie liczba blokad na tabelach, a czas zapisu na macierzy jest dramatyczny. Warstwa sieciowa „tylko” uczciwie przenosi te opóźnienia.

Dlatego podczas planowania sesji mirroringu dobrze jest:

  • zsynchronizować czas na wszystkich kluczowych urządzeniach (NTP),
  • zapisać, kiedy dokładnie (timestamp) użytkownicy odczuli problem,
  • zadbać, by w tym samym oknie czasowym zarchiwizować także logi aplikacyjne i systemowe.

Z punktu widzenia procesu dochodzeniowego najważniejsza jest spójność osi czasu. Bez tego dyskusja „wina sieci vs wina aplikacji” zamienia się w zgadywankę.

Bezpieczeństwo i poufność – mirroring jako najprostszy sposób na wyciek

Port mirroring jest jednym z niewielu mechanizmów w infrastrukturze, który z definicji łamie separację ruchu. Wszystko, co skopiujesz na port monitorujący, może zostać:

  • pobrane na prywatny laptop,
  • skopiowane na niezabezpieczony pendrive lub dysk sieciowy,
  • wysłane poza organizację.

Popularne rady w stylu „dopuść mirroring każdemu adminowi, i tak nikt nie ma na to czasu” są wygodne operacyjnie, ale kosztowne ryzykownie. Przy włączeniu SPAN‑a możesz w kilka sekund zebrać:

  • hasła w protokołach nieszyfrowanych,
  • dane osobowe, numery dokumentów, treści maili (nawet jeśli część kanałów jest szyfrowana, nie wszystkie są),
  • tokeny sesyjne, ciasteczka, dane OAuth.

Przy bardziej świadomym podejściu:

  • prawo włączenia SPAN‑a ma ograniczona grupa osób (np. zespół sieciowy/SOC),
  • każda sesja mirroringu ma identyfikowalny kontekst: kto, kiedy, w jakim celu, na jaki zakres czasu,
  • pliki PCAP są traktowane jak materiały wrażliwe – z kontrolą dostępu, retencją i procedurą niszczenia.

W środowiskach o wysokich wymaganiach zgodności (finanse, medycyna, sektor publiczny) brak takich zasad może być poważniejszym problemem niż samo „spowolnienie sieci”, które próbujesz zdiagnozować.

Czy mirroring może spowolnić sieć – kiedy ostrożność ma sens

Zdarza się, że po włączeniu SPAN‑a użytkownicy zgłaszają… jeszcze większe spowolnienia. Często jest to przypadek, ale nie zawsze. Są platformy, na których:

  • mechanizm mirroringu korzysta z tych samych kolejek i zasobów co normalne przełączanie,
  • duża liczba ramek do skopiowania powoduje back‑pressure na ASIC‑u i dropy na interfejsach produkcyjnych,
  • port docelowy nie jest w stanie odebrać całego mirrora, co skutkuje zrzucaniem pakietów na poziomie hardware’u.

Ostrożność ma sens szczególnie:

  • na przełącznikach z serii „small business” i starszych modelach,
  • gdy mirrorujesz kilka portów 1 Gb/s na jeden port docelowy 1 Gb/s (klasyczny oversubscription),
  • przy mirroringu ruchu wysokoprzepustowego (backup, replikacja baz, ruch SAN/iSCSI niosący TCP/IP).

Dobrym kompromisem jest:

  • testowa, krótka sesja mirroringu w godzinach mniejszego obciążenia,
  • użycie filtrów (np. tylko określony VLAN lub zakres adresów),
  • planowanie dłuższych przechwytów na urządzeniach rdzeniowych o większych zasobach.

Mirroring i sieci z wirtualizacją – hypervisory, vSwitch’e, overlay’e

Przy rosnącej liczbie usług wirtualnych pojawia się kolejny „szczebel” do podglądu – vSwitch w hypervisorach, sieci overlay (VXLAN, GRE, Geneve), funkcje Distributed Port Mirroring w platformach wirtualizacji.

Klasyczny SPAN na fizycznym przełączniku:

  • zobaczy ruch już po enkapsulacji w VXLAN/GRE,
  • nie zawsze pokaże komunikację między VM‑kami na tym samym hoście (przechodzącą wyłącznie przez vSwitch),
  • utrudni analizę, bo każda ramka jest „owinięta” dodatkowymi nagłówkami overlay.

W takich środowiskach często skuteczniejsze są mechanizmy mirroringu po stronie hypervisora:

  • port mirroring w vSphere/ESXi lub Hyper‑V,
  • ERSPAN generowany bezpośrednio z vSwitch’a do analizatora,
  • funkcje typu „distributed port mirroring” w rozwiązaniach SDN (NSX, ACI, itp.).

Nie ma tu jednej złotej zasady. Dla problemów typowo aplikacyjnych (VM <‑> VM) lepiej łapać ruch jak najbliżej maszyn wirtualnych. Dla problemów „z zewnątrz” (Internet, MPLS, dostęp Wi‑Fi) zwykle wygodniejszy jest mirroring po stronie fizycznych przełączników/edge’y.

Jak z port mirroringu zrobić stały element procesu, a nie „magiczny trik” na koniec

Port mirroring bywa traktowany jako ostateczne narzędzie: „gdy wszystko inne zawiedzie, zróbmy SPAN”. Efekt uboczny jest taki, że mało kto ćwiczy go na spokojnie, w kontrolowanych warunkach, a pierwsze próby przypadają na moment, gdy usługa leży.

Zamiast tego da się wpleść mirroring w normalny cykl pracy:

  • przy wdrożeniu nowej, krytycznej aplikacji – krótka sesja SPAN w godzinach szczytu, by zebrać „wzorzec zdrowego ruchu”,
  • przy zmianach topologii lub QoS – kontrolne przechwyty przed i po, do porównania,
  • przy testach wydajnościowych – stały mirroring na czas testu, spięty z narzędziami pomiarowymi.

Z czasem zespół oswaja się z:

  • typowymi objawami (wysoki RTT aplikacyjny vs sieciowy, retransmisje, zaburzony MSS/MTU),
  • charakterystyką normalnego ruchu dla kluczowych aplikacji,
  • ograniczeniami konkretnych platform sprzętowych.

Najczęściej zadawane pytania (FAQ)

Czym jest port mirroring (SPAN) i po co się go używa?

Port mirroring to funkcja przełącznika sieciowego, która kopiuje ruch z wybranych portów lub VLAN-ów na jeden port monitorujący. Na tym porcie podłączasz analizator (np. laptop z Wiresharkiem, sondę, IDS), który „podsłuchuje” pakiety, nie ingerując w oryginalny ruch.

Stosuje się go głównie do diagnozy spowolnień aplikacji, analizy problemów z TCP, weryfikacji QoS, tuneli VPN, NAT czy działania firewalli. Zamiast zgadywać „czy to wina operatora albo serwera”, widzisz faktyczne pakiety: retransmisje, kolejki, opóźnienia na konkretnej sesji.

Dlaczego ping i traceroute nie wystarczają do diagnozy wolnej sieci?

Ping i traceroute badają przede wszystkim dostępność i opóźnienie dla ICMP, czyli specjalnego typu ruchu, który często jest traktowany przez urządzenia sieciowe inaczej niż ruch aplikacyjny. To tak, jakby oceniać ruch na autostradzie, patrząc tylko na przejazd radiowozu – niby jedzie szybko, ale nie mówi to nic o kolejce tirów przy bramkach.

Nie zobaczysz w ping/traceroute m.in. retransmisji TCP, zachowania okna odbiorczego, kolejkowania pakietów konkretnej aplikacji, ani krótkich burstów przeciążających łącze. Port mirroring pozwala zejść na poziom pojedynczych pakietów i sprawdzić, jak naprawdę zachowuje się sesja aplikacji pod obciążeniem.

Jak skonfigurować port mirroring na switchu, żeby faktycznie coś zobaczyć?

Kluczowy jest wybór właściwego punktu obserwacji. Najczęściej jako źródło ustawiasz port serwera z problematyczną aplikacją lub uplink, którym wychodzi ruch użytkowników. W konfiguracji określasz, czy kopiujesz ruch przychodzący, wychodzący czy oba kierunki – do pełnej analizy TCP potrzebujesz zwykle obydwu.

Błąd typowy dla początkujących to mirrorowanie „byle czego” lub całego switcha. W efekcie dostajesz tonę nieistotnych pakietów i łatwo przeoczyć sedno sprawy. Lepiej zacząć wąsko (np. jeden port, jeden VLAN), przeanalizować zjawisko, a dopiero potem rozszerzać zakres, jeśli to konieczne.

Czym różni się port mirroring od sniffingu ruchu bezpośrednio na hoście?

Sniffing na hoście pokazuje tylko to, co przechodzi przez dany system – ruch od/do tego konkretnego serwera lub stacji roboczej. Nie złapiesz w ten sposób np. zachowania innych klientów w tym samym VLAN, kolejek na uplinku czy wpływu pośrednich przełączników. Dodatkowo agent/sniffer na serwerze może obciążać CPU i I/O, czyli sam zmieniać warunki pomiaru.

Port mirroring działa w centrum – na przełączniku, który i tak „widzi” ruch między wieloma portami. Dzięki temu możesz obserwować przepływy między wieloma hostami bez instalowania czegokolwiek na nich, a sam ruch produkcyjny pozostaje nienaruszony. Sniffing hostowy ma sens np. przy debugowaniu aplikacji, ale do szerszego obrazu sieci lepiej użyć mirroringu.

Czy port mirroring ma wpływ na wydajność przełącznika i sieci?

Tak, i to jest aspekt często ignorowany. Kopiowanie dużej ilości ruchu obciąża płaszczyznę przełączania (ASIC/CPU) oraz port docelowy. Przy wysokim wolumenie przełącznik może zacząć gubić pakiety w strumieniu mirrored traffic, a w skrajnych przypadkach wpływać na wydajność samego urządzenia.

Dlatego port mirroring jest świetnym narzędziem do krótkotrwałego troubleshooting’u lub monitoringu sieci o umiarkowanym obciążeniu. Jeśli potrzebujesz stałego, pełnego podglądu w łączu o wysokiej przepustowości (np. core, systemy finansowe), rozsądniej rozważyć TAP sprzętowy zamiast „duszenia” switcha dodatkowymi kopiami ruchu.

Port mirroring czy TAP sprzętowy – co wybrać przy problemach z wydajnością?

Port mirroring (SPAN) wygrywa elastycznością i kosztem: nic nie dokładasz do toru fizycznego, konfiguracja trwa minuty, możesz decydować, które porty/VLAN-y chcesz obserwować. To dobre rozwiązanie do doraźnej diagnozy w typowej sieci LAN, testów PoC, incydentalnych analiz.

TAP optyczny/sprzętowy sprawdza się tam, gdzie monitoring ma być stały, a łącza pracują blisko granic przepustowości. TAP daje deterministyczną, pełną kopię ruchu bez obciążania przełącznika i mniejszym ryzykiem dropów w ruchu monitorowanym. Jeśli analizujesz sporadyczne „mulenie” aplikacji w biurze – zaczynaj od SPAN. Jeśli budujesz SOC dla krytycznego datacenter – myśl o TAP-ach.

Czy port mirroring zwiększa bezpieczeństwo sieci i zastępuje IDS/IPS?

Port mirroring sam w sobie nie zwiększa bezpieczeństwa – on tylko kopiuje ruch. Nie blokuje ataków, nie filtruje pakietów, nie egzekwuje polityk. Może być natomiast źródłem danych dla systemów bezpieczeństwa, takich jak NIDS czy sondy analityczne, które na podstawie mirrored traffic wykrywają anomalie.

Popularna rada typu „włącz mirroring do SIEM/IDS i będziesz bezpieczny” działa wyłącznie wtedy, gdy: dobrze dobierzesz punkty mirroringu, zadbasz o wydajność łącza do sondy i masz realny proces analizy oraz reagowania. Bez tego kończy się na pięknych wykresach, które nie przekładają się ani na szybszą sieć, ani na wyższy poziom ochrony.