captiveportal.canox.net

Um zu prüfen ob ihr nicht nur eine IP-Adresse vom Router bekommen habt, sondern dass auch tatsächlich eine Verbindung zum Internet besteht, führt Android einen Captive Portal Check durch. Android sendet zur Prüfung eine Anfrage an connectivitycheck.gstatic.com. Wird diese Anfrage mit dem HTTP Response-Code 204 beantwortet, besteht Zugang zum Internet.

Ich blockiere die URL „connectivitycheck.gstatic.com“ über Pi-Hole bzw. Blokada (Beitrag über bei Kuketz Blog). Daher wird bei mir beim WLAN-Symbol in der Menüleiste ein kleines Kreuz angezeigt. Mit jeder Anfrage an die URL „connectivitycheck.gstatic.com“ werden etliche Informationen über das System an Google übermittelt.

Verbindet euer Smartphone/Tablet via USB-Kabel mit eurem Rechner. ADB muss hierfür aktiviert sein. Über ein Terminal am Rechner ändert ihr nun die Einstellungen:

# Android 7

adb shell 'settings put global captive_portal_http_url "http://captiveportal.canox.net"'
adb shell 'settings put global captive_portal_https_url "https://captiveportal.canox.net"'

# Android 8 & 9

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

# Prüfen ob die URLs angepasst wurden
adb shell 'settings get global captive_portal_https_url'

Da Android als Antwort den HTTP Response-Code 204 erwartet, könnt ihr an einem Rechner überprüfen, ob diese Antwort gesendet wird.

curl -I http://captiveportal.canox.net

Antwort:

HTTP/1.1 204 No Content
[...]

Den Connectivity-Check-Service kann jeder selbst hosten. Theoretisch könnt ihr hierfür auch einen Raspberrry Pi verwenden. Hier meine Konfiguration. Diese weicht von der Konfiguration von Kuketz Blog im Abschnitt „HTTPS“ ab, da ich TLS 1.2 & TLS 1.3 verwende. Hinweis: Die Zeile „ssl_ciphers“ wird von WordPress aufgrund der Länge umgebrochen, es gehört aber alles in eine Zeile

## SITE HANDLING HTTP ##
server {

        ## INIT ##
        listen          80;
        server_name     captiveportal.canox.net;
        root            /var/www/captiveportal.canox.net;

        ## LOGS ##

	access_log off;
  	error_log off;

        ## SECURITY HEADER ##
        add_header Content-Security-Policy "default-src 'none'";

        ## ENTER HERE ##
        location / {
                # Let's encrypt location
                location ^~ /.well-known/acme-challenge {
                        default_type text/plain;
                }
                location = /.well-known/acme-challenge/ {
                        return 444;
                }
                ## CAPTIVE PORTAL RESPONSE
                location / {
                        return 204;
                }
        }


}

## SITE HANDLING HTTPS ##
server {
        ## INIT ##
        listen          443 ssl;
        server_name     captiveportal.canox.net;
        root            /var/www/captiveportal.canox.net;

        ## LOGS ##
        access_log off;
        error_log off;

	ssl_protocols TLSv1.3 TLSv1.2;
 	ssl_prefer_server_ciphers on;
	ssl_ciphers TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-AES-128-GCM-SHA256:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256;
 	ssl_certificate /etc/letsencrypt/live/apt.canox.net/fullchain.pem; # managed by Certbot
 	ssl_certificate_key /etc/letsencrypt/live/apt.canox.net/privkey.pem; # managed by Certbot
 	ssl_ecdh_curve secp384r1;
 	ssl_dhparam /etc/nginx/dhparams-4096.pem;
 	ssl_stapling on;
 	ssl_stapling_verify on;
 	ssl_session_cache shared:SSL:10m;
 	ssl_session_timeout 5m;
 	ssl_session_tickets off;

        add_header Content-Security-Policy "default-src 'none'";

        ## CAPTIVE PORTAL RESPONSE
        location / {
                return 204;
        }

}

Quelle: Kuketz Blog

Steven Seifried

Ey Yau! Ich bin Steven, Gründer und Betreiber von CANOX.NET. Privat nutze ich seit 2015 überwiegend Linux (Windows nur noch zum zocken). Seit 2019 bin ich Teil des Notebook-Support-Teams von TUXEDO Computers

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Diese Website benutzt Cookies. Wenn Sie die Website weiter nutzen, stimmen Sie der Verwendung von Cookies zu. Mehr Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen