como posso entrar automaticamente em uma rede com um portal cativo no Windows?


15

Eu tenho uma rede WI-FI no escritório que requer login com um portal cativo (requer login com nome de usuário e senha).

De alguma forma, gostaria de executar um script que efetue login automaticamente assim que eu me conectar à rede (sem precisar iniciar o navegador e mantê-lo aberto).

Curiosamente, consegui encontrar um cliente para Android ( CoovaAX, que não está mais disponível), mas não um para o Windows (eu tenho o Windows 7, se for o caso).

Alguém tem uma solução simples para isso? Prefiro não ter que gastar tempo para codificar minha própria ferramenta para isso.


Alguém lançou um programa para resolver esse problema nos dois anos seguintes? Existem soluções razoáveis ​​para Android ( play.google.com/store/apps/… ) e iOS).
21814 Jess Riedel

Meta: como chamar a atenção para essa questão? Não posso perguntar minha própria versão, pois seria uma duplicata, mas a resposta aqui está completamente desatualizada e gostaria de dar uma olhada em novos olhos.
21814 Jess Riedel

@JessRiedel Publiquei uma nova resposta que funciona agora e inclui um link para um guia completo .
Menasheh 28/11

Respostas:


7

Não sei o que é simples ... Eu uso uma ferramenta chamada webinject.pl para testar sites. É um script perl que permite especificar entradas e resultados esperados e pode ser facilmente configurado para isso. Pode levar uma hora para fazê-lo funcionar.

Quanto a como automatizá-lo. O Agendador de tarefas do Windows é bastante robusto e pode ser acionado em uma infinidade de eventos. Você pode vinculá-lo a um evento de logon ou entrada de log de eventos ou simplesmente executá-lo a cada 5 minutos (isso é um pouco doloroso). Por exemplo, recebo um evento 32 no log do sistema ao estabelecer uma conexão de rede. Isso pode fazer isso.


Obrigado. Não sei se isso resolve meu problema completamente, acho que ele poderia se conectar ao site e enviar minhas credenciais, mas ainda precisaria ativá-lo automaticamente quando me conectar à rede wifi da empresa. Alguma idéia de como fazer isso? Posso pegar um evento com o Scheduler, talvez?
Assaf Stone

Eu adicionei mais detalhes sobre o acionamento.
USlackr

@uSlackr Você seria capaz de fornecer o código usado para isso?
Cameron

@Cameron Qual código? O webinject.pl está disponível para download. o arquivo de configuração XML será específico para o seu caso de uso.
uSlackr

Sim, eu poderia ver o XML como um exemplo? Graças
Cameron

5

Você pode usar o lynx (a versão com suporte a SSL) - um navegador baseado em texto - com um cmd_argsarquivo de script que contém os comandos necessários para efetuar o login. Você pode gerar um arquivo de script fazendo login no wifi com o lynx uma vez e registrando a entrada. Faça isso chamando lynx com o seguinte argumento:

lynx.exe -cmd_log =% USERPROFILE% \ lynxlog.txt`

Em seguida, você pode renomear esse arquivo e usá-lo chamando lynx da seguinte maneira:

lynx.exe -cmd_script = FILENAME_HERE

Coloque isso em um arquivo em lotes. (Use o caminho completo para o executável do lynx ou defina esse caminho na variável de ambiente PATH.)

Depois de conseguir isso, faça uma tarefa agendada acionada pela identificação do evento 10000na fonte NetworkProfiledo log Microsoft-Windows-NetworkProfile/Operationalque a chama:

Exemplo de gatilho do Agendador de tarefas

Pessoalmente, agrupo isso iexpress.exepara executá-lo oculto em segundo plano e certifico-me de que a tarefa agendada esteja definida para ser executada, mesmo que eu não esteja conectado. Acabei de configurar isso no meu computador há algumas semanas e está funcionando muito bem!

Fonte: Meu artigo sobre Como automatizar o logon do Captive Portal .


1

Eu fiz isso no passado com o agendador de tarefas do Windows e um script php + mysqllite. O script php + mysqllite apenas verificou se era possível acessar o google, se foi redirecionado, verificou se havia uma rotina para o domínio para o qual foi redirecionado; se assim for, ele o executou. O mysqllite era manter os cookies para o navegador sem cabeça que eu implementei no php. Provavelmente seria muito menos trabalhoso usar apenas uma chave greasemonkey para fazer o login. (com o lado negativo, o navegador apareceria e faria todas as vezes que seu agendador fosse acionado.)

O gatilho do agendador de tarefas varia de máquina para máquina. Eu tinha um laptop que registrava conexões wifi como eventos e eles incluíam o ssid para que eu pudesse filtrar para acionar apenas os que me interessavam.

No meu laptop atual, parece que o único evento que é disparado com segurança é a conexão do cliente DHCP. Obviamente, isso frita toda vez que obtenho um endereço IP e não me informa um SSID.

Você pode verificar quais eventos estão disponíveis para você iniciar com o visualizador de eventos do Windows. Acabei de ligar e desligar meu wifi 3 vezes e verifiquei quais eventos foram disparados 3 vezes na última hora.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.