Volver a la página principal
domingo 23 febrero 2025
10

Cómo trabajar con direcciones IP en Python con ipaddress

El módulo ipaddress en Python permite manipular direcciones IPv4 e IPv6 de forma sencilla, permitiendo validaciones, conversiones y operaciones con redes. Es útil para gestionar direcciones IP en aplicaciones de redes y seguridad.

Importación del módulo

El módulo ipaddress es parte de la biblioteca estándar de Python, por lo que no requiere instalación adicional:

import ipaddress

Crear y validar direcciones IP

Puedes crear objetos de dirección IP y verificar si son válidos:

import ipaddress

ip = ipaddress.ip_address("192.168.1.1")
print(ip.is_private)  # True (IP privada)

Para IPv6:

ipv6 = ipaddress.ip_address("2001:db8::1")
print(ipv6.version)  # 6

Trabajar con redes IP

Puedes definir redes y verificar si una IP pertenece a ellas:

import ipaddress

red = ipaddress.ip_network("192.168.1.0/24")
print("192.168.1.100" in red)  # True

Generar todas las direcciones de una red

Puedes iterar sobre todas las direcciones de una red:

for ip in ipaddress.ip_network("192.168.1.0/29"):
    print(ip)

Comparar direcciones IP

Puedes comparar direcciones para verificar cuál es mayor o menor:

ip1 = ipaddress.ip_address("192.168.1.1")
ip2 = ipaddress.ip_address("192.168.1.10")

print(ip1 < ip2)  # True

Convertir IP a binario

Puedes obtener la representación en binario de una IP:

ip = ipaddress.ip_address("192.168.1.1")
print(bin(int(ip)))  # '0b11000000101010000000000100000001'

Referencias

Etiquetas:
python
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer