Extracting an IPv6 prefix from an IPv6 address
In your IPv6 application, you need to dig out the IPv6 address for getting the prefix information. Note that the upper 64-bits of an IPv6 address are represented from a global routing prefix plus a subnet ID, as defined in RFC 3513. A general prefix (for example, /48
) holds a short prefix based on which a number of longer, more specific prefixes (for example, /64
) can be defined. A Python script can be very helpful in generating the prefix information.
How to do it...
We can use the netifaces
and netaddr
third-party libraries to find out the IPv6 prefix information for a given IPv6 address.
Make sure to have netifaces
and netaddr
installed in your system:
$ pip install netaddr
The program is as follows:
#!/usr/bin/env python # Python Network Programming Cookbook, Second Edition -- Chapter - 3 # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with/without modifications. # This program depends on Python...