¿Cómo iniciar sesión automáticamente en los portales cautivos en OS X?

56

¿Cómo puedo iniciar sesión automáticamente en los portales cautivos en OS X?

Un portal cautivo es utilizado por redes inalámbricas (a menudo no protegidas por contraseña) que presentan una página web tan pronto como te conectas a ellos, requiriendo que inicies sesión.

Tengo que iniciar sesión en diferentes redes inalámbricas como esta con mucha frecuencia, y ninguno de los portales cautivos parece recordar mi información de inicio de sesión / contraseña. ¿Hay alguna manera de automatizar el proceso de inicio de sesión de alguna manera, o al menos almacenar los pares de inicio de sesión / contraseña en el llavero?

Actualización: Hay una aplicación para iOS llamada AutoWifi que básicamente maneja esto . Si es posible hacer esto en iOS con todas sus restricciones, seguramente debe ser posible hacer algo así en OS X, ¿verdad?

Dato curioso relacionado: Así es como Apple prueba los portales cautivos en OS X y iOS:

  

OS X y iOS realizan una solicitud a http://www.apple.com/library/test/success.html cada vez que te conectas a una red WiFi.

A partir de Yosemite la URL ahora es: http://captive.apple.com/hotspot-detect.html

Esta URL devuelve el siguiente HTML:

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

8 respuestas

27

Puedes cambiar el nombre

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

en

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

y ya está todo listo. La entrada de contraseña ahora va a través de su navegador de elección y puede almacenarse usando 1password u otros complementos. Tenga en cuenta que si ya inició sesión mientras estaba cambiando el nombre, la sesión puede tardar un tiempo en caducar ...

    
respondido por el Leon 10.12.2012 - 21:29
45

Acabo de encontrar este Deshabilitar el soporte de red cautiva en OS X

Lo que menciona "Para deshabilitarlo, establece esta preferencia:"

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

En caso de que quieras eliminar esta configuración, puedes hacerlo:

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

Luego, como lo menciona @Leon, use el navegador web normal para iniciar sesión. O si está en una red en la que eso no funciona de alguna manera, puede intentar abrir la aplicación manualmente (ubicada en /System/Library/CoreServices/Captive Network Assistant.app )

    
respondido por el cwd 03.08.2014 - 15:52
15
El proyecto de NetworkAutoLogin de Tyilo en github de Tyilo es un demonio os.x que "inicia sesión automáticamente en Captive Portal Networks" con el usuario cartas credenciales.

Utiliza PhantomJS & CasperJS para publicar la información necesaria en los campos de la página de inicio de sesión del portal cautivo. Podría ser la "contraseña" de inicio de sesión secreta, un par de nombre de usuario y contraseña, o simplemente activar una casilla de verificación de EULA y el botón "conectar".

No puedo recordar exactamente cómo se activó, pero registra un .plist con launchctl.

Usted coloca las opciones de configuración en un archivo json, especificando el nombre del fieldset (opcional) en la página del portal cautivo y los pares necesarios de nombre de campo + contenido (requerido). Aquí hay un ejemplo del archivo de configuración almacenado en ~/.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'
    }
}
    
respondido por el Mac Cowell 30.07.2014 - 22:07
6

¿La eliminación (o cambio de nombre) /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist detiene el auto-sondeo?

Al menos podría detener la apertura de la ventana emergente de WebView.

De lo contrario, reemplace todas las URL en ese Settings.plist con una copia local alojada del archivo success.html y hospede el archivo success.html en su servidor webhost local.

    
respondido por el Pro Backup 06.04.2012 - 17:32
3

Veo solicitudes de portal cautivo en mi red doméstica cada 5 minutos. Pero he cambiado en el archivo /Library/Preferences/SystemConfiguration/CaptiveNetworkSupport/Settings.plist

cadena: enlace a enlace (Me refiero a la sección ProbeURL). Apple cambió la URL de la sonda para el nuevo sistema operativo, no sé por qué, pero la nueva respuesta de la URL es 200 (OK) y debería funcionar (me he enfrentado con el mismo problema en mi mbp 2011 Mavericks).

    
respondido por el Alexander Unger 15.07.2015 - 12:08
2

Un portal cautivo no es como una contraseña. Es más como un signo en la hoja. Cada vez que la red con la que está conectado reparte una dirección IP a través de DHCP, le brinda el portal cautivo para iniciar sesión / aceptar y luego le permite conectarse. Por lo que entiendo, esta es una restricción multiplataforma que no se puede modificar. puede ser algo que los administradores de red pueden cambiar, pero incluso eso puede depender del tipo de equipo que se use.

    
respondido por el Matt Love 23.03.2012 - 13:28
2

Aunque hace unos años, esta pregunta y respuesta se muestran muy bien en Google. Desafortunadamente MacOS ha cambiado desde entonces. Este La página en MacWorld desde 2016 parece describir el estado actual (en el momento de escribir esto).

Lo que esencialmente es que, debido a SIP, puede deshabilitar al asistente solo en modo de recuperación. Todavía tengo que encontrar alguna solución a la otra parte de esta pregunta, "¿podemos automatizar el inicio de sesión?"

    
respondido por el thoni56 16.02.2017 - 11:33
1

Con algo de ayuda para usar AppleScript, Lynx, Fakeapp / Safari y ControlPlane, My MacBook ahora siempre está conectada al portal cautivo en mi oficina. Todavía no es una forma eficiente de hacerlo, pero aún así hace el trabajo perfectamente. Espero que alguien pueda hacerlo más simple.

Aquí está el código:

  1. Asegúrese de que estamos en el SSID correcto

    do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -I | awk '/ SSID: / {print $2}'"
    
  2. Comprobar la existencia de direcciones de portal cautivas

    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. Probar la conexión del portal

    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. Iniciar sesión en el portal

    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. Guarde esos scripts como una aplicación. Luego use las reglas de ControlPlane para que se ejecute cuando se active con un SSID específico.

Seguramente el formulario de inicio de sesión en cautivo puede tener otros elementos HTML. Puede agregar algunos cuadros de diálogo o notificaciones, otro SSID diferente con sus propios elementos HTML y nombre de usuario / contraseña. Fake es un navegador + automatizador, por lo que hará la vida más fácil.

No olvides deshabilitar la ventana emergente de inicio de sesión cautivo. Ahora su Mac 100% se conecta automáticamente al portal.

Espero que ayude.

    
respondido por el Koes N 05.10.2018 - 06:38

Lea otras preguntas en las etiquetas