ip地址处理模块IPy
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ip地址处理模块IPy相关的知识,希望对你有一定的参考价值。
下载以及安装:
tar -zxvf IPy-0.83.tar.gz
cd IPy-0.83
python setup.py install
可以用version的方法区分IPV4或者IPV6,如下面的代码,返回4就是ipv4,返回6就是IPV6.
>>> from IPy import IP >>> IP(‘192.0.0.0/16‘).version() 4 >>> IP(‘::2‘).version() 6 >>>
通过指定的网段输出该网段的IP个数以及IP地址的清单:
>>> import tab >>> from IPy import IP >>> ip = IP(‘192.168.1.0/24‘) >>> print ip.len() 256 >>> for x in ip: print x 192.168.1.0 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 .......
下面介绍IP类的几个常见的方法,包括反向解析域名,IP类型,IP转换等。
>>> import tab >>> from IPy import IP >>> ip = IP(‘192.168.1.107‘) >>> ip.reverseNames() [‘107.1.168.192.in-addr.arpa.‘] >>> ip.iptype() #私有地址 ‘PRIVATE‘ >>> IP(‘202.15.15.6‘).iptype() ‘PUBLIC‘ #公有地址 >>> IP("8.8.8.8").int() 134744072 #转化为整形格式 >>> IP("8.8.8.8").strHex() ‘0x8080808‘ #转换成十六进制 >>> IP("8.8.8.8").strBin() ‘00001000000010000000100000001000‘ #转换成二进制 >>> print (IP(0x8080808)) 8.8.8.8 #十六进制转换为IP格式 >>>
IP方法也支持网络地址的转换,如下:
>>> import tab >>> from IPy import IP >>> print (IP(‘192.168.1.0‘).make_net(‘255.255.255.0‘)) 192.168.1.0/24 >>> print (IP(‘192.168.1.0/255.255.255.0‘,make_net=True)) 192.168.1.0/24 >>> print (IP(‘192.168.1.0-192.168.1.255‘,make_net=True)) 192.168.1.0/24 >>>
当然也可以反过来:
>>> import tab >>> from IPy import IP >>> IP(‘192.168.1.0/24‘).strNormal(0) ‘192.168.1.0‘ >>> IP(‘192.168.1.0/24‘).strNormal(1) ‘192.168.1.0/24‘ >>> IP(‘192.168.1.0/24‘).strNormal(2) ‘192.168.1.0/255.255.255.0‘ >>> IP(‘192.168.1.0/24‘).strNormal(3) ‘192.168.1.0-192.168.1.255‘ >>>
本文出自 “天道酬勤” 博客,谢绝转载!
以上是关于ip地址处理模块IPy的主要内容,如果未能解决你的问题,请参考以下文章