Android: Captive-Portal-Check deaktivieren

Um sicherzustellen dass eine Verbindung zum Internet besteht führ Android einen einen Captive Portal Check durch. Hierfür wird eine HTTP-Statuscode 204 „No Content“ Anfrage an „connectivitycheck.gstatic.com“ gesendet.

Folgende Daten werden dabei an Google übermittelt:

  • IP-Adresse
  • Zeitpunkt des Internet-Zugangs
  • Verwendeter Browser

Wenn diese URL bspw. über Pi-hole blockiert wird, ist Android der Meinung dass keine Internetverbindung bestehe. Wer dies nicht möchte kann entweder den Captive Portal Check deaktivieren. Dies geht über die Android Debug Bridge (kurz ADB).

Android Tools installieren:

Bei Arch Linux befinden sich die Android Tools im Community Repo. Bitte schaut für eure Distribution wie ihr dort die Android Tools installiert.

# pacman -S android-tools

Entwickleroptionen & USB Debugging aktivieren:

Dieser Schritt ist bei den meisten Android Smartphones zwar nahezu identisch, bitte schaut dennoch wie dies bei eurem Android Smartphone funktioniert.

Beim OnePlus 7 mit Android 10 geht dies wie folgt:

  • Geht zu Einstellungen > Über das Telefon
  • Klickt 7 mal auf „Buildnummer“
  • Geht zurück zu Einstellungen und dann zu System > Entwickleroptionen
  • Scrollt nach unten zu „USB-Debuggung“ und stellt den Schalter bei „USB-Debugging“ auf AN

Captive-Portal-Check deaktivieren. (ab Android 8):

Verbindet nun eurer Smartphone über ein USB Kabel mit eurem Rechner, öffnet ein Terminal und führt die Befehle nacheinander aus. Beim ersten Mal wird auf dem Smartphone abgefragt ob ihr dem verbundenen Rechner vertrauen wollt.

adb shell 'settings put global captive_portal_detection_enabled 0'
adb shell 'settings put global captive_portal_server localhost'
adb shell 'settings put global captive_portal_mode 0'

Nun ist der Captive-Portal-Check deaktiviert.

Quelle: Kuketz-Blog