Book Image

Learning Python Network Programming

By : Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington
Book Image

Learning Python Network Programming

By: Dr. M. O. Faruque Sarker, Samuel B Washington, Sam Washington

Overview of this book

Table of Contents (17 chapters)
Learning Python Network Programming
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

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...