Manipulating IP addresses
Often you will need to manipulate IP addresses and perform some sort of operations on them. Python3 has a built-in ipaddress
module to help you in carrying out this task. It has convenient functions for defining the IP addresses and the IP networks and for finding lots of useful information. For example, if you would like to know how many IP addresses exist in a given subnet, for instance, 10.0.1.0/255.255.255.0
or 10.0.2.0/24
, then you can find them with the help of the code snippet shown here. This module will provide several classes and factory functions; for example, the IP address and the IP network has separate classes. Each class has a variant for both IP version 4 (IPv4) and IP version 6 (IPv6). Some of the features have been demonstrated in the following section:
IP network objects
Let us import the ipaddress
module and define a net4
network.
>>> import ipaddress as ip >>> net4 = ip.ip_network('10.0.1.0/24')
Now, we can find some useful...