Converting an IPv4 address to different formats
When you would like to deal with low-level network functions, sometimes, the usual string notation of IP addresses are not very useful. They need to be converted to the packed 32-bit binary formats.
How to do it...
The Python socket library has utilities to deal with the various IP address formats. Here, we will use two of them: inet_aton() and inet_ntoa().
Let us create the convert_ip4_address() function, where inet_aton() and inet_ntoa() will be used for the IP address conversion. We will use two sample IP addresses, 127.0.0.1 and 192.168.0.1.
Listing 1.3 shows ip4_address_conversion as follows:
#!/usr/bin/env python
# This program is optimized for Python 2.7.12 and
Python 3.5.2.
# It may run on any other version with/without
modifications.
import socket
from binascii import hexlify
def convert_ip4_address():
for ip_addr in ['127.0.0.1', '192.168.0.1']:
packed_ip_addr = socket.
...