Ustawienia dostępności

Rozmiar tekstu

100%

IoT i urządzenia 4 min czytania

Głęboka inspekcja pakietów (DPI)

Deep packet inspection Inne nazwy: DPI, deep packet inspection, inspekcja pakietów, głęboka analiza pakietów

Definicja

Głęboka inspekcja pakietów (DPI) to metoda analizy ruchu sieciowego, która czyta treść pakietów, a nie tylko adresy IP i porty. Pozwala rozpoznać protokół lub aplikację, wydobyć pola takie jak nazwa hosta i według polityki przepuścić, zablokować albo zapisać ruch.

Cytuj hasło

Tekst

"Głęboka inspekcja pakietów (DPI)". Order Group, Słownik oprogramowania, 10 października 2026. https://ordergroup.co/pl/slownik/dpi/

HTML

<a href="https://ordergroup.co/pl/slownik/dpi/">Głęboka inspekcja pakietów (DPI)</a> - Order Group

Jak działa głęboka inspekcja pakietów

Klasyczna zapora sieciowa decyduje na podstawie nagłówka pakietu: adresu źródłowego i docelowego, portu i protokołu. Głęboka inspekcja pakietów czyta dalej. Składa pakiety przepływu w całość i patrzy, co przenoszą, więc potrafi rozpoznać aplikację albo protokół niezależnie od portu, którego używają. ITU-T opisało wymagania wobec DPI w sieciach operatorskich w zaleceniu Y.2770 (2012 r.). Ta sama technika działa dziś w bramkach firmowych, chmurowych proxy i na samych urządzeniach.

Silnik DPI łączy trzy metody. Dysektory protokołów rozbierają znane protokoły i wyciągają z nich pola: nazwę w zapytaniu DNS, nagłówek Host w zwykłym HTTP, nazwę serwera w handshake'u TLS. Sygnatury dopasowują wzorce bajtów typowe dla danej aplikacji. Gdy ruchu nie da się odczytać, o jego rodzaju świadczą cechy statystyczne i behawioralne przepływu: rozmiary pakietów, odstępy czasu, parametry handshake'u. Częstym elementem takich systemów jest nDPI, otwarta biblioteka na licencji LGPLv3 rozwijana przez ntop. Jej autorzy podają ponad 450 rozpoznawanych protokołów warstwy 7, a biblioteka wyciąga metadane z połączeń szyfrowanych do analizy ruchu szyfrowanego.

Szyfrowanie stale zmniejsza to, co DPI widzi bez odszyfrowania. W TLS 1.3 (RFC 8446) wszystkie wiadomości handshake'u po ServerHello są szyfrowane, łącznie z certyfikatem serwera, który TLS 1.2 wysyłał jawnie. Nazwa serwera (SNI) w ClientHello pozostawała widoczna i na niej opiera się wiele klasyfikatorów. Encrypted Client Hello (ECH), opublikowane jako RFC 9849 w marcu 2026 r., szyfruje ClientHello kluczem publicznym serwera i chroni nazwę serwera oraz listę ALPN. DNS over HTTPS (DoH, RFC 8484) przenosi zapytania o nazwy do zwykłego ruchu HTTPS, więc wykrywanie oparte na DNS też traci dane wejściowe. Bez odszyfrowania urządzenie DPI w sieci coraz częściej widzi tylko adres IP i zachowanie przepływu.

Na urządzeniu sytuacja wygląda inaczej, bo system operacyjny wie, która aplikacja otworzyła połączenie, zanim cokolwiek zostanie zaszyfrowane. W standardowym Androidzie aplikacja może sprawdzać ruch tylko przez VpnService, które tworzy wirtualny interfejs sieciowy i przekazuje aplikacji każdy wychodzący pakiet. Platforma to ogranicza: użytkownik musi zatwierdzić pierwsze połączenie VPN, chyba że właściciel urządzenia albo profilu skonfiguruje stały VPN (always-on); w danej chwili może działać tylko jeden VPN, a przez cały czas widać systemowe powiadomienie. We własnym buildzie Androida inspekcję można umieścić w samym systemie.

Co DPI oznacza dla oprogramowania

W praktyce DPI to silnik polityk z klasyfikatorem na wejściu, a większość pracy idzie w polityki, ich aktualizacje i zachowanie systemu, gdy klasyfikacja zawiedzie. Wymagania dla każdego systemu, który sprawdza lub filtruje ruch urządzeń:

  • Zdecyduj, gdzie działa inspekcja: w sieci, w chmurowym proxy, w aplikacji na urządzeniu czy w systemie operacyjnym. Każde z tych miejsc widzi inne dane i inaczej zawodzi (patrz tabela).
  • Polityka to wersjonowane dane dla organizacji i grupy urządzeń: zablokowane protokoły, aplikacje, domeny, słowa kluczowe i wzorce adresów URL. Urządzenia synchronizują ją z backendem i raportują, którą wersję stosują.
  • Określ zachowanie, zanim klasyfikacja się zakończy, i dla ruchu, którego silnik nie rozpozna. Tryb fail-open przepuszcza nieznany ruch, tryb fail-closed psuje aplikacje, gdy pojawi się nowy protokół. Wybierz tryb dla każdej polityki i pokaż go w panelu administratora.
  • Zablokowane połączenie kończy się szybko i z czytelnym błędem, żeby aplikacje nie wisiały na timeoutach, a użytkownik odróżnił zablokowaną stronę od awarii sieci.
  • Biblioteka wykrywania to zależność z własnym cyklem aktualizacji. Protokoły się zmieniają, więc sygnatury i dysektory trafiają do urządzeń razem z aktualizacjami systemu, a build jest robiony pod procesor urządzenia, często ARM.
  • Zaplanuj mniejszą widoczność. TLS 1.3, ECH i DoH usuwają pola, na których opierają się starsze reguły. Odszyfrowanie TLS na urządzeniu oznacza instalację własnego certyfikatu głównego, a to osobna decyzja dotycząca bezpieczeństwa i prawa; aplikacje przypinające certyfikaty przestaną działać.
  • Logi sprawdzanego ruchu to dane osobowe, jeśli wiążą osobę ze stronami i aplikacjami. Zgodnie z RODO, czyli rozporządzeniem (UE) 2016/679, system potrzebuje określonego celu, okresu przechowywania i kontroli dostępu do tych logów.
  • Przed wdrożeniem zmierz zużycie procesora, pamięci i baterii na docelowym sprzęcie przy prawdziwym ruchu.
Gdzie może działać głęboka inspekcja pakietów
MiejsceCo widziOgraniczeniaTypowe zastosowanie
Urządzenie sieciowe lub bramkaCały ruch w sieci obiektu, metadane przepływów szyfrowanychNie widzi urządzeń poza siecią, traci SNI przy ECH i DNS przy DoHSieci biurowe i zakładowe, sieci operatorów
Chmurowe proxy lub stały VPNRuch kierowany przez usługę, z dowolnego miejscaDodaje opóźnienie, urządzenie musi utrzymywać tunelPracownicy zdalni, zarządzane floty
Aplikacja na urządzeniu (Android VpnService)Każdy pakiet urządzenia przed wysłaniem, w podziale na aplikacjeJeden VPN naraz, zgoda użytkownika, widoczne powiadomienieAplikacje filtrujące i monitorujące na standardowym Androidzie
Wewnątrz systemu operacyjnegoPołączenia z informacją o aplikacji, przed zaszyfrowaniem treściWymaga własnego buildu systemu i kanału aktualizacjiUtwardzone telefony, terminale, urządzenia dedykowane

Przepisy i standardy

ITU-T Y.2770 (2012 r.) określa wymagania wobec DPI w sieciach następnej generacji. To punkt odniesienia dla sprzętu operatorskiego, a nie obowiązek prawny. Protokoły, które ograniczają DPI, to standardy IETF: TLS 1.3 w RFC 8446, ECH w RFC 9849 i DoH w RFC 8484. W UE zapisy ruchu powiązane z użytkownikiem podlegają RODO, więc inspekcja ruchu na urządzeniach pracowników wymaga podstawy prawnej, poinformowania osób, których dotyczy, i zasady przechowywania danych. Sprawdź też przepisy prawa pracy i telekomunikacyjnego w każdym kraju, w którym używane są urządzenia.

Z naszych projektów

W projekcie systemu Raw Control inspekcja pakietów działała wewnątrz systemu operacyjnego. Pierwszą warstwą, budowaną od 2020 r., był klasyfikator linków: system synchronizował z backendu słowa kluczowe, reguły i adresy, odrzucał połączenie, gdy adres zawierał słowo kluczowe, pokrywał się z adresem z listy albo pasował do wyrażenia regularnego, i zwracał błąd EHOSTUNREACH, żeby aplikacje od razu dostawały odmowę.

W kwietniu 2021 r. skompilowaliśmy nDPI pod ARM i zintegrowaliśmy jego API z systemem operacyjnym. W maju doszło wykrywanie DNS, w czerwcu wyciąganie adresów URL. W sierpniu i wrześniu 2021 r. dodaliśmy blokowanie protokołów i aplikacji rozpoznawanych przez nDPI: administrator wybiera je w panelu dla firmy albo grupy, backend udostępnia ustawienia telefonom, a Android blokuje pasujący ruch.

Źródła

  1. ITU-T Y.2770: Requirements for deep packet inspection in next generation networks - ITU-T
  2. nDPI: Open and Extensible LGPLv3 Deep Packet Inspection Library - ntop
  3. RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3 - IETF
  4. RFC 9849: TLS Encrypted Client Hello - IETF
  5. RFC 8484: DNS Queries over HTTPS (DoH) - IETF
  6. VpnService (Android API reference) - Android Developers
  7. Regulation (EU) 2016/679 (GDPR) - EUR-Lex

Najczęstsze pytania

Maciej Sułek
Maciej Sułek
Co-founder & CTO
Porozmawiaj z inżynierem
  • Nie bez odszyfrowania. Bez niego widzi metadane: adresy, zachowanie przepływu i, dopóki nie używa się ECH, nazwę serwera. Odszyfrowanie wymaga zaufanego certyfikatu głównego na urządzeniu, a aplikacje przypinające certyfikaty przestaną wtedy działać.

  • Nie. Zapora filtruje po adresach, portach i protokołach z nagłówka pakietu. DPI rozpoznaje aplikację albo protokół po treści i zachowaniu przepływu, więc może zablokować aplikację, która używa tego samego portu co dozwolony ruch.

  • Na urządzeniu, jeśli urządzenia opuszczają Twoją sieć albo musisz wiedzieć, która aplikacja nawiązała połączenie. W sieci, jeśli kontrolujesz tylko stałe lokalizacje i chcesz mieć jeden punkt kontroli. Wiele flot korzysta z obu.

  • nDPI jest na licencji LGPLv3, która pozwala na użycie w oprogramowaniu zamkniętym pod warunkami dotyczącymi dystrybucji biblioteki i możliwości jej podmiany przez użytkownika. Przed wydaniem produktu niech prawnik sprawdzi licencję pod kątem Twojego modelu dystrybucji.

Budujesz system, w którym liczy się Głęboka inspekcja pakietów (DPI)?

Zobacz, jak budujemy oprogramowanie w tej dziedzinie: case studies i technologie, których używamy.

Checklista wymagań

Do każdego hasła wyślemy definicję i to, czego wymaga od Twojego oprogramowania. Bezpłatnie, bez rozmowy handlowej.

Checklista jest pusta. Dodaj hasło plusem przy jego nazwie.

    Order Group sp. z o.o. (Warszawa) użyje Twojego adresu e-mail, żeby wysłać checklistę (art. 6 ust. 1 lit. b RODO), i zachowa informację o prośbie (art. 6 ust. 1 lit. f RODO). Zgoda marketingowa jest dobrowolna i możesz ją wycofać w każdej chwili. Polityka prywatności