Captive Portal Check ins Leben gerufen

Immer wenn ein Android-Gerät eine Verbindung mit WLAN oder einem mobilen Netz herstellt, führt das System einen sogenannten Captive-Portal-Check durch. Dieser Prozess ermöglicht es Android, zu bestätigen, dass das Gerät nicht nur eine IP-Adresse vom Access Point oder Internet Service Provider erhalten hat, sondern tatsächlich auch Zugang zum Internet hat. Dies ist insbesondere für die Identifikation von Portalen in WLAN-Hotspots, wie sie beispielsweise in Hotels vorkommen, notwendig.

Im Rahmen dieser Überprüfung sendet Android eine Anfrage an die URL »connectivitycheck.gstatic.com«. Ist diese Anfrage erfolgreich, bedeutet dies, dass Zugang zum Internet besteht. Bei dieser Anfrage sendet das System jedes Mal Daten zur IP-Adresse des Anschlusses, dem Zeitpunkt des Internetzugangs und den aktuell verwendeten Browser an Google.

Mike Kuketz hat einen captive Portal Check eingerichtet,  diesen habe ich nach seiner Anleitung nachgebaut und stelle euch das alternativ zur Verfügung.

Für diejenigen, die Mike Kuketz nicht kennen – er ist ein IT-Sicherheitsberater und Blogger aus Deutschland. Er weiß wirklich, wie man diese komplizierten Tech-Sachen einfach erklärt. Mit seiner Vorlage im Hinterkopf haben wir eine neue Alternative entwickelt, die über das Android Debug Bridge (ADB)-Tool läuft.

ADB ist ein echt nützliches Befehlszeilen-Tool, das euch bei vielen Aufgaben auf eurem Android-Gerät helfen kann. Um unsere Alternative zu nutzen, müsst ihr zuerst ADB auf eurem PC installieren, dann euer Android-Gerät anschließen und ein paar spezielle Befehle ausführen. Aber Achtung: Seid immer vorsichtig bei solchen Änderungen und stellt sicher, dass ihr wisst, was ihr tut!

adb shell 'settings put global captive_portal_http_url "http://captiveportal.dasnetzundich.de"'
adb shell 'settings put global captive_portal_https_url "https://captiveportal.dasnetzundich.de"'
adb shell 'settings put global captive_portal_fallback_url "http://captiveportal.dasnetzundich.de"'
adb shell 'settings put global captive_portal_other_fallback_urls "http://captiveportal.dasnetzundich.de"'

Wenn dass funktioniert hat, dann öffne ein Terminalprogramm wie Termux und gebe folgendes ein.

curl -I https://captiveportal.dasnetzundich.de

Als Ausgabe sollte folgendes erscheinen.

HTTP/2 204
server: nginx
date: Thu, 25 May 2023 08:17:08 GMT
content-security-policy: default-src 'none'
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
x-xss-protection: 1; mode=block
x-frame-options: DENY
permissions-policy: camera=(), microphone=()
expect-ct: max-age=31536000; includeSubdomains; preload

Seht ihr das im Terminal ist der Check richtig eingerichtet.

Was macht diese Alternative nun so toll? Es gibt euch mehr Kontrolle und schützt eure Daten, indem es verhindert, dass die durch den Captive Portal Check an Google gesendet werden. Sondern an meinen oder an den Kuketz Server.