objectif
Vérifier adresses IPv4/IPv6 et appartenance à un réseau.
code minimal
import ipaddress
net = ipaddress.ip_network("192.168.0.0/24")
ip = ipaddress.ip_address("192.168.0.42")
print(ip in net) # attendu: True
utilisation
import ipaddress
try:
ipaddress.ip_address("999.0.0.1")
except ValueError:
print(True) # invalide
variante(s) utile(s)
import ipaddress
n6 = ipaddress.ip_network("2001:db8::/32")
ip6 = ipaddress.ip_address("2001:db8::1")
print(ip6 in n6)
notes
- ip_network accepte str et int; strict=False pour des hôtes avec masque.
- Toujours attraper ValueError sur entrée utilisateur.