Veamos unos cuantos comandos en GNU/Linux para averiguar cual es nuestra dirección IP, tanto pública como privada.
En ocasiones nos interesa saber cual es nuestra dirección IP local o pública. Veamos en este artículo algunos comandos que nos ayudarán a conseguir esa información.
Este artículo es una traducción de uno escrito en inglés por Archit Modi para la web opensource.com publicado bajo licencia CC-by-sa que puedes leer en este enlace:
Aunque hay webs que ofrecen esa y mucha otra información, siempre está bien echar mano de un comando de estos que funciona en cualquier entorno de escritorio e instalando la utilidad necesaria, en cualquier distro de GNU/Linux.
Las siglas IP vienen de Internet Protocol, que nos necesita presentación, ya que es lo que usamos diariamente. Incluso si no lo usas directamente, cuando escribes el enlace a mi web en tu navegador web, este busca la dirección IP que tiene y carga por ejemplo este artículo.
Podemos dividir las direcciones IP en dos categorías: privadas y públicas. Las direcciones IP privadas son aquellas que tu router wifi da a cada elemento que se conecta en la red wifi de tu casa. Van en el rango de 10.x.x.x, 172.16.x.x-172.31.x.x o 192.168.x.x, donde x puede tener un valor de 0 hasta 255. Sólo desde la red interna se puede acceder mediante esa IP al elemento.
Las direcciones públicas, como el nombre sugiere, son «públicas» y son aquellas a las que puedes acceder desde cualquier parte del mundo. Cada sitio web tiene una dirección IP única que puede ser accedida por cualquiera en cualquier sitio.
Además hay otros dos tipos de direcciones IP: IPv4 y IPv6.
Las direcciones IPv4 tienen el siguiente formato: x.x.x.x, donde x puede valer desde 0 a 255. Esto hace 2^32 posibilidades, aproximadamente 4 billones de direcciones posibles IPv4.
Las direcciones IPv6 tienen un formato más complejo ya que utiliza números hexadecimales. El total de bits es 128 lo que significa que hay 2^128 posibilidades diferentes, lo que da un número extremadamente grande direcciones IPv6 posibles.
Es recomendable no dar a conocer cual es nuestra dirección IP pública a nadie. Tu router en casa tiene una dirección IP pública, todos los elementos conectados a este tendrán una dirección IP privada que les da el router.
Por ejemplo mi portátil está conectado con la dirección IP 192.168.0.5, y mi teléfono está conectado con la dirección 192.168.0.8. Estas son sus direcciones IP privadas que les ha otrogado el router, pero ambos tienen la misma dirección IP pública con la que salen al exterior.
Los siguientes comandos te darán la información de tu dirección IP pública de tu router conectado a Internet:
curl ifconf
ig.mecurl -4/-6 icanhazip.com
curl ipinfo.io/ip
curl api.ipify.org
curl checkip.dyndns.org
dig +short myip.opendns.com @resolver1.opendns.com
host myip.opendns.com resolver1.opendns.com
curl ident.me
curl bot.whatismyipaddress.com
curl ipecho.net/plain
Los siguiente comandos te darán la información de la IP privada de tus equipos conectados a la red de tu casa:
ifconfig -a
ip addr (ip a)
hostname -I | awk '{print $1}'
ip route get 1.2.3.4 | awk '{print $7}'
nmcli -p device show
Nota: Depende de la distro que utilices, quizás necesitas instalar algunas utilidades. También advertir que algunos comandos utilizan sitios web de terceros para ofecer la información de la dirección IP.
—————————————————–
Muy buena esa recopilación de comandos, Victorhck.
El primero de ellos a mi me funciona si le pongo “curl” delante.
Saludos desde Málaga.
Hola! Si me pareció interesante y lo quise compartir. Saludos y gracias por comentar
ifconfig.me Is incomplete
It should be
curl ifconfig.me
Yep you are right!
Thanks for the fix!
Greetings!
En alguna distribución rara o menos común he tenido que configurar la reda a mano con el terminal y un editor de textos.
Según que distribución se hace en unos archivos u otros, en algunos es /etc/network/interfaces, otros pueden ser /etc/init.d/network, en Opensuse 42.3 es /etc/resolv.conf.
Lo que hay que poner es algo así
auto eth0
iface eth0 inet static
address 193.144.84.77
netmask 255.255.255.0
network 193.144.84.0
broadcast 193.144.84.255
gateway 193.144.84.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 193.144.75.9
dns-search dec.usc.es
name Tarjeta de red Ethernet
Evidentemente lo de addres, netmask, network etc.. ya depende de la red de cada uno que tenga en casa, trabajo etc..
En realidad para obtener la ip pública, siempre en necesario conectar a una web externa que es la que da los datos de tu acceso.
Si en lugar de acceder desde la terminal accedes desde un navegador a las direcciones web de la primera lista te facilitan los datos de tu ip pública y alguna de ellas de todos los datos que facilitas al navegar.
sep