Mit einem Captive Portal in Windows automatisch bei einem Netzwerk anmelden?

Mit einem Captive Portal in Windows automatisch bei einem Netzwerk anmelden?

Ich habe ein Wi-Fi-Netzwerk im Büro, das eine Anmeldung mit einemCaptive-Portal. Es ist eine Anmeldung mit Benutzername und Passwort erforderlich.

Ich möchte irgendwie ein Skript ausführen, das sich automatisch anmeldet, sobald ich mich mit dem Netzwerk verbinde, ohne dass ich meinen Browser starten und geöffnet halten muss.

Seltsamerweise gelang es mir, einen solchen Client für Android zu finden,CoovaAXdas nicht mehr verfügbar ist, aber nicht für Windows. Ich habe Windows 7, falls das wichtig ist.

Hat jemand eine einfache Lösung dafür? Ich möchte lieber keine Zeit damit verbringen, mein eigenes Tool dafür zu programmieren.

Antwort1

Ich weiß nicht, ob es einfach ist ... Ich benutze ein Tool namenswww.webinject.plum Websites zu testen. Es ist ein Perl-Skript, mit dem Sie Eingaben und erwartete Ergebnisse angeben können und das sich leicht dafür konfigurieren lässt. Es kann eine Stunde dauern, bis es funktioniert.

Und wie man es automatisiert: Der Windows-Taskplaner ist ziemlich robust und kann bei einer Vielzahl von Ereignissen ausgelöst werden. Sie können ihn an ein Anmeldeereignis oder einen Ereignisprotokolleintrag binden oder ihn einfach alle 5 Minuten ausführen lassen (das ist etwas mühsam). Wenn ich beispielsweise eine Netzwerkverbindung herstelle, erhalte ich ein Ereignis 32 im Systemprotokoll. Das könnte es sein.

Antwort2

Sie könnenLuchs(die Version mit SSL-Unterstützung) - ein textbasierter Browser - mit einer cmd_argsSkriptdatei, die die zum Anmelden erforderlichen Befehle enthält. Sie können eine solche Skriptdatei erzeugen, indem Sie sich einmal mit lynx beim WLAN anmelden und die Eingaben protokollieren. Rufen Sie dazu lynx mit dem folgenden Argument auf:

lynx.exe -cmd_log=%BENUTZERPROFIL%\lynxlog.txt`

Anschließend können Sie die Datei umbenennen und verwenden, indem Sie lynx wie folgt aufrufen:

lynx.exe -cmd_script=DATEINAME_HIER

Fügen Sie dies in eine Batchdatei ein. (Verwenden Sie entweder den vollständigen Pfad zur ausführbaren Lynx-Datei oder legen Sie diesen Pfad in der Umgebungsvariable PATH fest.)

Sobald dies funktioniert, erstellen Sie eine geplante Aufgabe, die durch die Ereignis-ID 10000in der NetworkProfileProtokollquelle ausgelöst wird Microsoft-Windows-NetworkProfile/Operational, die sie aufruft:

Beispiel für einen Taskplaner-Trigger

Ich persönlich bündele das damit, iexpress.exeum es versteckt im Hintergrund laufen zu lassen und sicherzustellen, dass die geplante Aufgabe auch dann ausgeführt wird, wenn ich nicht angemeldet bin. Ich habe das erst vor ein paar Wochen auf meinem Computer eingerichtet und es funktioniert großartig!

Quelle: Mein Artikel überSo automatisieren Sie die Anmeldung beim Captive Portal.

Antwort3

Ich habe dies in der Vergangenheit mit dem Windows-Taskplaner und einem PHP+MySQLite-Skript getan. Das PHP+MySQLite-Skript prüfte lediglich, ob es Google erreichen konnte. Wenn es umgeleitet wurde, prüfte es, ob es eine Routine für die Domäne hatte, zu der es umgeleitet wurde, und führte sie ggf. aus. Das MySQLite sollte die Cookies für den Headless-Browser speichern, den ich in PHP implementiert hatte. Es wäre wahrscheinlich viel weniger Arbeit, einfach ein Greasemonkey-Äquivalent für die Anmeldung zu verwenden. (Der Nachteil ist, dass der Browser jedes Mal, wenn Ihr Scheduler ausgelöst wird, auftauchen und Dinge tun würde.)

Der Taskplaner-Trigger ist von Maschine zu Maschine unterschiedlich. Ich hatte einen Laptop, der WLAN-Verbindungen als Ereignisse protokollierte und die SSID mit einschloss, sodass ich filtern konnte, um nur die für mich wichtigen Verbindungen auszulösen.

Auf meinem aktuellen Laptop scheint das einzige Ereignis, das zuverlässig ausgelöst wird, die DHCP-Client-Verbindung zu sein. Natürlich bricht diese jedes Mal ab, wenn ich eine IP-Adresse bekomme, und teilt mir keine SSID mit.

Sie können mit der Windows-Ereignisanzeige prüfen, welche Ereignisse für Sie zum Auslösen verfügbar sind. Ich habe mein WLAN gerade dreimal ein- und ausgeschaltet und dreimal geprüft, welche Ereignisse in der letzten Stunde ausgelöst wurden.

Antwort4

Abhängig von der konkreten Umsetzung des Portals ist möglicherweise nicht einmal zusätzliche Software erforderlich.

Notiz:Diese Lösung erfordert Grundkenntnisse inHTTPund dasEntwicklerpanelIhres Browsers. Der zweite Link ist für Chrome; wenn Sie andere Browser verwenden, sollten Sie mit einer schnellen Suche problemlos dorthin gelangen. Sie sollten auch keine Angst haben, die Befehlszeilenschnittstelle zu verwenden, obwohl Sie sicherlich kein Experte sein müssen.


Im Grunde ist das Captive Portal nur eine HTML-Webseite. Wenn Sie Ihre Authentifizierungsdaten eingeben und absenden, sendet Ihr Browser einfach eine HTTP-Anfrage (wahrscheinlich entweder GET oder POST) mit Ihren Anmeldeinformationen an eine vorkonfigurierte URL. Dies kann natürlich mithilfe von Befehlszeilentools erreicht und damit mithilfe des Windows Scheduler automatisiert werden, wie in anderen Antworten erwähnt wurde.

Glücklicherweise wird Windows 10 seit 2018 mit demLockeDienstprogramm, mit dem Sie beliebige HTTP-Anfragen senden können. Sie können also die Anfrage prüfen, die Ihr Browser sendet, wenn Sie Ihre Anmeldeinformationen über das Portal übermitteln, und einen Curl-Befehl erstellen, der dieselbe Anfrage sendet. Erfahren Sie, wie Sie eine POST-Anfrage mit Curl senden.Hier. Anschließend können Sie den Befehl in einer .batDatei speichern und ihn so einstellen, dass er ausgeführt wird, wenn Sie mithilfe des Taskplaners eine Verbindung zu einem Netzwerk herstellen. @Menasheh hat eine einfache Anleitung bereitgestellt, daher werde ich diesen Teil nicht wiederholen.

Es gibt jedoch keine Garantie dafür, dass diese Lösung funktioniert aufjedenNetzwerk, da ein ausgefeilteres Portal verschiedene Prüfungen der Anfrage durchführen könnte, wie z. B. Zeitstempel oder Tokenisierung. Aber einen Versuch ist es trotzdem wert.


Ein potenzieller Angriffsvektor dieser Lösung ist, dass der Taskplaner, da es ihm egal ist, mit welchem ​​Netzwerk Sie sich verbinden, dieses Skript ausführt, wenn Sie sich mitBELIEBIGNetzwerk. Dadurch besteht eine nicht zu vernachlässigende Chance, dass ein opportunistischer Angreifer einen Phishing-Angriff auf sein eigenes Netzwerk durchführen kann. Es muss jedoch beachtet werden, dass die Möglichkeit hierfür sehr gering ist, da nur sehr wenige Personen eine automatische Anmeldeeinrichtung wie diese verwenden. Und es gibt Abhilfemaßnahmen dafür, wie z. B. das Einrichten eines HTTPS-Portals mit einem arbeitsplatzinternen Zertifikat, aber dies liegt außerhalb des Rahmens dieser Frage.

verwandte Informationen