Resetear/ Restaurar un teléfono aastra con Curl

Teléfono aastra 9143i

Hola amigos:

En reiteradas ocasiones tenemos que hacer literalmente magia para poder resolver problemas a distancia con un simple acceso SSH por consola, o bien si quieres encargarte de automatizar un buen número de tareas que de otra forma te llevaría mucho tiempo. Este post toca el tema de resetear un teléfono ip aastra 9143i, simulando entrar a su interface web y dando clic en el botón de reset. Sin embargo, esta misma metodología puede aplicarse para automatizar el reset / restore de casi cualquier equipo de redes o similares.


Lo primero es lo primero, hay que revisar el código que muestra nuestro teléfono ip en la página de reset. Si quieres resetearlo nos muestra que debes de acceder a la siguiente dirección:
http://ip.del.dispositivo/reset.html

En donde nos pedirá autenticarnos, si tu teléfono viene con valores de fábrica, deberás de autenticarte con el usuario admin y el password 22222. Adicionalmente revisamos el código html que tiene esa sección y encontramos un formulario con el siguiente contenido:
<form action=”reset.html” method=”post” id=”resetForm”></form>

…

<input type=”button” value=”Restart” onclick=”confirmReset(0);”>

…

<input type=”hidden” name=”resetOption”>

…

Lo que nos está diciendo es que cuando se presiona el botón de reset, se manda llamar la misma página, pero a la llave oculta “resetOption” se le asigna el valor “Restart”. Esto se puede traducir al siguiente comando usando curl.


curl -d llave=valor -u usuario:password http://ip.del.equipo/reset.html

Si sustituimos los valores y asumimos que se usa el usuario por default y la ip del teléfono es la 10.0.0.1 quedaría así:
curl -d resetOption=Restart -u admin:22222 http://10.0.0.1/reset.html


El comando anterior nos ayuda para ir pensando en automatizar las cosas, ya que podríamos generar un script automático para resetear todos nuestros teléfonos del mismo modelo de un jalón en caso de que queramos actualizar su configuración o firmware. La automatización puede realizarse a través de un script de bash tan sencillo o tan complicado como uno lo quiera. A continuación un ejemplo:
#!/bin/sh
FILE=”test.txt”
for i in `cat ${FILE}` ;  do

curl -d resetOption=Restart -u admin:22222 http://${i}/reset.html

done

En el archivo anterior se tomarán las líneas una por una del archivo test.txt que se encuentra en el directorio en donde se ejecuta el script y se ejecuta el comando curl con cada ip.


Si vas a estar usando este script repetidamente, es recomendable mejorarlo sustancialmente para que puedas hacer uso de los parámetros y lo puedas ir creciendo el futuro para su mejor funcionamiento, puedes descargar uno que ya contiene switches por la línea de comandos y soporta varias opciones:

reset_terminals

Espero que les sea de utilidad!

Saludos,

Entradas más populares de este blog

Kgpg en ubuntu

Como redireccionar el trafico a una nueva IP con IPtables