Python IP 的处理模块

IPY

   ip的处理方面经常需要处理 大量的IP地址。包括网络性能,网络掩码,广播地址,子网数,IP类型进行判断。IPy 模块就可以很好的解决这个问题。


安装方式

# pip install IPy


判断 ip 的类型

>>> from IPy import IP
>>> ip = IP('192.168.1.2')
>>> ip.version()
4
>>> ip.iptype()
'PRIVATE'

计算一个网段内的ip地址的个数,并且再全部列出来。

>>> ip = IP('192.168.0.0/30')
>>> print(ip.len())
4
>>> for x in ip:
...     print(x)
... 
192.168.0.0
192.168.0.1
192.168.0.2
192.168.0.3


根据IP与掩码生成网段的格式

>>> from IPy import IP
>>> print(IP('192.168.1.1').make_net('255.255.255.0'))
192.168.1.0/24

判断一个网段(一个网段是否包含关系)

>>> IP('192.168.1.0/24').strNormal(3)
'192.168.1.0-192.168.1.255'
>>> 
>>> 
>>> '192.168.1.100' in IP('192.168.1.0/24')
True
>>> 
>>> 
>>> IP('192.168.1.0/24') in IP('192.168.0.0/16')
True

(一个网段是否重叠关系)

1代表重叠,0代表不重叠

>>> IP('192.168.1.0/24').overlaps('192.168.2.0')
0
>>> IP('192.168.0.0/23').overlaps('192.168.2.0')
0
>>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')
1





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章