PDA

Ver la Versión Completa : IP real...


madman
06-05-2003, 23:09:17
Hellowwwww!!! :D

Ke ondax... Este es mi primer post en el nuevo foro!

Tengo servicio de Internet por medio de una compañia X, por medio de la tarjeta de RED y un cablemodem.

Cuando uso cualquier componente o ya sea mediante codigo este me muestra la IP que tengo con dicha compañia. :confused: Pero... quisiera conocer mi IP REAL, con lo que cualquiera en cualquier lugar del ancho mundo pueda conectarse a mi computadora.

Thanx y saludos! :cool:

X-JABS
07-05-2003, 15:44:01
Que necesitas hacer, posiblemente si necesitas conectar a tu pc desde internet, puedas utilizar un programa llamado DirectUpdate, que te ofrece DNS para IP dinamicas,
algo como x-Jabs.homelinix.net, y con eso la podrias hacer mortal.. podrias colgar en tu pc un Servidor de DB, una WEB, un FTP, etc..

__hector
07-05-2003, 17:34:31
Hola,

Para saber tu IP real puedes visitar cualquiera de estas paginas:

http://ipdetect.dnspark.com/
http://dynamic.zoneedit.com/checkip.html
http://checkip.dyndns.org/
http://ip.ChangeIP.com/ip.asp
http://www.dnsart.com/myip.php
http://dynupdate.no-ip.com/ip.php
http://www.dnsart.com:7777/myip.php
http://checkip.dyndns.org:8245/

Si lo que quieres es automatizar el servicio de obtencion de IP, puedes programar un poco los sockets para hacer la peticion http al servidor, y determinar el valor del ip de acuerdo a lo que te devuelva.

__hector
07-05-2003, 18:28:34
Bueno, me sente un minuto a probar lo que te dije en teoria, y salio algo como esto:

Utilizando un ClientSocket, con las propiedades:
Name : cs
Port : 80
host: dynamic.zoneedit.com
active : true


Este es el codigo para hacer la peticion:

var
Str : string;
begin
str := 'POST http://dynamic.zoneedit.com/checkip.html HTTP/1.0'+#13#10 +
'Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */*'+#13#10 +
'Accept-Language: es'+#13#10 +
'Accept-Encoding: gzip, deflate'+#13#10 +
'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'+#13#10 +
'Proxy-Connection: Keep-Alive'+#13#10 +
''+#13#10 +
''+#13#10;
cs.Socket.SendText(str);


En el evento onRead entonces, puedes ver la propiedad receiveText para ver que te devuelve el servidor.

Str := cs.socket.ReceiveText;

Debe devolverte algo como esto:

HTTP/1.1 200 OK
Date: Wed, 07 May 2003 15:20:01 GMT
Server: Apache
Content-Length: 168
Connection: close
Content-Type: text/html

<html><head><title>Current IP Check</title></head>
<body bgcolor=white text=black>


Current IP Address: 64.32.72.149
<br>Hostname: localhost

</body></html>


Entonces, ahi solo tienes que leer la linea de CurrentIPAddress, y obtener el IP. Las posiciones son absolutas, es decir, no esperas que cambien de peticion en peticion.

madman
08-05-2003, 04:46:02
Gracias por contestar!

En este momento aplicare lo ke me komentas hektor ya te dire como me va!!

Por cierto la URL que pusiste en el ejemplo, me da una IP diferente de las demas que los otros servidores me muestran. Parece ser que es un renegado... :D

Thanx!

madman
08-05-2003, 09:45:29
Hola!

El metodo creado por Hector esta muy bien...

Muchas gracias compañero, funciona de maravilla!!

Gracias tambien a ti X-JABS, ese programita se "escucha" muy interesante... :D


Hasta la vista...

Vultur
11-02-2005, 20:26:17
Hice una adaptacion de lo que escribio Hector para el Builder C++. Lo podran encontrar en http://www.clubdelphi.com/foros/showthread.php?p=77760#post77760

Saludos

Luis