Ir ao conteúdo
  • Cadastre-se

Bat Batch ou arquivo para programar reboot - Modem Vivo Fibra MitraStar


Posts recomendados

Boa noite, preciso de uma ajuda dos programadores um pouco mais experientes daqui.

 

Meu provedor do Vivo Fibra está sendo bem inconveniente com o sistema deles: eles programam pra derrubar a conexão de todas as portas depois de um período de tempo, basicamente pra forçar você a comprar o IP Estático deles, que é só 3x o valor.

 

Como não sou PJ e quero deixar um servidor conectado mais como hobby, essa opção é totalmente inviável para mim.

 

Como alternativa pensei em programar uma tarefa do Windows para reiniciar meu modem após um período X, visto que esse modem não tem essa opção.

 

Procurei aqui no fórum e em outros, e não encontrei nada sobre esse modem. Encontrei uma opção em uma postagem antiga que conecta via telnet, entra o admin e a senha e executa um comando de reboot. Eu até ativei o Client Telnet em meu pc (Windows 10), mas não tenho resposta ao tentar no prompt: "telnet meuiplocaldoservidor". No Windows 10 não há uma opção de Telnet Server para ser habilitada, só client (Então não sei se não funciona por conta disso).

 

Além da opção por telnet, encontrei uma open source de um programa que faz isso para um modem Huawei https://gist.github.com/extremeshok/eb0ef673ba689aa52d072bc9985a31c3, mas ela também não funcionou para meu aparelho.

 

Há algum programa batch ou script que consiga fazer o reboot do modem? Ou há alguma solução simples com telnet mesmo que eu consiga adaptar usando Windows 10?

 

Na página do roteador, há um botão de reboot que redireciona pro link "/popup-reboot.html" mas o mesmo só conecta se eu entrar com o usuário e a senha, então precisaria de um programa que passasse por essa verificação.

 

Estou há mais de semana quebrando a cabeça com meu provedor sobre isso, então se alguém puder me ajudar fico muito grato.

 

Obrigado desde já!

 

PS.: Desculpa se estiver ne área incorreta, se esse for o caso, peço que algum moderador faça a transferência desse tópico para o local apropriado.

 

Abaixo o código do programa telnet que encontrei aqui no fórum mesmo, caso necessário:

@rem ****************************************
@rem * * Script reset modem router * *
@rem * * [url]www.brazukas.org[/url] * *
@rem * * por: willB * *
@rem ****************************************


@rem ////// Edite as linhas abaixo com os seus dados

@set ip=192.168.0.1
@set username=admin
@set password=
@set comando1=do reboot


@rem ///// Não edite as linhas abaixo:

@rem ///// Criação do script vbs

@echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs
@echo sh.SendKeys "%username%">>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs
@echo sh.SendKeys "~">>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs
@echo sh.SendKeys "%password%">>telnet.vbs
@echo sh.SendKeys "~">>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs


@rem ///// Enviando comando

@echo sh.SendKeys "%comando1%">>telnet.vbs
@echo sh.SendKeys "~">>telnet.vbs

REM -
@echo WScript.Sleep 75000>>telnet.vbs
@echo sh.SendKeys "^]" >>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs
@echo sh.SendKeys "quit">>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs
@echo sh.SendKeys "~">>telnet.vbs
@echo WScript.Sleep 500>>telnet.vbs

@rem ///// Iniciando a sessão de telnet

@start /realtime telnet.vbs %ip%
@cscript //nologo telnet.vbs
@del /q telnet.vbs

 

Link para o comentário
Compartilhar em outros sites

@ricardo_br

Sim Ricardo. Tentei já dar flush de dns, release/renew, nada resolve, exceto tirar da bendita tomada e ligar novamente.

 

O modelo que estou agora é o GPT-2541GNAC-N1.

 

Eu já sabia que o problema era do servidor deles. Mas como é padrão deles achar que o problema é sempre no local, eles vieram aqui, trocaram o aparelho por outro da mesma marca mas modelo mais recente. Fiz os testes, aguardei o tempo e o problema persistiu, depois de 24h ou pouco mais as portas fecharam sozinhas novamente. Ainda estou no processo de suporte esperando pra ver se dão uma solução, mas depois de fazer esses testes eles já falaram que o servidor deles faz essa verificação e bloqueio mesmo e não tem o que mudar nisso, então não estou muito esperançoso com uma resolução positiva por parte deles.

 

Pensei nessa alternativa de tentar programar o restart em um horário, porque nem sempre vou estar disponível no mesmo horário para fazer manualmente, e também pra configurar no mesmo horário que já tenho meus backups agendados. A solução aparentemente mais simples que encontrei foi essa do telnet, mas quando tento a conexão via telnet eu não tenho resposta no CMD. Então não tenho ideias do que tentar mais por enquanto...

 

Se você tiver alguma ideia fico muito grato!

 

Edit:

Encontrei um link de uma pessoa num fórum espanhol que também não estava conseguindo acessar via telnet. Não consegui entender quais foram todos os procedimentos que eles tentaram, mas parece que conseguiram via SSH. Mas não sei bem como funciona. Essa informação ajuda?

 

https://comunidad.movistar.es/t5/Soporte-Fibra-y-ADSL/No-puedo-acceder-al-router-Mitrastar-HGU-GPT-2541GNAC-por-Telnet/td-p/3252081

Link para o comentário
Compartilhar em outros sites

Não são portas padrão. No primeiro contato a vivo informou que há uma limitação de acesso a portas abaixo de 8100, e outro técnico depois falou que na verdade são as portas abaixo de 9000 (Que com certeza eles já fazem para forçar a compra de um pacote de IP estático). Independente disso eu já tinha alterado todas as portas para portas superiores a 9000 e o problema persistia.

 

Acredite, o problema não é aqui. As portas estão abertas. As portas funcionam. Mas passa um período aproximado de 1 dia, a Vivo simplesmente fecha todas as portas. E não é nem por um possível reset de IP (por ele ser dinâmico). Pois em quase todos os testes dentro do período, o IP se manteve, e só o acesso as portas foi fechado.

 

O problema é com eles, mas como já falei, como acho difícil deles me darem uma solução, depois de todos os contatos que já tive, to querendo essa solução alternativa de programar reboot.

Link para o comentário
Compartilhar em outros sites

Sei colocar em bridge mas não tenho outro roteador para utilizar.

 

E eu já utilizei bridge em outros aparelhos anos atrás. Não vejo como colocar em bridge poderia ajudar nesse caso. Bridge serve se o modem/roteador que você está utilizando tem limitações e não permite a liberação das portas e/ou gera algum conflito no acesso. Não é o meu caso. Eu consigo liberar as portas. Não tenho problemas de liberação. Eu tenho acesso.

 

O problema é que o Servidor da Vivo CORTA meu acesso às portas depois de um período de tempo. E este só retorna se eu resetar meu modem. O procedimento seria o mesmo tanto pra esse modem quanto para qualquer outro nessa situação, pois é uma ação do provedor e não do aparelho.

 

Estou querendo uma solução via software justamente por ser algo que está dentro do meu campo de ação para resolver. Não deles.

 

Novamente. Meu problema não é com a liberação das portas. Meu problema é meu provedor cortando meu acesso pelo sistema deles.

 

Por isso a ajuda que preciso é com um programa que possa realizar o reboot, pois eu só agendaria a execução diária desse programa.

 

Edit: Precisarei sair umas horas e voltarei pra verificar aqui depois, mas o que eu realmente preciso é de um batch, script, ou qualquer tipo de programa que consiga acessar e reiniciar o modem. Se você souber fazer isso Ricardo (ou algum outro usuário do fórum que tenha noção de programação para esse problema), e puder ajudar nisso quando tiver um tempo, fico muito grato.

Link para o comentário
Compartilhar em outros sites

Eu acho que da para fazer com alguns programas de prompt de comando como curl ou wget mais meus conhecimentos nisso não são suficientes para te ajudar...

 

Mais poderia parecer com isso:

curl -u 'Usuario:Senha' --form 'reset_flag=0&submit-url=%2Fcontool.asp' 'http://{IPDoModem}/goform/formReboot'

 

Nesse link eu achei alguns exemplos: Superuser

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

@Brumas voce conseguiu encontrar alguma solução? 

Eu estou tendo um problema parecido, tambem uso o VIVO FIBRA e estou utilizando um roteador TPLINK como repetidor wifi para conseguir levar o sinal wifi até a camera ip que fica no portão do meu estabelecimento comercial. Porém de tempos em tempos o repetidor perde a conexão com o modem da VIVO e para voltar a funcionar eu preciso reiniciar o modem da VIVO. (reiniciar o repetidor não funciona).

 

No TPLINK até existe uma opção para configurar o reboot automático, mas não adianta reiniciar o repetidor, quando ele perde a conexão com o modem da VIVO, somente reiniciando o VIVO que ele volta a funcionar.

Ja tentei trocar o IP do repetidor e não funcionou, tentei aumentar o tempo de DNS do modem da VIVO e tambem não funcionou.

 

Pensei em comprar um "Timer" de tomada e configurar para ele desligar e ligar 1 minuto depois. Aí deixo ele configurado para fazer isso todos os dias as 5h da manhã...

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...
  • 5 meses depois...

Para quem não quiser comprar um temporizador basta instalar o git bash ou usar o Linux para utilizar o script abaixo, lembrando que o equipamento testado foi no modelo MitraStar GPT-2541GNAC-N1. Se estiverem usando o ip padrão só precisam mudar a senha para que o script funcione. 

Essa foi a único lugar que o pessoal estava com o mesmo problema que eu. Como aqui não havia uma outra solução eu e um amigo fizemos esse script

 

Citação

#!/bin/bash
#set -x
#PASSWD=$1

PASSWD=DIGITEASENHADEAUTENTICAÇÃODOMODEM

CURLTMP=$(curl http://192.168.15.1/login_frame.html -s | grep "var sid =")
SID=${CURLTMP:13:8}
echo "${SID}"

MD5TMP=$(echo -n "${SID}:${PASSWD}" | md5sum)

MD5=${MD5TMP:0:32}

BASE64TMP=$(echo -n "admin:${MD5}" | base64)
BASE64="${BASE64TMP%=*}%3D"
echo ${BASE64}

CURLTMP=$(curl 'http://192.168.15.1/login-login.cgi' \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
  -H 'Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'Cache-Control: max-age=0' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Origin: http://192.168.15.1' \
  -H 'Referer: http://192.168.15.1/login_frame.html' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \
  --data-raw "sessionKey=${BASE64}&user=admin&pass=" \
  --compressed \
  --insecure -v -s 2>&1 | grep "Set-Cookie: SESSION")
#echo "[${CURLTMP}]"
COOKIE_SESSION=${CURLTMP:22:9}
echo ${COOKIE_SESSION}

CURLTMP=$(curl 'http://192.168.15.1/popup-reboot.html' \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
  -H 'Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'Connection: keep-alive' \
  -H "Cookie: SESSION=${COOKIE_SESSION}" \
  -H 'Referer: http://192.168.15.1/device-management-resets.html' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \
  --compressed \
  --insecure -s | grep sessionKey)
#echo $CURLTMP
RESTART_SESSION=$(echo $CURLTMP | grep -o '[[:digit:]]*')
echo "[${RESTART_SESSION}]"

curl "http://192.168.15.1/webs/device-management-rebootinfo-none.cgi?sessionKey=${RESTART_SESSION}" \
  -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
  -H 'Accept-Language: pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'Connection: keep-alive' \
  -H "Cookie: SESSION=${COOKIE_SESSION}" \
  -H 'Referer: http://192.168.15.1/webs/popup-reboot.html' \
  -H 'Upgrade-Insecure-Requests: 1' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36' \
  --compressed \
  --insecure -s
 

 

Depois disso basta colocar no agendador de tarefas do Windows ou no cronjob no Linux

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!