#!/usr/bin/env python
from IPy import IP
ip_s = raw_input('please input an IP or net-range:')
ips = IP(ip_s)
if len(ips) > 1:
print('net: %s' % ips.net())
print('netmask: %s' % ips.netmask())
print('broadcast: %s' % ips.broadcast())
print('reverse address: %s' % ips.reverseNames()[0])
print('subnet: %s' % len(ips))
else:
print('reverse address: %s' % ips.reverseNames()[0])
print('hexadecimal: %s' % ips.strHex())
print('binary ip: %s' % ips.strBin())
print('iptype: %s' % ips.iptype())
1.please input an IP or net-range:192.168.20.140
reverse address: 140.20.168.192.in-addr.arpa.
hexadecimal: 0xc0a8148c
binary ip: 11000000101010000001010010001100
iptype: PRIVATE
2.please input an IP or net-range:192.168.20.0/24
net: 192.168.20.0
netmask: 255.255.255.0
broadcast: 192.168.20.255
reverse address: 20.168.192.in-addr.arpa.
subnet: 256