![]() |
Conocer ip publica del router
hola,
estoy aburrido de buscar información de como saber la ip publica de mi router desde delphi pero todo lo que consigo es en php, ¿alguien sabe o tiene la solución de esto? Gracias. |
A ver si te sirve esto . . .
Saludos! |
Conocer ip publica del router
Muchas gracias, ahora mismo me vale para salir del paso. Lo que intento hacer es no depender de una web que me devuelva la ip, sino que yo pueda recuperar esa información del mismo router.
|
Cita:
|
Es probable que con snmp podás obtener el IP público del router, aunque desconozco como, te dejo la idea para que profundices en ella.
Hasta luego. ;) |
¿Qué es snmp?
// Saludos |
Bien... reconozco que debí explicarlo mejor:
SNMP = Simple Network Management Protocol Muchos dispositivos de red, como routers, impresoras y otros, pueden administrarse con este protocolo. Indy, en la paleta Indy Clients hay un componente TidSNMP con el que pueden hacerse queries a un equipo remoto. Es algo que yo no he tenido ocasión de programar, por eso simplemente lo lancé como una idea. De utilidad será el rfc1157: Simple Network Management Protocol (SNMP) y me parece que la cosa irá por el envío del query: public ip.ipAddrTable, según deduzco de lo dicho en esta página Hasta luego. ;) |
1 Archivos Adjunto(s)
La verdad es que después de la explicación de jachguate, hasta me da un poco de vergüenza sugerir esto, pero puedes utilizar el Telnet para comunicarte con el router. Lo malo que tiene este método es que, como bien dice Casimiro, tendrás adaptarlo a cada modelo de router.
En cuanto al snmp, había oído hablar de el, se que mi router lo tiene, :o pero he de reconocer que apenas se como funciona. La verdad es que me ha picado la curiosidad y lo voy a poner en mi lista de cosas para aprender ... Aquí te dejo un ejemplo de como hacerlo por telnet para un router COMTREND de telefónica (el que yo tengo). Espero que te sirva, al menos mientras no encuentres como hacerlo con snmp. Edito: El programa adjunto tiene un fallo en la función Conectar si se le pasa un nombre en vez de la ip, la función corregida seria la siguiente:
|
Gracias Juan Antonio, ya probaré en la tarde a ver si mi adsl maneja snmp.
// Saludos |
Bueno, he estado "trasteando" un poco con el snmp. El protocolo, básicamente, permite leer o escribir variables en algunos aparatos. Cada una de estas variables se identifica por OID, una secuencia de números, por ejemplo la variable sysUptime tiene el siguiente OID "1.3.6.1.2.1.1.3.0". Hasta aquí todo correcto, he conseguido leer usando la api WinSmp algunas variables (SysUptime, SysName, interfaces, etc). Pero por mucho que busco no encuentro ninguna variable que devuelva la ip del router, es mas, programas como "Interface Traffic Indicator" permiten monitorizar por snmp el trafico de red, incluso da detalles sobre cada uno de los interfaces del router, pero no la ip. Otro programa como MIB Browser con un completo listado de OIDs tampoco tiene información sobre la ip publica del router.
Todo esto me lleva a la siguiente duda ¿Se puede averiguar la ip publica del router por snmp? Si alguien esta familiarizado con el protocolo snmp, o conoce algún programa que de esa información me gustaría que lo comentase para así saber que no estoy buscando algo que no existe. Y lo que ya seria fantástico es que conociera su OID |
En este sitio encontré un snmpWalk para windows. En la oficina no tengo el equipo como para probarlo, así que esa tarea te la dejo a vos. Entiendo que el programilla recorre (con next, next) todos los valores de un dispositivo dado un prefijo, por lo que bien podríamos, por deducción, determinar el OID que nos interesa, o al menos aproximarnos a él.
Hasta luego. ;) |
jachguate el programa funciona de maravilla, me da un listado completo de la variables del router, pero lamentablemente ninguna se corresponde con la ip publica. Me da las típicas sobre el sistema, todo tipo de estadísticas sobre el trafico, una lista de los interfaces y sus direcciones MAC, pero nada de ips :(
Estoy casi seguro de que no es una de la variables estándar, puede que sea particular de algún fabricante. Pero como no lo puedo asegurar sigo esperando que alguien me ponga sobre la pista de algún programa que consiga leer ese dato. |
¿Ponemos premio al que lo consiga? :)
|
Hola
Aunque este hilo es viejito, parece que no hay una conclusion. Aqui: http://www.ajpdsoft.com/modules.php?...download&cid=1 Hay un programa con codigo en delphi que se llama Aviso cambio IP publica. Este programa trabaja con o sin router, lo he probado con diferentes router y funciona, no se si lo conoceis, pero es interesante. Saludos |
Hola Caral, si no me equivoco, el programa usa el método de consultar una página web, y si es así, el código lo puedes ver en este mismo hilo.
O usando wininet aquí |
Hola
Me parece que efectivamente llama a esta pagina http://www.ajpdsoft.com/ip.php No estoy muy seguro. El programa hace otras cosas interesantes, como enviarte un email si cambio la ip, entre otras. Bueno, la idea es aportar algo mas. Saludos |
Hola
Por cierto, otro programa interesante: http://www.lookatlan.com/ En Download, esta Look@Lan. Este muestra los equipos en la red, se conecta a ellos, muestra los puestos abiertos en cada equipo, etc. Esta interesante. Saludos |
La franja horaria es GMT +2. Ahora son las 10:50:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi