¿Qué es una IP pública?
Una IP pública es la dirección única que identifica a tu red en Internet. A diferencia de las IPs privadas, que son utilizadas en redes internas, las IPs públicas son accesibles desde cualquier parte del mundo. Conocer tu IP pública es útil para:
- Configurar acceso remoto a servidores.
- Realizar pruebas de ping y traceroute.
- Diagnosticar problemas de conectividad.
Preparación del entorno para el script
Antes de comenzar, asegúrate de tener Python instalado en tu sistema, así como la biblioteca requests, que utilizaremos para obtener la IP pública. Si no has instalado Python, puedes seguir esta guía sobre cómo instalar Python en tu sistema.
Instalación de la biblioteca requests
Para instalar la biblioteca requests, utiliza pip, el gestor de paquetes de Python. Abre tu terminal y ejecuta el siguiente comando:
pip install requests
Creación del script
Una vez tengas todos los requisitos instalados, es hora de crear el script. Abre tu editor de código favorito y crea un nuevo archivo llamado comprobar_ip.py. A continuación, inserta el siguiente código:
import requests
def obtener_ip_publica():
try:
respuesta = requests.get("https://api.ipify.org?format=json")
respuesta.raise_for_status() # Lanza un error si la respuesta no es exitosa
ip = respuesta.json()["ip"]
return ip
except requests.exceptions.RequestException as e:
print(f"Ocurrió un error al obtener la IP: {e}")
return None
if __name__ == "__main__":
ip_publica = obtener_ip_publica()
if ip_publica:
print(f"Tu IP pública es: {ip_publica}")
Explicación del código
Vamos a desglosar el código para entender cómo funciona:
import requests: Importamos la bibliotecarequestspara hacer peticiones HTTP.def obtener_ip_publica():: Definimos una función que se encargará de consultar la IP pública.respuesta = requests.get(...): Hacemos una petición GET a la API de ipify, que devuelve la IP pública en formato JSON.return ip: Devolvemos la IP pública extraída del JSON.- El bloque
if __name__ == "__main__":asegura que el script se ejecute solo si se ejecuta directamente, no al importarlo como módulo.
Ejecutando el script
Para ejecutar el script, simplemente abre tu terminal, navega hasta el directorio donde guardaste comprobar_ip.py y ejecuta el siguiente comando:
python comprobar_ip.py
Deberías ver un mensaje que imprime tu IP pública en la consola.
Extensiones del script
Puedes modificar el script para que realice tareas adicionales, como guardar la IP en un archivo o enviarla a un correo. Aquí tienes dos ejemplos de cómo puedes ampliar su funcionalidad:
Guardar IP en un archivo
A continuación, es un ejemplo que guarda la IP pública en un archivo llamado ip_publica.txt:
with open("ip_publica.txt", "w") as archivo:
archivo.write(f"Tu IP pública es: {ip_publica}\n")
Enviar IP a un correo electrónico
Puedes utilizar la biblioteca smtplib de Python para enviar un correo con la IP pública. Sin embargo, necesitarás configurar un servidor SMTP y credenciales. Este es solo un ejemplo de cómo se implementaría:
import smtplib
from email.mime.text import MIMEText
def enviar_correo(ip):
msg = MIMEText(f"Tu IP pública es: {ip}")
msg['Subject'] = 'Tu IP Pública'
msg['From'] = 'tu_email@example.com'
msg['To'] = 'destinatario@example.com'
with smtplib.SMTP('smtp.example.com', 587) as servidor:
servidor.starttls()
servidor.login('tu_email@example.com', 'tu_contraseña')
servidor.send_message(msg)
Conclusiones
Crear un script para comprobar tu IP pública es una tarea sencilla que puede resultar muy útil. A través de este tutorial, has aprendido a utilizar Python y requests para consultar una API y extraer información valiosa. Desde aquí, puedes expandir este script para que realice diferentes funciones que se ajusten a tus necesidades específicas.

Deja una respuesta