Python (Scripting) - Getting Started with ipaddress
by
Jeremy Canfield |
Updated: April 01 2024
| Python (Scripting) articles
The ipaddress module can be used to do something with IP Addresses, Subnet Masks, Default Gateway, Broadcast Address, and so on.
#!/usr/bin/python3
import ipaddress
network = ipaddress.IPv4Network('10.0.0.20/255.255.255.0', strict=False)
print(f"network = {network}")
print(f"network.broadcast_address = {network.broadcast_address}")
print(f"network.compressed = {network.compressed}")
print(f"network.exploded = {network.exploded}")
print(f"network.hostmask = {network.hostmask}")
print(f"network.max_prefixlen = {network.max_prefixlen}")
print(f"network.is_link_local = {network.is_link_local}")
print(f"network.is_loopback = {network.is_loopback}")
print(f"network.is_multicast = {network.is_multicast}")
print(f"network.is_private = {network.is_private}")
print(f"network.is_reserved = {network.is_reserved}")
print(f"network.is_unspecified = {network.is_unspecified}")
print(f"network.netmask = {network.netmask}")
print(f"network.network_address = {network.network_address}")
print(f"network.num_addresses = {network.num_addresses}")
print(f"network.prefixlen = {network.prefixlen}")
print(f"network.version = {network.version}")
print(f"network.with_hostmask = {network.with_hostmask}")
print(f"network.with_netmask = {network.with_netmask}")
print(f"network.with_prefixlen = {network.with_prefixlen}")
Which should return the following.
network = 10.0.0.0/24
network.broadcast_address = 10.0.0.255
network.compressed = 10.0.0.0/24
network.exploded = 10.0.0.0/24
network.hostmask = 0.0.0.255
network.max_prefixlen = 32
network.is_link_local = False
network.is_loopback = False
network.is_multicast = False
network.is_private = True
network.is_reserved = False
network.is_unspecified = False
network.netmask = 255.255.255.0
network.network_address = 10.0.0.0
network.num_addresses = 256
network.prefixlen = 24
network.version = 4
network.with_hostmask = 10.0.0.0/0.0.0.255
network.with_netmask = 10.0.0.0/255.255.255.0
network.with_prefixlen = 10.0.0.0/24
Did you find this article helpful?
If so, consider buying me a coffee over at