IPy对网段的处理

引用

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    代表不存在重叠

猜你喜欢

转载自www.cnblogs.com/zz27zz/p/9686496.html
今日推荐