2009-05-27 38 views
8

Tengo una computadora en una red pequeña, por lo que mi ip es 192.168.2.100.Obtener mi dirección de IP

Estoy tratando de obtener mi ip real. Descargo el cliente no-ip pero eso parece un montón de problemas por algo tan simple.

Creé este script php que tiene la página http://www.ip-adress.com/ y recuperé la ip que me dio.

¿Hay alguna manera más simple? Ya sea usando C, WSH o algo. O si hay una manera más fácil en php por favor dígame.

Cuando obtengo la ip la subiré a mi sitio ftp para que pueda ver la ip del trabajo.

+0

Raspar algunos servicios externos como los que ya ha hecho es probablemente lo suficientemente bueno. Incluso podría ser la única forma. Su enrutador y/o módem a Internet sabrá su IP real. No sé cómo interactuará programáticamente con eso. – Albert

+6

http://www.whatismyip.org/ proporciona una página más simple para raspar. – Albert

+1

¿Para qué necesita su IP? Si desea una dirección estática, use DynDNS o similar. Después de eso, puede instalar servidores para sus necesidades (control remoto, HTTP/FTP/SSH ...) – schnaader

Respuesta

12

No, en realidad no hay una manera más fácil. Su computadora realmente no sabe cuál es la IP pública detrás de ella: podría haber varias capas de NAT entre ella y la red pública de Internet. Todo lo que sabe es que recibe mensajes en 192.168.2.100 y envía mensajes salientes a través de la puerta de enlace a 192.168.2.1. No tiene idea de lo que sucede después de que el paquete llega a la puerta de enlace.

2

Si desea obtener la dirección IP eventual que el sitio remoto parece al procesar su tráfico, entonces la única forma es acceder realmente a un sitio remoto. En muchas situaciones, su computadora puede no ser consciente de que la IP está siendo modificada por un proxy o un servidor NAT.

0

La forma en que lo hace es probablemente tan buena como cualquiera.

Usted dice que tiene un sitio FTP público, ¿tiene también un sitio web allí? Su otra opción es hacer que su máquina local acceda a una página php en ese sitio público. Esa página php puede verificar que eres tú y luego usar $ _SERVER ['REMOTE_ADDR'] para grabar tu IP externa.

3

No es exactamente lo que pediste, pero sigue siendo aplicable a lo que quieres. Configuré un Notificador de GMail en la computadora de mi casa y voy a la página de actividad de la cuenta para ver qué dirección IP está accediendo a mi cuenta de Google. Seguro, simple y funciona.

+0

Bonita idea :) Simple y fácil. – AntonioCS

0

Por desgracia, eres servidor lo más probable es ser completamente ajeno a lo que es propio correo electrónico externo parece ser (como podría ser fijado en una fase previa a través de algún router/gateway)

usted podría tener un vistazo a este enlace

http://ip-address.domaintools.com/myip.xml

puede ser que sea un poco más fácil de analizar que lo que está haciendo actualmente.

0

No puedo pensar en cómo resolvería su dirección IP desde la perspectiva de otra máquina. Aquí hay un par de pensamientos:

  • Automatice la carga de la dirección ip .com página y analizarlo
  • Mira DynDNS
2

siempre uso curl http://whatismyip.org para conseguir mi IP pública, mientras que detrás de NAT.

0

Su computadora no tiene información sobre ninguna NAT o enrutamiento que se lleva a cabo entre ella e Internet, excepto qué salto es el siguiente (generalmente la IP interna de su enrutador). Simplemente no sabe en qué salto se traduce la dirección interna a qué dirección pública.

Por lo tanto, no hay una función o método simple al que pueda llamar, en ningún idioma.

Las únicas dos formas son preguntarle a alguien más. ¿Cómo ?:

  • Pregúntele a su router NAT (ya que sí lo hace la traducción de una dirección IP pública) por ir a buscar y analizar la página de la derecha en el sitio de administración del router. Podría decirse que es más confiable y justo.
  • Pregunte a un host externo cómo lo ve, buscando y analizando un servicio público como http://dynamic.zoneedit.com/checkip.html. Un ejemplo en el script VB es here.
1

Cuando tengo que comprobar mi dirección IP pública, me gusta esta página web:

http://www.whatismyip.global/

El sitio mantiene un historial de tus IP ¡Para mí es muy útil!