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