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.
El módulo ipaddress
es parte de la biblioteca estándar de Python, por lo que no requiere instalación adicional:
import ipaddress
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
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
Puedes iterar sobre todas las direcciones de una red:
for ip in ipaddress.ip_network("192.168.1.0/29"):
print(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
Puedes obtener la representación en binario de una IP:
ip = ipaddress.ip_address("192.168.1.1")
print(bin(int(ip))) # '0b11000000101010000000000100000001'
ipaddress
: https://docs.python.org/3/library/ipaddress.html
Jorge García
Fullstack developer