Bootstrap FreeKB - Python (Scripting) - Getting Started with ipaddress
Python (Scripting) - Getting Started with ipaddress

Updated:   |  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 Buy Me A Coffee



Comments


Add a Comment


Please enter 584823 in the box below so that we can be sure you are a human.