引用
from IPy import *
ip = IP('192.168.0.0/16')
print ip.len() #65536 网段的长度
for i in ip:
print i #输出所有这个网段的ip地址
ip = IP('192.168.10.20')
print ip.iptype() # 公有'PUBLIC' 私有'PRIVATE'
IP('8.8.8.8').int() #转成十进制数字
IP('8.8.8.8').strHex() #转换成8进制数字
IP('8.8.8.8').strBin() #转换成2进制数字
IP('0x8080808') #把8进制数字转换成IP地址
根据掩码计算出ip网段
IP('192.168.1.0').make_net('255.255.255.0') #输出192.168.1.0/24
IP('192.168.1.0/24').strNormal(0) #无返回'192.168.1.0'
IP('192.168.1.0/24').strNormal(1) #prefix格式,'192.168.1.0/24'
IP('192.168.1.0/24').strNormal(2) #decimalnetmask格式,'192.168.1.0/255.255.255.0'
IP('192.168.1.0/24').strNormal(3) #lastIP格式,'192.168.1.0-192.168.1.255'
多网络计算
IP比较
IP('10.9.1.0/24') < IP('10.9.2.0/24') #返回True
'192.168.2.100' in IP('192.168.2.0/24') #返回True
'192.168.1.0/24' in IP('192.168.0.0/16')
判断是否重叠
IP('192.168.0.0/23').overlaps('192.168.1.0/24') #返回1 代表存在重叠
IP('192.168.1.0/24').overlaps('192.168.2.0/24') #返回0 代表不存在重叠