¿Cómo puedo iniciar sesión automáticamente en una red con un portal cautivo en Windows?

15

Tengo una red WI-FI en la oficina que requiere iniciar sesión con un portal cautivo (requiere iniciar sesión con nombre de usuario y contraseña).

Me gustaría ejecutar de alguna manera un script que inicie sesión automáticamente tan pronto como me conecte a la red (sin tener que iniciar mi navegador y mantenerlo abierto).

Por extraño que parezca, logré encontrar un cliente para Android ( CoovaAX que ya no está disponible), pero no uno para Windows (tengo Windows 7, si es importante).

¿Alguien tiene una solución simple para esto? Prefiero no tener que perder tiempo para codificar mi propia herramienta para esto.

Piedra assaf
fuente
¿Alguien ha lanzado un programa para resolver este problema en los dos años transcurridos? Existen soluciones razonables para Android ( play.google.com/store/apps/… ) e iOS).
Jess Riedel
Además, Meta: ¿cómo llamo la atención sobre esta pregunta? No puedo pedir mi propia versión, ya que sería un duplicado, pero la respuesta aquí está completamente desactualizada y me gustaría que le echaran un vistazo.
Jess Riedel
@JessRiedel He publicado una nueva respuesta que funciona ahora e incluye un enlace a una guía completa .
Menasheh

Respuestas:

7

No sé sobre simple ... Uso una herramienta llamada webinject.pl para probar sitios web. Es un script perl que le permite especificar entradas y resultados esperados y podría configurarse fácilmente para esto. Puede tomar una hora para que funcione.

En cuanto a cómo automatizarlo. El Programador de tareas de Windows es bastante robusto y puede activarse en una gran cantidad de eventos. Puede vincularlo a un evento de inicio de sesión o entrada de registro de eventos, o simplemente hacer que se ejecute cada 5 minutos (eso es un poco doloroso). Por ejemplo, obtengo un evento 32 en el registro del sistema cuando establezco una conexión de red. Eso podría hacerlo.

uSlackr
fuente
Gracias. No sé si esto resuelve mi problema por completo, supongo que podría conectarse al sitio y enviar mis credenciales, pero aún así necesitaría encenderlo automáticamente cuando me conecte a la red wifi de la compañía. ¿Alguna idea de cómo hacerlo? ¿Podría ver un evento con Scheduler, tal vez?
Assaf Stone
Agregué más detalles sobre su activación.
uSlackr
@uSlackr ¿Podría proporcionar el código que utilizó para esto?
Cameron
@Cameron ¿Qué código? Webinject.pl está disponible para descargar. el archivo de configuración XML será específico para su caso de uso.
uSlackr
Sí, ¿podría ver el XML como ejemplo? Gracias
Cameron
5

Puede usar lynx (la versión con soporte SSL), un navegador basado en texto, con un cmd_argsarchivo de script que contiene los comandos necesarios para iniciar sesión. Puede generar dicho archivo de script iniciando sesión en el wifi con lynx una vez y registrando la entrada. Haga esto llamando a lynx con el siguiente argumento:

lynx.exe -cmd_log =% PERFIL DE USUARIO% \ lynxlog.txt`

Luego puede cambiar el nombre de ese archivo y usarlo llamando a lynx de la siguiente manera:

lynx.exe -cmd_script = FILENAME_HERE

Pon esto en un archivo por lotes. (Utilice la ruta completa al ejecutable de lynx o establezca esa ruta en la variable de entorno PATH).

Una vez que empiece a funcionar, realice una tarea programada activada por la identificación del evento 10000en la fuente NetworkProfiledel registro Microsoft-Windows-NetworkProfile/Operationalque lo llama:

Ejemplo de activación del programador de tareas

Personalmente, lo combino iexpress.exepara ejecutarlo oculto en segundo plano y me aseguro de que la tarea programada esté configurada para ejecutarse incluso si no estoy conectado. ¡Acabo de configurar esto en mi computadora hace unas semanas y ha estado funcionando muy bien!

Fuente: Mi artículo sobre cómo automatizar el inicio de sesión en el portal cautivo .

Menasheh
fuente
1

Lo hice en el pasado con el programador de tareas de Windows y un script php + mysqllite. El script php + mysqllite solo verificó si podía llegar a google, si se redirigió, verificó si tenía una rutina para el dominio al que se redirigió, si es así, lo ejecutó. El mysqllite era mantener las cookies para el navegador sin cabeza que implementé en php. Probablemente sería mucho menos trabajo usar un greasemonkey equivalente para iniciar sesión. (con la desventaja de que el navegador aparecería y haría cosas cada vez que se desconecte su programador).

El activador del programador de tareas variará de una máquina a otra. Tenía una computadora portátil que registraba las conexiones wifi como eventos e incluían el ssid para que pudiera filtrar y activar solo las que me importaban.

En mi computadora portátil actual, parece que el único evento que se dispara de manera confiable es la conexión del cliente DHCP. Por supuesto, esto se fríe cada vez que obtengo una dirección IP y no me dice un SSID.

Puede verificar qué eventos están disponibles para que los active con el visor de eventos de Windows. Acabo de encender y apagar mi wifi 3 veces y verifiqué qué eventos se activaron 3 veces en la última hora.

Almiar
fuente