Programa para la utilización de la clase ipaddress:
import ipaddress
ip = ipaddress.IPv4Address('224.0.0.1')
print("Bits en la IP:", ip.max_prefixlen)
print("Multicast:", ip.is_multicast)
print("Privada:", ip.is_private)
print("Pública:", ip.is_global)
print("No es específica:", ip.is_unspecified)
print("Reservada:", ip.is_reserved)
print("Loopback:", ip.is_loopback)
print("Uso local:", ip.is_link_local)
ip1 = ip + 1
print("IP siguiente:", ip1)
ip2 = ip - 1
print("IP anterior:", ip2)
print(ip1 , "mayor que", ip2, ":", ip1 > ip2)
Bits en la IP: 32 Multicast: True Privada: False Pública: True No es específica: False Reservada: False Loopback: False Uso local: False IP siguiente: 224.0.0.2 IP anterior: 224.0.0.0 224.0.0.2 mayor que 224.0.0.0 : True
Programa IP con máscara.
import ipaddress
network = ipaddress.IPv4Network("192.168.1.0/24")
print("Dirección de la red:", network.network_address)
print("Dirección de broadcast:", network.broadcast_address)
print("Máscara de red:", network.netmask)
print("Red y máscara de red:", network.with_netmask)
print("Red y máscara de host:", network.with_hostmask)
print("Longitud de la máscara de red", network.prefixlen)
print("Máximo número de equipos en la red:", network.num_addresses)
print("La red 192.168.0.0/16 la contiene:", network.overlaps(ipaddress.IPv4Network("192.168.0.0/16")))
print("Supernet:", network.supernet(prefixlen_diff=1))
print("La red es una subnet de 192.168.0.0/16:",network.subnet_of(ipaddress.IPv4Network("192.168.0.0/16")))
print("La red es una supernet de 192.168.0.0/16:",network.supernet_of(ipaddress.IPv4Network("192.168.0.0/16")))
print("Comparar con 192.168.0.0/16:",network.compare_networks(ipaddress.IPv4Network("192.168.0.0/16")))
Dirección de la red: 192.168.1.0 Dirección de broadcast: 192.168.1.255 Máscara de red: 255.255.255.0 Red y máscara de red: 192.168.1.0/255.255.255.0 Red y máscara de host: 192.168.1.0/0.0.0.255 Longitud de la máscara de red 24 Máximo número de equipos en la red: 256 La red 192.168.0.0/16 la contiene: True Supernet: 192.168.0.0/23 La red es una subnet de 192.168.0.0/16: True La red es una supernet de 192.168.0.0/16: False Comparar con 192.168.0.0/16: 1
import socket
host = socket.gethostname()
ip = socket.gethostbyname(host)
print ("Nombre del equipo: %s" %host)
print ("Dirección IP: %s" %ip)
Nombre del equipo: hp-i3-portatil-jj Dirección IP: 192.168.56.1
import ipaddress
import socket
direcciones = socket.getaddrinfo(socket.gethostname(), None)
for ip in direcciones:
# ip_ver = ipaddress.ip_address(str(ip[4][0]))
# if ip_ver.version == 4:
print (ip[4][0])
fe80::5169:b636:1b77:bf70 fe80::d6cf:2c21:8c00:a237 fe80::f7e6:ead7:2bac:cad0 192.168.56.1 192.168.20.88 172.25.208.1