Come accedere automaticamente ai portali in cattività su OS X?

56

Come posso accedere automaticamente ai portali in cattività su OS X?

Un captive portal viene utilizzato da reti wireless (spesso non protette da password) che presentano una pagina Web non appena ti connetti a loro, richiedendoti di accedere.

Devo accedere a reti wireless diverse come questa molto frequentemente, e nessuno dei portali in cattività sembra ricordare le mie informazioni di login / password. C'è un modo per automatizzare il processo di login in qualche modo, o almeno memorizzare le coppie login / password nel portachiavi?

Aggiornamento: c'è un'app iOS chiamata AutoWifi che gestisce sostanzialmente questo . Se è possibile farlo su iOS con tutte le sue restrizioni, sicuramente deve essere possibile fare qualcosa del genere su OS X, giusto?

Fatti divertenti correlati: Ecco come Apple esegue test per i portali in cattività su OS X e iOS:

OS X and iOS make a request to http://www.apple.com/library/test/success.html every time you connect to a WiFi network.

A partire da Yosemite ora l'URL è: http://captive.apple.com/hotspot-detect.html

Questo URL restituisce il seguente codice HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
    <TITLE>Success</TITLE>
</HEAD>
<BODY>
Success
</BODY>
</HTML>
    
posta Mathias Bynens 23.03.2012 - 12:51
fonte

8 risposte

27

Puoi rinominare

/System/Library/CoreServices/Captive Network Assistant.app

in

/System/Library/CoreServices/No More Captive Network Assistant.app

e sei pronto. L'immissione della password ora passa tramite il browser preferito e può essere archiviata utilizzando 1 password o altri plug-in. Nota che se avevi già effettuato l'accesso mentre stai rinominando, potrebbe volerci del tempo prima che la sessione scada ...

    
risposta data 10.12.2012 - 21:29
fonte
46

Hai trovato questo Disattiva il supporto di rete in cattività in OS X

Che menziona "Per disabilitarlo, imposta questa preferenza:"

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.captive.control Active -boolean false

Nel caso in cui tu voglia rimuovere questa impostazione, puoi fare:

sudo defaults delete /Library/Preferences/SystemConfiguration/com.apple.captive.control Active

Quindi, come @Leon menziona, usa il normale browser web per accedere. Oppure, se sei su una rete in cui in qualche modo non funziona, puoi comunque tentare di aprire l'app manualmente (situata in /System/Library/CoreServices/Captive Network Assistant.app )

    
risposta data 03.08.2014 - 15:52
fonte
15

Il progetto NetworkAutoLogin di Tyilo su github è un demone os.x che "accede automagicamente alle reti Captive Portal" con l'utente fornito credenziali.

Usa PhantomJS & CasperJS per pubblicare le informazioni necessarie sui campi nella pagina di accesso al captive portal. Potrebbe essere la "password" di login segreta, una coppia username-password, o semplicemente l'attivazione di una casella di controllo EULA e il pulsante "connect".

Non ricordo esattamente come è stato attivato, ma registra un file .plist con launchctl.

Metti le opzioni di configurazione in un file JSON, specificando il nome del fieldset (opzionale) sulla pagina del captive portal e il campo fieldname necessario + le coppie di contenuti (richiesto). Ecco un esempio del file di configurazione memorizzato in ~/.networkautologin.js

{ // Example with all possible options
    match: {
        SSID: ['Example WiFi 1', 'Example WiFi 2'],
        BSSID: '01:23:45:67:89:AB',
        URL: 'http://logon.example.org/?url=http://www.apple.com/library/test/success.html'
    },
    form_selector: 'form#login_form',
    fields: {
        'username': 'test',
        'password': '123123'
    }
}
    
risposta data 30.07.2014 - 22:07
fonte
6

Non cancella (o rinomina) /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist ferma l'auto-sondaggio?

Potrebbe almeno fermare l'apertura del popup di WebView.

Altrimenti sostituisci tutti gli URL in quel Settings.plist con una copia ospitata localmente del file success.html e ospita il file success.html sul server web localhost.

    
risposta data 06.04.2012 - 17:32
fonte
3

Vedo richieste di captive portal sulla mia rete domestica ogni 5 minuti. Ma sono cambiato nel file /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist

string: link per link (Intendevo la sezione ProbeURL). Apple ha cambiato l'URL della sonda per il nuovo SO, non so perché, ma la nuova risposta dell'URL è 200 (OK) e dovrebbe funzionare (ho dovuto affrontare lo stesso problema sui miei Mavericks mbp 2011).

    
risposta data 15.07.2015 - 12:08
fonte
2

Un captive portal non è come una password. È più come un cartello sul cartello. Ogni volta che la rete a cui sei connesso consegna un indirizzo IP tramite DHCP, ti dà il captive portal per accedere / accettare e quindi ti permette di connetterti. Da quello che ho capito, questa è una restrizione multipiattaforma che non può essere modificata. potrebbe essere qualcosa che gli amministratori di rete possono modificare, ma anche quello può dipendere dal tipo di apparecchiatura utilizzata.

    
risposta data 23.03.2012 - 13:28
fonte
2

Anche se alcuni anni questa domanda e risposta mostra questo in alto su google. Sfortunatamente MacOS è cambiato da allora. Questo la pagina su MacWorld del 2016 sembra descrivere lo stato attuale (al momento in cui scrivo).

Che essenzialmente è che a causa di SIP è possibile disabilitare l'assistente solo in modalità di ripristino. Devo ancora trovare una soluzione all'altra parte di questa domanda, "possiamo automatizzare il login?"

    
risposta data 16.02.2017 - 11:33
fonte
2

Con l'aiuto di AppleScript, Lynx, Fakeapp / Safari e ControlPlane, My MacBook ora è sempre connesso al captive portal automaticamente nel mio ufficio. Non è ancora un modo efficiente per farlo, ma riesce a svolgere il lavoro perfettamente. Spero che qualcuno possa renderlo più semplice.

Ecco il codice:

  1. Assicurati di essere in SSID corretto

    do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID: / {print $2}'"
    
  2. Verifica l'esistenza dell'indirizzo del portale captive

    try
        do shell script ("ping -c 2 " & CaptiveAddress) -- set your captive address here
        set CaptiveExist to "yes"
    on error
        set CaptiveExist to "no"
    end try
    
  3. Verifica connessione al portale

    try
        set PortalOpened to do shell script ("/usr/local/bin/lynx --dump http://www.apple.com/library/test/success.html | grep 'Success'")
        if PortalOpened is "   Success" then
            set PortalOpened to "yes"
        else
            set PortalOpened to "no"
        end if
    on error
        set PortalOpened to "no"        
    end try
    
  4. Accesso al portale

    tell application "Fake"
        load URL "http://YourPortalAddress.html" -- put your captive address here
        set value of element with name "username" to "user"
        set value of element with name "password" in form with name "password" to "password"
        click element with id "logincaption"
    end tell
    
  5. Salva questi script come un'unica applicazione. Quindi utilizza le regole ControlPlane per eseguirlo quando attivato con SSID specificato.

Sicuramente il modulo di accesso in cattività potrebbe contenere altri elementi HTML. È possibile aggiungere alcune finestre di dialogo di visualizzazione o notifiche, un altro SSID diverso con i propri elementi HTML e nome utente / password. Fake è un browser + automator, quindi renderà la vita più facile.

Non dimenticare di disattivare il popup di accesso captive. Ora il tuo Mac si connette automaticamente al portale.

Spero che ti aiuti.

    
risposta data 05.10.2018 - 06:38
fonte

Leggi altre domande sui tag