Logowanie do portalu przechwytującego oznacza krótkie uwierzytelnienie w sieci Wi‑Fi, zanim dostaniesz pełny dostęp do internetu. Działa to jak wirtualna bramka – dopóki się nie zalogujesz lub nie zaakceptujesz regulaminu, ruch jest filtrowany albo blokowany. Takie rozwiązanie spotkasz w hotelu, na lotnisku, w autobusie miejskim czy w sieci WiFi4EU w Twojej gminie. Jeśli chcesz lepiej zrozumieć, jak to działa technicznie i jak to bezpiecznie skonfigurować, przeczytaj ten artykuł.
Czym jest portal przechwytujący?
Portal przechwytujący to specjalny mechanizm w sieci, który przekierowuje ruch użytkownika na stronę logowania lub akceptacji regulaminu zanim zezwoli na normalne korzystanie z internetu. Z zewnątrz widzisz po prostu stronę z przyciskiem „Połącz”, formularzem logowania, polem na e‑mail, czasem z prośbą o płatność czy z banerem programu WiFi4EU. W tle działa jednak filtr na routerze, kontrolerze Wi‑Fi albo firewallu, który rozpoznaje niezalogowane urządzenia i ogranicza im dostęp.
Taką bramkę stosują sieci publiczne – w hotelach, na lotniskach, uczelniach, w autobusach – ale też sieci gościnne w firmach. Każda instalacja w programie WiFi4EU musi mieć własny portal autoryzacji, połączony z systemem raportowania i z elementem identyfikacji wizualnej na stronie. To właśnie ta „strona logowania” jest w dokumentacji nazywana portalem przechwytującym.
Portal przechwytujący to połączenie reguł sieciowych, strony www i logiki uwierzytelniania, która decyduje, czy urządzenie ma dostać pełny dostęp do internetu.
Jak działa logowanie do portalu przechwytującego?
Połączenie z takim portalem składa się z kilku powtarzalnych kroków. Dla użytkownika wygląda to prosto – kliknięcie w powiadomienie „Zaloguj się w sieci” albo automatyczne otwarcie okna przeglądarki – ale w tle pracuje kilka komponentów systemu operacyjnego i infrastruktury sieciowej.
Co dzieje się po podłączeniu do sieci Wi‑Fi?
Od chwili, gdy telefon lub laptop łączy się z punktem dostępowym, urządzenie przechodzi podstawową konfigurację IP. Klient DHCP (w Androidzie to DhcpClient będący częścią modułu Network Stack) pobiera adres IP, maskę, bramę i serwery DNS. Równolegle komponent NetworkMonitor sprawdza, czy nowa sieć faktycznie daje dostęp do internetu – wykonuje sondy HTTP/HTTPS do zdefiniowanych adresów kontrolnych.
Jeśli żądanie HTTP zostaje przekierowane (na przykład na stronę logowania hotelu), system rozpoznaje, że trafił na portal przechwytujący. W Androidzie odpowiada za to wstępnie zainstalowana aplikacja do logowania w portalu, która współpracuje z NetworkMonitor i modułem Network Stack. Na ChromeOS podobny test wykonuje system Chrome, a sposób reakcji zależy od tego, czy administrator włączył wykrywanie portalu w konsoli.
Jak wygląda strona logowania?
Po wykryciu portalu system otwiera specjalne okno przeglądarki. Na ChromeOS pojawia się powiadomienie i automatycznie otwarta karta z adresem wymuszonym przez sieć. Na Androidzie – od wersji 12 z aktualnym modułem CaptivePortalLogin – coraz częściej używane są niestandardowe karty Chrome, a nie proste komponenty WebView.
Na tej stronie widzisz elementy przygotowane przez operatora sieci: tekst regulaminu, checkbox akceptacji, formularz e‑mail, pole na voucher, a w przypadku sieci WiFi4EU także baner z identyfikacją wizualną programu. Po naciśnięciu przycisku logowania portal wysyła informacje do swojego backendu, który aktualizuje reguły na firewallu lub kontrolerze i przyznaje Twojemu urządzeniu normalny dostęp do internetu.
Jak system decyduje, że już jesteś online?
Po udanym logowaniu portal zwykle wykonuje przekierowanie HTTP 302 na stronę zewnętrzną – na przykład witrynę gminy albo wyszukiwarkę. Dla NetworkMonitor to sygnał, że portal „zniknął”, a HTTP i HTTPS działają normalnie. Android i ChromeOS aktualizują wtedy status połączenia z „Brak internetu” albo „Wymagane logowanie” na „Połączono”.
Od Androida 11 wprowadzono jeszcze dokładniejszy mechanizm – Captive Portal API opisany w RFC 8908. Dzięki niemu portal może zwrócić w odpowiedzi JSON konkretne pole „captive”: true lub false. Gdy sieć zgłasza „captive”: false, system traktuje urządzenie jako w pełni online, nawet jeśli tradycyjne sondy HTTP mogłyby wprowadzić niejednoznaczny stan.
Jak systemy wykrywają portal przechwytujący?
Samo istnienie portalu to jedno, ale to, jak szybko i poprawnie zostanie wykryty na telefonie czy Chromebooku, wpływa bezpośrednio na wygodę użytkownika. Błędna konfiguracja oznacza komunikat „Brak internetu” mimo sprawnej sieci albo brak automatycznego otwarcia strony logowania.
Wykrywanie w Androidzie
Od Androida 5.0 urządzenia wysyłają sondy HTTP w postaci nieszyfrowanego tekstu do znanych adresów typu connectivitycheck.gstatic.com. Jeśli odpowiedź nie jest zwykłym „204 No Content”, tylko przekierowaniem, system przyjmuje, że jest to portal przechwytujący. Od Androida 11 pojawiło się wsparcie opcji DHCP 114 opisanej w Captive Portal API. Router może w niej podać adres URL interfejsu API, z którego telefon pobiera plik JSON z informacją o stanie sesji, czasie pozostałym do wygaśnięcia czy limicie danych.
W module Network Stack – aktualizowanym jako moduł Mainline – część logiki wykrywania portali i logowania przeniesiono do oddzielnego procesu. Ułatwia to dostosowanie Androida do nowych standardów, bez czekania na pełną aktualizację systemu. Ten sam moduł zawiera też komponent IpClient odpowiedzialny za warstwę IP i wspomniany NetworkMonitor, który nadzoruje poprawność połączenia.
Wykrywanie w ChromeOS
Na urządzeniach z ChromeOS wykrywanie portalu możesz kontrolować jako administrator w ChromeOS Admin Console. W zarządzanych sieciach Wi‑Fi to wykrywanie jest domyślnie wyłączone, bo zapory i serwery proxy w firmach potrafią błędnie reagować na sondy, przez co sieci są oznaczane jako offline lub generują nietypowe alerty.
Gdy w konsoli Google włączysz opcję „Wykrywanie portalu przechwytującego włączone”, system zaczyna testować zarówno adresy URL HTTP, jak i HTTPS. Użytkownik, łącząc się z taką siecią, widzi czytelne powiadomienie z informacją, że musi się zalogować, a strona logowania otwiera się automatycznie w oknie przeglądarki. Jeśli wykrywanie pozostaje wyłączone, użytkownik musi samodzielnie otworzyć przeglądarkę i próbować przejść do dowolnej strony, żeby wyzwolić przekierowanie na portal.
Jak skonfigurować portal przechwytujący w praktyce?
Administrator ma do dyspozycji różne narzędzia – od konsoli Google, przez platformy typu cnMaestro, po własne serwery WWW i API. Każde środowisko ma swoje szczegóły, ale logika konfiguracji jest podobna: przygotowanie strony, ustawienie reguł sieciowych i integracja z mechanizmami wykrywania po stronie systemów użytkowników.
Konfiguracja w ChromeOS Admin Console
W środowisku opartym na ChromeOS konfigurację zaczynasz zawsze z poziomu konta admina Google. Po zalogowaniu do panelu przechodzisz do sekcji Urządzenia > Sieci i wybierasz profil Wi‑Fi, który ma korzystać z portalu. W części „Ustawienia portalu przechwytującego” masz do wyboru wyłączenie wykrywania albo opcję: „Wykrywanie portalu przechwytującego włączone – sprawdzane są zarówno adresy URL HTTPS, jak i HTTP”. Dla specyficznych środowisk można zaznaczyć „Tylko sondy internetowe HTTP”, co bywa pomocne, gdy proxy modyfikuje ruch HTTPS.
Po zapisaniu zmian konfiguracja automatycznie trafia na wszystkie zarządzane Chromebooki w danej jednostce organizacyjnej. Gdy użytkownik połączy się z daną siecią, zobaczy powiadomienie o konieczności logowania, a system poprawnie rozpozna stan połączenia. Jeśli mimo to pojawiają się błędy typu „Sieć niedostępna”, trzeba na firewallu dodać wyjątki dla hostów, których używa ChromeOS do testowania łączności – zwykle na porcie 80, aby sondy HTTP mogły działać bez przeszkód.
Konfiguracja portalu w cnMaestro dla WiFi4EU
W projektach gminnych z voucherem WiFi4EU często wykorzystuje się platformę cnMaestro do konfiguracji urządzeń serii cnPilot E i samego portalu. Po zalogowaniu na konto integratora z menu Services wybierasz „Guest Access Portal” i tworzysz lub edytujesz portal, który ma obsługiwać sieć WiFi4EU. W sekcji wyglądu dodajesz plik logo – często łączący herb gminy z logotypem programu – ustawiasz tło i włączasz opcję WiFi4EU.
Kolejny krok to włączenie Self-test Modus – przydatnego na etapie konfiguracji – oraz zdefiniowanie języka portalu jako polski. Po zapisaniu zmian możesz skopiować adres URL portalu przechwytującego i zakres podsieci (często używa się wpisu 0.0.0.0/0) i na tej podstawie uzyskać z INEA identyfikator Network UUID. Ten kod wiąże portal z konkretną instalacją w systemie WiFi4EU.
Na zakładce Content dodajesz polskie teksty, regulamin i adres On Success Redirect to URL – miejsce, gdzie mają trafić użytkownicy po kliknięciu przycisku logowania. Po każdym drobnym uaktualnieniu zawartości trzeba użyć przycisku Save, inaczej zmiana nie wejdzie w życie.
Jak spełnić wymagania WiFi4EU?
Program WiFi4EU wymaga dwóch rzeczy, zanim uzna projekt za działający i gotowy do wypłaty środków: na portalu musi być widoczny element identyfikacji wizualnej programu, a do sieci musi zalogować się co najmniej 10 różnych urządzeń klienckich. Brak jednego z tych warunków skutkuje powiadomieniem o potencjalnym problemie technicznym, wysyłanym z portalu WiFi4EU.
Element wizualny realizujesz poprzez wstawienie w kodzie strony tagu , który jest później dynamicznie wypełniany grafiką przez snippet JavaScript. Ten snippet – udostępniony przez Komisję – trzeba umieścić tuż po znaczniku <head> i uzupełnić zmienne takie jak wifi4euNetworkIdentifier (UUID sieci) i wifi4euLanguage (język portalu). W wielu wdrożeniach z cnMaestro snippet jest już zaimplementowany, ale i tak musisz mieć pewność, że znacznik zastępczy z id „wifi4eubanner” jest widoczny, ma określoną szerokość i wysokość oraz nie jest przykryty innymi elementami ani ukryty przez CSS.
Jak wygląda logowanie do portalu przechwytującego na Androidzie?
Użytkownik Androida widzi dziś proces logowania znacznie wygodniej niż kilka lat temu. Za kulisami pracują moduły systemowe i nowe API, które zmniejszają liczbę błędów i nietypowych przypadków, kiedy portal nie otwiera się automatycznie.
Captive Portal API w Androidzie 11+
Od Androida 11 system potrafi korzystać z Captive Portal API zdefiniowanego w RFC 8908. Sieć, która obsługuje tę specyfikację, ogłasza w opcji DHCP 114 adres URL, pod którym dostępny jest dynamicznie generowany plik JSON opisujący stan portalu. Po połączeniu z Wi‑Fi telefon od razu wysyła zapytanie GET do tego adresu i zamiast czekać na przekierowanie przeglądarki, odczytuje pola takie jak „captive”, „user-portal-url”, „venue-info-url” czy „seconds-remaining”.
Jeżeli JSON zawiera „captive”: true, system pomija klasyczne sondy i od razu wyświetla aplikację do logowania, używając adresu „user-portal-url”. Jeśli „captive”: false, Android wymaga, aby sondy HTTP i HTTPS zakończyły się sukcesem – dopiero wtedy oznacza sieć jako w pełni online. To zmniejsza liczbę sytuacji, w których użytkownik ma częściowy internet, ale system tego nie rozpoznaje.
Niestandardowe karty Chrome podczas logowania
Od Androida 12 z modułem CaptivePortalLogin w wersji co najmniej 361335020 logowanie do portalu może odbywać się w niestandardowych kartach Chrome. Portal sygnalizuje taką chęć w odpowiedzi JSON poprzez parę „x-android-use-custom-tabs”: 361335020. Jeśli urządzenie ma moduł w tej wersji lub nowszej, system otwiera stronę logowania nie w prostym WebView, ale w pełnoprawnym środowisku przeglądarki.
Takie karty dają kilka korzyści: autouzupełnianie danych logowania i płatności jednym dotknięciem, obsługę treści chronionych DRM – na przykład Widevine – oraz poprawne działanie w obecności VPN i prywatnego DNS. Dla użytkownika oznacza to, że portal zachowuje się dokładnie tak, jak normalna strona w Chrome, a jednocześnie pozostaje spójnie powiązany z procesem logowania w systemie.
Bezpieczeństwo i zagrożenia
Portale przechwytujące same w sobie nie są złośliwe, ale ich mechanizm – przechwytywanie ruchu i podstawianie strony logowania – przypomina technikę wykorzystywaną przez malware. Przykładem jest zagrożenie Android/Spy.Agent.SI, które podszywa się pod Flash Player i po uzyskaniu uprawnień administratora sprawdza obecność aplikacji największych banków. Zamiast uczciwego portalu pokazuje ofierze fałszywą stronę logowania do bankowości mobilnej, blokując ekran do czasu podania loginu i hasła.
Po przechwyceniu danych logowania to złośliwe oprogramowanie łączy je z przejętymi SMS‑ami autoryzacyjnymi – potrafi przechwycić wiadomości z kodami SMS i przesłać na serwer przestępców – co w praktyce umożliwia wyprowadzenie środków z konta. Z punktu widzenia użytkownika takie działanie trudno odróżnić od zwykłej prośby o logowanie. Dlatego tak ważne jest, by instalować aplikacje tylko z zaufanych źródeł, korzystać z oprogramowania antywirusowego w telefonie i zawsze zwracać uwagę, czy strona logowania do banku pojawia się we właściwym kontekście, a nie nagle po wejściu na losową witrynę.
Legalny portal przechwytujący pyta zwykle o e‑mail, akceptację regulaminu lub prosty kod, natomiast nigdy nie prosi o dane logowania do banku czy pełne dane karty płatniczej.
Jak bezpiecznie korzystać z portali przechwytujących?
Użytkownik końcowy i administrator mają tu inne zadania, ale cel jest wspólny – komfortowe i bezpieczne korzystanie z publicznych sieci Wi‑Fi. Błędna konfiguracja u góry łańcucha albo brak podstawowej ostrożności u dołu potrafią skutkować problemami z połączeniem lub wręcz utratą środków.
Jeśli korzystasz z publicznych sieci Wi‑Fi, zwróć uwagę na kilka prostych zasad:
- łącz się tylko z sieciami, którym ufasz, a wrażliwe operacje wykonuj z użyciem VPN,
- sprawdzaj adres w pasku przeglądarki, zanim wpiszesz dane logowania lub płatności,
- traktuj jako podejrzane portale żądające loginu i hasła do banku lub nadmiaru danych osobowych,
- aktualizuj system i aplikacje, by mieć bieżące poprawki Network Stack i modułów bezpieczeństwa.
Jeśli administrujesz siecią, która wymaga logowania w portalu przechwytującym, zadbaj o poprawną konfigurację DHCP 114 z adresem API, o prawidłowe certyfikaty HTTPS na serwerze portalu, o czytelny regulamin oraz – w przypadku WiFi4EU – o widoczny baner „wifi4eubanner” i spełnienie wymogu co najmniej 10 aktywnych użytkowników. Dzięki temu logowanie do portalu przechwytującego będzie dla osób korzystających z Twojej sieci szybkie, przewidywalne i bezpieczne.
FAQ – najczęściej zadawane pytania
Co to jest portal przechwytujący w sieci Wi‑Fi?
To mechanizm, który przekierowuje niezalogowane urządzenia na stronę logowania lub akceptacji regulaminu przed przyznaniem pełnego dostępu do internetu. Działa poprzez reguły na routerze, kontrolerze lub firewallu, które ograniczają ruch do momentu uwierzytelnienia.
Gdzie najczęściej spotkam portal przechwytujący?
W sieciach publicznych takich jak hotele, lotniska, autobusy, uczelnie oraz w sieciach gościnnych firm i w instalacjach programu WiFi4EU. W tych miejscach portal wyświetla stronę z przyciskiem połączenia, formularzem lub banerem identyfikacyjnym.
Jak urządzenie rozpoznaje, że trafiło na portal przechwytujący?
System wysyła sondy HTTP/HTTPS do znanych adresów kontrolnych i jeśli odpowiedź jest przekierowaniem zamiast oczekiwanego kodu, uznaje sieć za captive. Na Androidzie dodatkowo współpracuje z modułami NetworkMonitor i Captive Portal API, a ChromeOS ma swoje mechanizmy administracyjne.
Co robi Captive Portal API i jak pomaga użytkownikowi?
API (opisane w RFC 8908) pozwala routerowi wskazać adres JSON w DHCP 114, z którego urządzenie odczytuje status portalu i link do strony logowania. Dzięki temu system może szybciej i precyzyjniej rozpoznać, czy sieć wymaga logowania, zamiast polegać tylko na klasycznych sondach.
Jak wygląda proces logowania na Androidzie i ChromeOS?
Po wykryciu portalu system otwiera specjalne okno przeglądarki lub niestandardową kartę Chrome z adresem portalu, gdzie użytkownik akceptuje regulamin lub wpisuje dane. Po potwierdzeniu backend aktualizuje reguły na firewallu i przyznaje urządzeniu zwykły dostęp do internetu.
Jakie wymagania stawia program WiFi4EU dla portalu?
Portal musi zawierać widoczny element identyfikacji wizualnej programu i co najmniej 10 różnych urządzeń musi się zalogować do sieci. Dodatkowo implementuje się snippet JavaScript i tag img z id „wifi4eubanner” oraz ustawia odpowiednie zmienne jak UUID i język.
Jakie są główne zagrożenia związane z portalami przechwytującymi?
Mechanizm przekierowywania może być wykorzystany przez złośliwe oprogramowanie do podszywania się pod legalne strony i wyłudzania danych, co może prowadzić np. do kradzieży SMS‑ów autoryzacyjnych. Dlatego warto instalować tylko zaufane aplikacje, używać antywirusa i uważać na podejrzane prośby o dane bankowe.
Co powinien zrobić administrator, aby portal działał poprawnie i bezpiecznie?
Powinien skonfigurować poprawnie DHCP 114, mieć ważne certyfikaty HTTPS, czytelny regulamin oraz spełnić wymagania WiFi4EU jeśli dotyczy. W przypadku ChromeOS warto zadbać o ustawienia wykrywania portalu w konsoli administracyjnej i wyjątki dla hostów wykorzystywanych do sond HTTP.