[Linuxcantabria] Obtener la IP Dinamica Remotamente

Hari Seldon hari.seldon en wanadoo.es
Vie Ene 23 01:20:43 UTC 2004


	Uhmmm muy divertido todo esto...

	Veamos, hay urls que directamente te dan la ip de tu conexión;
por ejemplo, http://www.adslayuda.com/ip.php te la da

	¿Y un script que haga la petición a esta url y "parseé" el
resultado para obtener la ip?
	Si, si, y si cambian la url de la página, o cambian la forma de
presentar la ip, bla bla bla; pero vamos, es que es simplemente hacer
una petición, capturar la respuesta como una cadena, y hacer una
búsqueda en esa cadena; se pone como variable la url a la que llamas, y
si hay que cambiar el "search" de la cadena en cuestión, no creo que
lleve más de 10 minutos en perl/php/python; y después te escribes en tu
configuración dónde necesites esa ip (que lo haga ya el propio script),
y tan ricamente oyes :)

	Vamos, no soy experto, en esto de linux soy muy novatón, pero me
parece más rápido esto (y sobre todo que solamente dependes de un
servicio que al fin y al cabo en muchas páginas dan de forma gratuíta -
y seguirán dando :) -, y el resto, es cosa de tu script :)

	Veamos, esta opción es "buena" siempre y cuándo quieras usar tu
propio dns en tu máquina, sino, la verdad es que lo más sencillo es
dyndns.org, mucho más que cualquier otra cosa.
	
	Otra puntualización, y es cómo me recordó un buen amigo el otro
día (te suena FraMe kyle? :P ), el "paso" entre capas es "lento"; o sea,
consultar un archivo con un fopen es mucho más rápido que consultar una
base de datos, muchísimo más....

	Saludos.

-----Mensaje original-----
De: linuxcantabria-bounces en linuca.org
[mailto:linuxcantabria-bounces en linuca.org] En nombre de kyle Enviado el:
jueves, 22 de enero de 2004 14:44
Para: Lista general de la Asociación Linuca
Asunto: Re: [Linuxcantabria] Obtener la IP Dinamica Remotamente


El jue, 22-01-2004 a las 13:42, RaFaK escribió:
> Hola, este es el primer mensaje que envio a esta Lista.

hola, bienvenido :-)

> Quiero montar un Servidor WeB Público, con Linux (en principio para
> uso Personal).
> 
> El problema es que, mi Router ADSL es de IP Dinamica y cada vez que lo
> reinicie cambia la ip de mi Servidor WeB.

como ya te han dicho, la solución más fácil es www.dyndns.org, pero como
me aburro y tengo tiempo libre, vamos a echar un vistazo a las opciones
posibles para no usar ese servicio ;-)

> Mi solucion preferida seria usar una de esas Bases de Datos MySQL que
> se
> ofrecen gratis en Internet (p.e: http://www.tripod.lycos.es). En este
caso mi 
> Servidor WeB se encargaria de introducir mi IP en la Base de
Datos-MySQL de 
> Tripod cada 10 min, en ese mismo espacio WeB, crear una sencilla
pagina en 
> PHP que me diga la IP que hay apuntada en la Base de Datos y ya tengo
mi 
> Preciada IP.

sí, eso es bastante factible y relativamente fácil de hacer. Yo
personalmente preferiría usar un simple fichero (total, solo tienes que
almacenar un dato) por que usar una BD para eso es matar moscas a
cañonazos.

El único problema es que no sé que restricciones aplicará lycos a la
hora de tratar ficheros (generalmente suele estar desactivada esta
posibilidad para evitar problemas de seguridad)


> Se me han ocurrido otras soluciones no menos buenas para averiguar la
> ip del
> Servidor WeB en cualquier momento y lugar:
> 
> 1º Envias un e-mail (dede cualquier cuenta), a una cuenta que tengas
> configurada en el pc donde esta el Servidor WeB, el Cliente de Correo 
> esta programado para recibir el Correo cada 5min cuando recibe el 
> e-mail comprueba que sea de mio (por algun texto/clave escrito en su 
> interior y/o Asunto ) y si es el mio, responde a la direccion del 
> Remitente con la IP Publica que acaba de ser averiguada y ya tengo mi 
> preciada IP.

sí, pero no veo por qué necesitarías usar un cliente de correo... es
decir, a veces puede ser muy tedioso encontrar un cliente de correo
decente si no estás en casa (hotmail y similares agregan una cantidad de
mierda increible a los correos). 

Además tendrías que programar un script que procesara el mail,
verificara que tú eres un usuario que puede recibir la IP y luego
mandarla... demasiado trabajo.

> 2º Un poco mas complicado, es como el primero, solo que en lugar de
> devolverte la IP por correo te la envia a un movil mediante algun 
> servidor  de SMS gratuito de los que necesitan Registro, y ya tengo mi

> Preciada IP en  el Movil.

practicamente todos los gateways de SMS están protegidos y/o no se puede
confiar en ellos. Te quedarás más veces sin saber la IP que otra cosa...

> 3º Otra solucion como la 3º solo que entrando al Servidor FTP del
> Espacio WeB Gratuito en Tripod y guardando cada 10min un simple 
> archivo, accesible desde Internet, con mi Preciada IP.

Aquí tienes el problema de averiguar tu IP pública en el servidor web.
Si estás detrás de un router o similares, no la podrás averiguar
fácilmente; es más facil que te la diga el servidor de lycos al que te
conectas (él tiene que saber por narices tu ip publica).

> Dudas:
> ¿Como averiguo la ip Pública?
> ¿Con que Cliente de Correo puedo hacer que al recibir un e-mail
> automaticamente lo responda poniendo en su interior la IP Pública? 
> ¿Como se podria enviar un SMS con una variable (IP) en su interior? 
> ¿Como puedo escribir una variable en una Base de Datos remotamente? 
> ¿Como puedo escribir un archivo de Texto en un FTP remptamente?
> 
> ¿¿¿Existe algun programa para linux que realize alguna de las 4
> funciones???

cutrescripts-hechos-en-10-segundos :

# llamar a la web en lycos para que almacene la nueva ip cada 10
minutos:

crontab -e
* */10 * * *	wget http://lycos.es/usuario/actualizaip.php


# actualizaip.php
<?php4
if  ($HTTP_X_FORWARDED_FOR != "")  # si no estamos detrás de un proxy {
	$ip =  $REMOTE_ADDR;
}
else
{
	$ip = $HTTP_X_FORWARDED_FOR;
}

# guardamos la ip en el fichero de texto

$fp = @fopen("ip.txt", "w");
fwrite($fp, $ip);
fclose($fp);
?>


ahora tenemos guardada la ip publica en un fichero tal que
http://lycos.es/usuario/ip.txt . Sabiendo esa URL, podemos ver el
fichero. Si queremos dejarlo bonito, podemos hacer un index.php que abra
ese fichero y lo muestre:

# index.php
<?php

$fp = @fopen("ip.txt", "r");
$ip = fread($fp, 4096);
fclose($fp);

echo "Tu ip publica es: <h1> $ip </h1>";

?>


Naturalmente nada de esto está probado... pero con pequeños retoques
debería funcionar ;-)



-- 
Backup no encontrado: (A)bortar, (R)eintentar, (S)uicidarse?







More information about the Linuxcantabria mailing list