WLAN Verbindungs-Start-Seite automatisiert übersprinngen?

Hi,

ich verbinde mich immer wieder mit einem Offenen WLAN.
Dabei erhalte ich immer als spalsh page folgende seite:

Da jedesmal extra drauf zu klicken ist ziemlich nervend, zumal ich gar nicht immer den Browser öffnen will (oder wenn er schon wo im Hintergrund offen ist ich nicht sehe).
Daher die frage ob man das irgendwie automatisieren kann - im Prinzip sollte das auch das Betriebssystem abhandeln können?

Selbes gilt auch für mein Android Phone.

Da das eine Vorgabe vom Router des WLANs ist, kannst du nicht einfach weiterblättern. Mit deinem Betriebssystem hat das natürlich überhaupt nichts zu tun.

Du könntest dir ein Script erstellen. Aber kannst du sowas?

Da das eine Vorgabe vom Router des WLANs ist, kannst du nicht einfach weiterblättern.

Doch aber genau das mache ich.

Mit deinem Betriebssystem hat das natürlich überhaupt nichts zu tun.

Das OS „steuert“ doch das meiste auf dem system - das es nicht direkt im kernel passieren kann muss is klar.
Im prinzip müsste es ja nur (im software stack nach dem treiber) ein hock sein, der solche entry pages erkennt and dann passend den „continue click“ request senden.

Du könntest dir ein Script erstellen. Aber kannst du sowas?

auf welcher ebene meinst du sollte das laufen?
Im Browser als eine Art plugin, dass darauf wartet die Seite zu sehen und dann den „click“ automatisch auslöst oder? Naja ich würde es eben bevorzugen das es nicht den Browser braucht sondern eben auf einer „niedrigeren“ ebene schon abgehandelt wird.

Nö, das läuft hier anders. Man ruft eine Seite, z.B. google auf - der Router verwirft die Seitenadresse aber und schickt dir einfach eine andere. Da kann dein Betriebssystem machen, was es will, das hat da ganz einfach nichts mit zu tun.

Auf der Ebene von uBlock. Also ein Script, das als Filter dafür funktioniert. Analog zu den Filtern, die die Cookie-Bestätigungen abnicken.

uBlock ist dabei ein Add-On für Firefox.

Nö, das läuft hier anders.

Dann ist das bei dir anders. Aufm PC läuft doch das meiste lokal (vereinfacht gesagt) durchs OS.

Man ruft eine Seite, z.B. google auf - der Router verwirft die Seitenadresse aber und schickt dir einfach eine andere.

Nein so passiert das aber nicht.
Ich kriege diese Seite schon beim Verbinden zum Netzwerk. D.h ich schicke über den Browser keine Anfrage raus. Der Access-Point verwirft also nichts - sondern schickt irgendwie an den Treiber/das OS die nachricht das weitere schritte für die Anmledung nötig sind. In dieser Info ist dann auch die Adresse + das es über HTTP auf zu rufen ist. (wieder vereinfacht)
-> der Browser wird geöffnet um zu zeigen was zu tun ist.
In meinem Fall ist es einfach nur ein klick auf weiter, es gibt aber auch Systeme bei denen nun ein Login über den Browser nötig ist.

Da kann dein Betriebssystem machen, was es will, das hat da ganz einfach nichts mit zu tun.

doch es könnte eben für dieses Netzwerk sich merken, dass es da nicht wirklich was zu tun gibt, und gleich den passenden Request an den AP schicken der dem „weiter“ entspricht. (Wo es im stack passiert ist mir ja egal)

Dochdoch…

Der Firefox z.B. versucht, die URL http://detectportal.firefox.com/success.txt aufzurufen. Wenn da nicht einfach eine Textdatei mit dem Inhalt „success“ zurück kommt, sondern irgendwas anderes, was der Router meint schicken zu müssen, dann blendet Firefox eine entsprechende Meldung ein, und bietet dann an, die Anmeldeseite zu öffnen.

Ein Betriebssystem selbst kann, wenn das irgendwo eingestellt ist, sicherlich auch versuchen, eine bestimmte Seite im Hintergrund zu laden - und wenn was anderes kommt, genau das in nem Browserfenster anzeigen.

Ich bezweifle allerdings, daß man diese Funktion des Betriebssystems irgendwie beeinflussen kann. Es wird das beste sein, sie zu deaktivieren (wo auch immer) und irgendein Script o.ä. zu nutzen.
Das versucht in regelmäßigen Abständen (oder falls möglich, nach Herstellen einer WLAN-Verbindung), so eine URL aufzurufen, und wenn was anderes kommt, das abzufrühstücken.


Die Frage ist nun, wie genau das mit dem Einloggen funktioniert. Der Button könnte nen GET oder POST-Request schicken, das müßte man dann nachbauen.
Interessanter ist, ob die Anmeldeseite noch irgendeine eindeutige ID enthält, die vom Button wieder zurück geschickt wird. Heißt: Der Aufruf der „LassMichRein“-Seite verpufft, wenn die darin enthaltene ID nicht kurz zuvor vom Portal in einer Anmeldeseite verschickt wurde. Ich hatte sowas mal bei nem Vodafone-Hotspot im Urlaub. Der Button hat zwar nen GET-Request geschickt, ein späterer Aufruf der gleichen URL hat aber nicht funktioniert. Ich hab das aber nicht weiter verfolgt.

Da der Anmelde-Mechanismus aber von Portal zu Portal unterschiedlich ist, gibt es keine einfache Lösung für alle.

Noch mal, NEIN das passiert hier nicht!

Der Firefox z.B. versucht, die URL http://detectportal.firefox.com/success.txt aufzurufen.

Und wieso sollte er das tun, wo doch FireFox nicht mal gestartet ist?
Direkt nach dem Herstellen der Verbindung sagt der AP scheinbar über ein Protokoll dem Client das noch mehr zu tun ist. Der Treiber (wieder vereinfacht) veranlaßt das Betriebssystem eine URL zu öffnen -> also wird die default Applikation zum öffnen von URLs gestartet und die URL übergeben.
Bei mir ist das FireFox (kanna ber acuh Chrom, Edge, IE, Lynx,… ) sein.

Das würde mich jetzt interessieren wie du das meinst …

Die Frage ist nun, wie genau das mit dem Einloggen funktioniert.

Da der Anmelde-Mechanismus aber von Portal zu Portal unterschiedlich ist, gibt es keine einfache Lösung für alle.

Das ist mir klar und dann auch halbwegs einfach ab zu handeln. Die Frage ist ja auch mehr wo ich das einhängen kann - scripten kann ich das dann auch selbst.
Suchen tue ich ja nur nach einer Lösung für eine Portal. (wobei man das sicher erweitern kann)

Hi!
Ich meinte, daß es vermutlich kein eigenes Protokoll gibt, mit dem der Rechner das WLAN nach einer Login-Seite fragen kann.
Vermutlich wird das Betriebssystem intern eine bestimte URL aufrufen, und wenn nicht das zurück kommt, was man erwartet, dann ist da wohl ne Login-Seite. Wenn das so ist, dann kann der Rechner nen Browser starten, der dann die Login-Seite lädt. Ich habe keinen Rechner zur Hand, der so ein Verhalten hat, aber ich würde mal Wireshark o.ä. drauf ansetzen.

Dann tut er es auch nicht. Und ein Login findet noch gar nicht statt. Das passiert erst beim ersten Versuch, eine Adresse aufzurufen. Durch den Browser. Der dann umgeleitet wird.

Vielleicht solltest du dich doch mal mit dem OSI-Modell


beschäftigen, dann wüsstest du, dass der Treiber sowas nicht erledigt.

Aber wenn du doch alles so viel besser weißt, wäre es ja für dich überhaupt kein Problem, dir selber was zu programmieren.

Hallo!

Ich habe jetzt mal mit Wireshark den Netzwerkverkehr mitgeschnitten.

Das hier ist ein HTTP-Aufruf, der direkt nach dem Einstöpseln eines LAN-Kabels kommt, ohne, daß ein Browser geöffnet wurde.

WinConnect

Wie man sieht, wird die Datei www.msftconnecttest.com/connecttest.txt angefordert, die den text „Microsoft Connect Test“ enthält. Das funktioniert tadellos, da eine Verbindung ins Internet besteht.

Dann habe ich hier ein WLAN, in dem ich mich anmelden muß. Leider kann ich den anfänglichen Datenverkehr nach dem Verbinden nicht mitschneiden, weil Wireshark dabei resettet wird. Starte ich aber Firefox, sehe ich sofort das hier:

FirefoxNoWlan

Hier kommt also nicht das o.g. „success“ zurück, sondern die Anmeldeseite des WLANs, und im Header steht unter Location die URL, auf die der Router umgelenkt hat.


Das heißt, es ist so, wie ich es geschrieben habe. Auch das Betriebssystem versucht, eine Webadresse per HTTP aufzurufen. Kommt was anderes als erwartet zurück, ist da ne Anmeldeseite, deren URL in meinem Fall sogar im Header der Antwort mit drin steht. Es ist dann ein leichtes, den Standardbrowser zu starten, und ihn aufzufordern, genau diese Seite zu öffnen.

Und da sind wir wieder an dem Punkt. Diese Funktion des Betriebssystems wird man kaum umprogrammieren können. Es wird aber möglich sein, sie auszuschalten, und stattdessen ein eigenes Programm zu schreiben, das nichts anderes macht, und dann auch den Login vornimmt. Man muß dann „nur noch“ einstellen, daß dieses Programm aufgerufen wird, sobald eine Netzwerkverbindung zustande kommt…