Ich habe ein WI-FI-Netzwerk im Büro, für das ich mich mit einem Captive-Portal anmelden muss (Anmeldung mit Benutzername und Kennwort erforderlich).
Ich möchte irgendwie ein Skript ausführen, das sich automatisch anmeldet, sobald ich mich mit dem Netzwerk verbinde (ohne meinen Browser starten und geöffnet zu müssen).
Seltsamerweise habe ich es geschafft, einen solchen Client für Android ( CoovaAX, der nicht mehr verfügbar ist) zu finden, aber keinen für Windows (ich habe Windows 7, wenn es darauf ankommt).
Hat jemand eine einfache Lösung dafür? Ich möchte lieber keine Zeit damit verbringen, mein eigenes Tool dafür zu programmieren.
windows
captive-portal
Assaf Stein
quelle
quelle
Antworten:
Ich weiß nicht wie einfach ... Ich benutze ein Tool namens webinject.pl , um Websites zu testen. Es ist ein Perl-Skript, mit dem Sie Eingaben und erwartete Ergebnisse festlegen können, und das einfach dafür konfiguriert werden kann. Es kann eine Stunde dauern, bis es funktioniert.
Wie man es automatisiert. Der Windows-Taskplaner ist recht robust und kann eine Vielzahl von Ereignissen auslösen. Sie können es an ein Anmeldeereignis oder einen Ereignisprotokolleintrag binden oder es einfach alle 5 Minuten ausführen lassen (das ist etwas schmerzhaft). Ich erhalte beispielsweise ein Ereignis 32 im Systemprotokoll, wenn ich eine Netzwerkverbindung herstelle. Das könnte es tun.
quelle
Sie können lynx (die Version mit SSL-Unterstützung) - einen textbasierten Browser - mit einer
cmd_args
Skriptdatei verwenden, die die zum Anmelden erforderlichen Befehle enthält. Sie können eine solche Skriptdatei erstellen, indem Sie sich einmal mit lynx beim WLAN anmelden und die Eingaben protokollieren. Rufen Sie dazu lynx mit folgendem Argument auf:Dann können Sie diese Datei umbenennen und sie verwenden, indem Sie lynx wie folgt aufrufen:
Legen Sie dies in eine Batch-Datei. (Verwenden Sie entweder den vollständigen Pfad zur ausführbaren Lynx-Datei oder legen Sie diesen Pfad in der Umgebungsvariablen PATH fest.)
Sobald Sie das zum Laufen gebracht haben, erstellen Sie eine geplante Aufgabe, die durch die Ereignis-ID
10000
inNetworkProfile
der Protokollquelle ausgelöst wird undMicrosoft-Windows-NetworkProfile/Operational
diese aufruft:Persönlich bündele ich das mit
iexpress.exe
, um es versteckt im Hintergrund auszuführen, und stelle sicher, dass die geplante Aufgabe so eingestellt ist, dass sie ausgeführt wird, auch wenn ich nicht angemeldet bin. Ich habe das gerade vor ein paar Wochen auf meinem Computer eingerichtet und es hat großartig funktioniert!Quelle: Mein Artikel zur Automatisierung der Captive Portal-Anmeldung .
quelle
Ich habe dies in der Vergangenheit mit Windows Task Scheduler und einem PHP + MySQLLite-Skript gemacht. Das PHP + Mysqllite-Skript hat gerade geprüft, ob es Google erreichen kann. Wenn es umgeleitet wurde, hat es geprüft, ob es eine Routine für die Domain hat, zu der es umgeleitet wurde. Wenn ja, hat es sie ausgeführt. Die Mysqllite sollte die Cookies für den headless Browser behalten, den ich in PHP implementiert habe. Es wäre wahrscheinlich viel weniger Arbeit, nur einen greasemonkey zu verwenden, um sich einzuloggen. (Mit dem Nachteil, dass der Browser jedes Mal auftaucht, wenn Ihr Planer ausgelöst wird.)
Der Taskplaner-Trigger ist von Maschine zu Maschine unterschiedlich. Ich hatte einen Laptop, der WLAN-Verbindungen als Ereignisse protokollierte, und sie enthielten die SSID, damit ich filtern konnte, um nur diejenigen auszulösen, die mir wichtig waren.
Auf meinem aktuellen Laptop scheint das einzige Ereignis, das zuverlässig ausgelöst wird, die DHCP-Client-Verbindung zu sein. Natürlich brät dies jedes Mal, wenn ich eine IP-Adresse erhalte und mir keine SSID verrate.
Mit der Windows-Ereignisanzeige können Sie überprüfen, von welchen Ereignissen Sie auslösen können. Ich habe gerade dreimal mein WLAN ein- und ausgeschaltet und überprüft, welche Ereignisse in der letzten Stunde dreimal ausgelöst wurden.
quelle