#!/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