Como você pode “pressionar” um botão de uma página da Web a partir da linha de comando para reiniciar um modem a cabo?

2

Estou tentando reinicializar meu modem a cabo programaticamente. Eu costumava fazer isso usando wget :

wget http://192.168.100.1/reset.htm?reset_modem=Restart+Cable+Modem

No entanto, mudei meu modem a cabo para um Arris SB6190 e isso não funciona mais.

O novo modelo tem uma página de configuração link (cuja fonte exata pode ser vista aqui link ) onde você pode reinicializar clicando em um botão em um formulário:

<input type="submit" value="Reboot" align="middle"  onClick="resetReq();">
    
por WhiskerBiscuit 04.05.2016 / 23:58

1 resposta

1

Minha sugestão é fazer o seguinte:

  1. Ir para a página em que o botão de reinicialização está.
  2. Abra as ferramentas de desenvolvimento do seu navegador (eu recomendaria o Google Chrome para isso)
  3. Vá para a guia de rede. Certifique-se de que está gravando (aponte para o canto superior esquerdo da interface do usuário das ferramentas de desenvolvimento. Marque a caixa "persist log". Limpe o log se você tiver um monte de coisas lá.
  4. Clique no botão. Você verá a solicitação de rede registrada no console. Clique com o botão direito do mouse e o Chrome dá a você a opção de copiar a solicitação como um comando CURL (ou talvez o wget ... possa ser dependente da plataforma).

Agora você precisa analisar esse comando (também é possível clicar na solicitação no console para ver os cabeçalhos da solicitação). Ele usa alguma autenticação (por exemplo, passando um valor no cookie ou usando autenticação HTTP)? Em caso afirmativo, meu palpite é que a autenticação tem uma expiração embutida. Se ele usar um cookie ou token (em vez desse nome de usuário / senha), será necessário capturar a solicitação para efetuar login na interface administrativa e ver em que lugar dos cabeçalhos de resposta (ou talvez dados de resposta) dessa solicitação seu token de autenticação é enviado para o seu navegador. Você pode ter que atualizar seu script para autenticar primeiro e prender esse token e, em seguida, fazer a segunda solicitação para reinicializar usando esse token / autenticação.

Os detalhes dependem da implementação exata do processo de autenticação do seu roteador, mas essa abordagem geral deve funcionar para a maioria das coisas.

    
por 05.05.2016 / 00:38