Muchas veces cuando compruebo por ejemplo los registros de acceso o de error, necesito saber mi dirección IP pública o externa (actualmente la mayoría de la gente ya debería utilizar NAT en casa porque su enrutador del acceso del Internet lo configura fuera de la caja de modo que no puedan simplemente usar ifconfig o ipconfig para ver qué dirección IP está en uso).
Para hacerlo tendrías más o menos dos opciones:
- Recuperar la dirección IP pública del enrutador, o
- Consultar a un servidor externo para proporcionarme la dirección IP externa que utilizaría para acceder a ese servidor.
Dado que los enrutadores vienen en muchas marcas, tipos y sistemas operativos, generalmente no es posible recuperar ninguna información de una manera estándar. Además, puedes ser un simple usuario de la red que no es responsable de la administración de la red y, como tal, no tendría acceso al enrutador para empezar.
Por lo tanto, eso nos deja con la segunda opción. Existen muchos sitios web que proporcionan un servicio para que conozcas tu dirección IP remota, opcionalmente con información adicional, como tu ubicación, navegador, idiomas admitidos, tamaño de pantalla y qué no. Para mí los sitios más utilizados son whatsmyip.net, whatsmyip.org y whatsmyip.com, pero hay muchos más.
Sin embargo, soy demasiado vago para abrir una pestaña en mi navegador y escribir cualquiera de esas URL, para mi sale más rápido con la línea de comandos ... ☺
En su lugar he escrito un sencillo script PHP para ayudarme con eso. El resultado es in.je/ip, que puedes usar fácilmente usando curl o wget:
- curl in.je/ip
- wget -qO - in.je/ip
Por ejemplo:
jeroen@dev:~$ time curl in.je/ip 66.249.76.156 real 0m0.103s user 0m0.007s sys 0m0.007s
Por lo tanto, cumple con el primer requisito de funcionamiento desde la línea de comandos, donde además por ejemplo lo puedes canalizar a un programa diferente si es necesario.
Además, soporta diferentes tipos de datos y formatos de salida, como binario, DNS, información GeoIP, HTML, Javascript, PHP, scripts de shell, API, XML o SOAP interfaces, etc.
jeroen@dev:~$ curl in.je/ip/rdns crawl-66-249-76-156.googlebot.com
Puedes leer más sobre todas las funciones en in.je/ip.
¡Aprovéchalo!
Si tienes alguna mejora o sugerencia para compartir, por favor deja un mensaje a través del siguiente enlace.