ip地址处理模块IPy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ip地址处理模块IPy相关的知识,希望对你有一定的参考价值。


下载以及安装:


下载地址:https://pypi.python.org/packages/88/28/79162bfc351a3f1ab44d663ab3f03fb495806fdb592170990a1568ffbf63/IPy-0.83.tar.gz


 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的主要内容,如果未能解决你的问题,请参考以下文章

1.Python中IP地址处理IPy模块

IP地址处理模块IPy

IP地址处理模块IPy

ip地址处理模块IPy

ip地址处理模块IPy

Python自动化运维:DNS域名轮循业务监控(IP地址处理模块IPy和DNS处理模块dnspython)