<?php
$ip = $SERVER[’REMOTEADDR’];
echo “Tu dirección IP externa: $ip”;
?>

Esta receta explica formas de conocer la IP pública con la que te estás concectando a Internet

Si utilizas un router o algo del estilo que incorpore un servidor DHCP, la dirección asignada a tu ordenador con toda seguridad será una dirección IP privada Pero a veces, es necesario conocer cuál es la IP pública con la que sales a Internet, con el fin de configurar un cliente DNS dinámico u otro tipo de aplicación específica.

Para conocerla puedes usar alguno de estos métodos:

Shell

lynx -dump http://checkip.dyndns.org/ | grep IP | awk {'print $4'}
$ curl -s checkip.dyndns.org | grep -Eo '[0-9\.]+'

Shell (avisa por mail)

#!/bin/bash
# Requiere los paquetes "mailx" y "lynx"
# Te envía un email cada vez que te cambia la IP pública. Ejecutar en background

while true
do
    old_ip="`cat ~/public.ip 2> /dev/null`"
    new_ip="`lynx -source http://www.whatismyip.com/ | grep '&lt;TITLE>' | awk '{print $4}'`"

    if [ "$old_ip" != "$new_ip" ]; then
        echo $new_ip | mail tu@email.com -s "Tu IP ha cambiado"
        echo $new_ip > ~/public.ip
    fi
    sleep 60
done

PHP

<?php
echo "Tu dirección IP externa es: ", $_SERVER['REMOTE_ADDR'];
?>


blog comments powered by Disqus