Fazer login automaticamente em uma rede com um portal cativo no Windows?

Fazer login automaticamente em uma rede com um portal cativo no Windows?

Tenho uma rede Wi-Fi no escritório que exige login com umportal cativo. Requer login com nome de usuário e senha.

Gostaria de executar de alguma forma um script que faça login automaticamente assim que eu me conectar à rede, sem precisar iniciar meu navegador e mantê-lo aberto.

Curiosamente, consegui encontrar um cliente assim para Android,CoovaAXque não está mais disponível, mas não para Windows. Eu tenho o Windows 7, se for importante.

Alguém tem uma solução simples para isso? Prefiro não perder tempo codificando minha própria ferramenta para isso.

Responder1

Não sei se é simples... eu uso uma ferramenta chamadawebinject.plpara testar sites. É um script perl que permite especificar entradas e resultados esperados e pode ser facilmente configurado para isso. Pode levar uma hora para fazer 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 quando estabeleço uma conexão de rede. Isso pode resolver.

Responder2

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

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

Então você pode renomear esse arquivo e usá-lo chamando o lynx da seguinte maneira:

lynx.exe -cmd_script=FILENAME_HERE

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

Depois de fazer isso funcionar, faça uma tarefa agendada acionada pelo ID do evento 10000na origem NetworkProfiledo log Microsoft-Windows-NetworkProfile/Operationalque a chama:

Exemplo de gatilho do Agendador de tarefas

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

Fonte: Meu artigo sobreComo automatizar o login no portal cativo.

Responder3

Já fiz isso no passado com o agendador de tarefas do Windows e um script php+mysqllite. O script php+mysqllite apenas verificou se poderia chegar ao google, se foi redirecionado, verificou se tinha uma rotina para o domínio para o qual foi redirecionado, se sim, ele executou. O mysqllite era para manter os cookies do navegador headless que implementei em php. Provavelmente seria muito menos trabalhoso usar apenas um Greasemonkey equivalente para fazer o login. (com o lado negativo de que o navegador apareceria e faria coisas toda vez 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 aqueles que me interessavam.

No meu laptop atual, parece que o único evento que é acionado de forma confiável é a conexão do cliente DHCP. Claro, isso falha toda vez que recebo um endereço IP e não me informa um SSID.

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

Responder4

Dependendo da implementação específica do portal, talvez você nem precise de nenhum software adicional.

Observação:esta solução requer conhecimentos básicos deHTTPe apainel de desenvolvimentodo seu navegador. O segundo link é para o Chrome; se você usa outros navegadores, uma pesquisa rápida deve levá-lo até lá facilmente. Você também não deve ter medo de usar a interface de linha de comando, embora certamente não precise ser um especialista.


Fundamentalmente, o portal cativo é apenas uma página HTML. Quando você insere seus detalhes de autenticação e os envia, seu navegador simplesmente envia uma solicitação HTTP (provavelmente GET ou POST) com suas credenciais para um URL pré-configurado. É claro que isso pode ser alcançado usando ferramentas de linha de comando e, assim, automatizado usando o Windows Scheduler, como outras respostas mencionaram.

Felizmente, desde 2018, o Windows 10 vem com oondulaçãoutilitário, que permite enviar solicitações HTTP arbitrárias. Portanto, o que você pode fazer é inspecionar a solicitação que seu navegador envia quando você envia suas credenciais por meio do portal e redigir um comando curl que envia a mesma solicitação. Veja como enviar uma solicitação POST usando curlaqui. Em seguida, você pode salvar o comando em um .batarquivo e configurá-lo para ser executado quando você se conectar a uma rede usando o Agendador de Tarefas. @Menasheh forneceu um guia simples, então não vou repetir esta parte.

No entanto, não é garantido que esta solução funcione emtodorede, uma vez que um portal mais sofisticado poderia realizar diversas verificações na solicitação, como carimbo de data/hora ou token. Mas vale a pena tentar mesmo assim.


Um potencial vetor de ataque desta solução é que, como o Agendador de Tarefas não se importa com qual rede você está se conectando, ele executará esse script quando você se conectar.QUALQUERrede. Isso faz com que haja uma chance diferente de zero de que um invasor oportunista possa configurar um ataque de phishing em sua própria rede. Deve-se notar que a possibilidade disso é muito pequena, visto que muito poucas pessoas executam uma configuração de login automático como esta. E existem técnicas de mitigação para isso, como configurar um portal HTTPS com certificado interno do local de trabalho, mas isso está fora do escopo desta questão.

informação relacionada