Hoy te voy a mostrar como puedes acceder a tu modem y obtener información sobre la IP Wan, el estado de la linea ADSL e inclusive detectar si puedes navegar en internet o no. La idea básica es utilizar el protocolo SNMP para monitorear el estado de algunos parámetros del modem, como por ejemplo la direccion IP Wan, o bien el estado de la linea ADSL. Con el protocolo SNMP puedes controlar el estado de muchos dispositivos, como impresoras, routers, modems, e inclusive puedes controlar tu pc desde cualquier punto remoto, con esta script y algunas modificaciones podrías hacerlo. Todo está desarrollado con VBScript y sobre una aplicación HTA. La victima en este caso es un modem Huawei MT882, pero puedes utilizar la misma aplicación para cualquier modem que soporte SNMP. Habilitando el protocolo SNMP en nuestro MODEM Si bien muchos modelos de modems poseen en su pagina web una opción para habilitar el protocolo SNMP, en el caso del MT882 no lo tiene y debes hacerlo por telnet, para ello vas a seguir los siguientes pasos. ejecutas Telnet 192.168.1.254 (en mi caso esta es la direccion ip del modem a monitorear)escribes la contraseña y pulsas Enterescribes modify snmp trap enable y pulsas Entercreate snmp comm community public y pulsas Entercommit y pulsas Enter Si al tratar de ejecutar Telnet te da un error es muy seguro que el sistema operativo no tenga esta característica habilitada, para habilitar debes seguir los siguientes pasos para Windows 10 Botón derecho encima del menú inicio y seleccionar "panel de control" , o en el recuadro de búsqueda ponemos "Panel de Control" Seleccionamos "Programas" Seleccionamos "Activar o desactivar características de Windows" Seleccionamos "Cliente Telnet" (Ests pasos son gracias a @Davidsit0) Si no tienen un modem MT882, puedes buscar el modelo de tu modem y verificar si posee SNMP y de ser así habilitarlo. Una Script Básica de prueba Abrir un block de notas Escribir el siguiente codigo (vale copy/paste) IpModem = "192.168.1.254" strCommunity = "public" Set objSNMP = CreateObject("OlePrn.OleSNMP";) objSNMP.Open IpModem, strCommunity, 2, 1000 on error resume next AdslLine = objSNMP.Get(".1.3.6.1.2.1.2.2.1.8.40000";) if err.number=0 then if AdslLine=1 then ADSLStatus="Up" else ADSLStatus="Down" Else ADSLStatus = "Unknow" End If if err.number <> 0 then msgBox "¿Seguro que tienes habilitado el SNMP?" quit end if msgBox "Estado Linea ADSL : " + ADSLStatus on error goto 0 Cambiar la dirección IPMODEM por la ip de tu modem Grabar con el nombre prueba.vbs Ejecutar si todo esta bien tendría que informarte sobre el estado de tu linea ADSL como Up ó Down, si existe algun error como que te equivocas en la dirección IP del modem o el modem no tiene habilitado el rotocolo SNMP te preguntará : ¿"¿Seguro que tienes habilitado el SNMP?"?. En cuyos casos debería verificar todo. Si te funciona esta pequeña Script, podemos continuar y mejorar todo. Obteniendo Más Info del Modem En la escript anterio lo unico que preguntamos al modem es el estado de la linea ADSL, pero podemos pedir otra info como por ejemeplo la IP WAN y el GateWay asignado por el proveedor de internet, en mi caso ARNET. También le vamos a pedir que nos informe el nombre del modem, el modelo y la descripción. Para que todo quede más lindo y sea más útil lo vamos a hacer en una aplicación hta que nos permite utilizar html y vbscript. Para ello hacemos lo siguiente : Abrimos un block de notas Escribimos lo siguiente (vale copy/paste) Esta primera parte del código es para declarar los parámetros básicos de la aplicación HTA, titulo, el tipo de borde, si tiene o no tiene menú y demás parámetros Modem Status @NeCroS En esta segunda parte vamos a escribir una script muy importante que es la que se ejecuta al momento de inicial la aplicación y vamos a declara un evento que se ejecutará cada 10 segundos y actualizará los datos que obtenemos del modem Ahora que ya terminamos las scripts vamos a escribir la parte que contiene el codigo HTML, que para muchos les parecerá muy rudimentario, pero es lo más simple que se me ocurrió hacer para que todos entiendan. Se trata de una tabla, donde los parametros estan puestos como la id de un div, para luego poder modificarlo por código desde la script que pide los parámetros al modem.
Modem
Description
Wan IP
Gateway
ADSL Status
INet Status
Ahora debes grabar con el nombre snmp.hta Ejecutarlo si todo sale bien deberías ver algo como esto : Ahora, si deseas puedes darle más funcionalidad a esta aplicación agregando un botón que te permita cambiar la IP Wan, reiniciando la linea ADSL. Esto solo va a funcionar para los pobres que tenemos un adsl con ip dinámica, como por ejemplo quienes usamos ARNET. Agregando un Botón para Cambiar la IP Wan Para ello en la ultima parte de la aplicación escribimos lo siguiente que nos permitirá agregar un botón para ejecutar la escript que nos permite reiniciar la lineaADSL para que se renueve la dirección IP Wan del modem. y al último de la sección Para que esta ultima modificación funcione necesitas el archivo ChangeWanIp.vbs, este tiene que estar en el mismo directorio o carpeta que la aplicación snmp.hta. Para poder escribir el archivo ChangeWanIP.vbs puedes ver mi otro aporte: Cambiar IP Con un solo click sin Reiniciar el Modem Espero que a alguien le sea útil, en su totalidad o en alguna parcialidad. ¡Que la inteligencia siga siendo colectiva! GIF