Script para cambiar Ip dinámica en Observa AW4062




Quien no a necesitado reiniciar su router para cambiar Ip sea cual sea la necesidad?



Lo más "desesperante" de esa práctica era el tener que ir al router en caso de no tenerlo al lado

y lo peor que dependiendo el router un reinicio tarda lo suyo, este en concreto tarda sobre ~40sg.


Como en mi caso no lo tengo cerca para reiniciar a mano ni quiero esperar ese tiempo

me dispuse a investigar.



Se puede cambiar de Ip con el código en el Jdownloader que os lo dejo aqui :


[[[HSRC]]]
    [[[STEP]]]
        [[[REQUEST]]]
        GET / HTTP/1.1
        Host: %%%routerip%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET / HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/title.html HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/status.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /code.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/share.js HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /goform/admin/formStatus HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/status.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /goform/admin/formStatus HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/status.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /goform/admin/formStatus HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/status.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /goform/admin/formStatus HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%

submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

[[[/HSRC]]]

Lo podeis insertar en Ajustes > Reconexion y Router > LiveHeader/Curl

Pero yo lo que queria era un script para poder ejecutar desde la consola en linux sin tener que abrir

para nada el jDownloader  o para automatizarlo y que se ejecutase en determinado

momento, programado con anterioridad.

Pues pongamonos manos a la obra.

Lo primero seria saber que ordenes realiza el navegador desde la página del router para poderlo

 reiniciar.

En este caso ya las tenemos de arriba grabadas anteriormente con Jdownloader.

También se puede usar Live HTTP Headers que nos graba los movimientos que hacemos en las webs.

El código que realmente nos interesa seria el siguiente:

GET /admin/status.asp
y por otro lado las funciones que realiza:

para desconectar:

submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp


para conectar:

submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp


Para poder utilizar todo esto que tenemos ahora necesitaremos el programa Curl 

Para instalarlo desde consola : apt-get install curl

Ahora solamente con hacer  lo siguiente desconectaremos el ppp0


curl "http://usuario:contraseña@192.168.1.1/goform/admin/formStatus" -d "submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp"


Como ya sabemos el funcionamiento solo quedaria hacer el script

#! /bin/bash
curl "http://usuario:contraseña@192.168.1.1/goform/admin/formStatus" -d "submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp"
curl "http://usuario:contraseña@192.168.1.1/goform/admin/formStatus" -d "submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp"

Y script terminado!

Para automatizarlo se puede utilizar el comando Crontab

Para editar contrab ejecutamos en consola > crontab -e

y para revisarlo > crontab -l

Listo todo para nuestro Router Observa tecom AW4062
Previous
Next Post »

2 comentarios

Write comentarios
Anónimo
AUTHOR
16 de septiembre de 2012, 16:12 delete

Interesante post.
conoces alguna manera de introducir una url en el navegador y que me desconecte PPPoE ? he probado con la direccion que me indicas y no me funciona http://1234:1234@192.168.1.1/goform/admin/formStatus" -d "submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp

Gracias

Reply
avatar
Unknown
AUTHOR
18 de septiembre de 2012, 14:12 delete

HOla, siento la tardanza.
Pues por web no tienes mas que logearte en la dirección del router.
sino vete ya directamente a http://1234:1234@192.168.1.1/status.asp Donde 1234:1234 es USUARIO:Contraseña si no los cambiaste dejalo como esta con 1234
y ya ves la conexion pppoe que se llama ppp_vc0 a la derecha le das a "disconect" esperas un segundo o refrescas la pagina Con F5 y luego le das a "conect" y ya tienes IP nueva mediante navegador.si estas en linux si tienes el script te lo hace en un par de segundos sin tener que ir a la web y si estas en windows te aconsejo una maquina virtual con linux y le metes el script peo ya lleva mas tiempo y daria igual ir a la web. espero haberte ayudado! un saludo

Reply
avatar