
上QQ阅读APP看书,第一时间看更新
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 # Python Network Programming Cookbook,
Second Edition -- Chapter - 1 # 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.
inet_aton(ip_addr) unpacked_ip_addr = socket.inet_ntoa
(packed_ip_addr) print ("IP Address: %s => Packed: %s,
Unpacked: %s" %(ip_addr,
hexlify(packed_ip_addr),
unpacked_ip_addr)) if __name__ == '__main__': convert_ip4_address()
Now, if you run this recipe, you will see the following output:
$ python 1_3_ip4_address_conversion.py IP Address: 127.0.0.1 => Packed: 7f000001, Unpacked:
127.0.0.1 IP Address: 192.168.0.1 => Packed: c0a80001, Unpacked: 192.168.0.1