标签:ipy python ipy ip包含 ip重叠
工作中,我们有时候会遇到要计算一个ip或者网段是否在另一个网段中。有时候会判断两个网段是否重叠。这时使用IPy会方便很多。
下列的shell是IPy的安装:
cd /usr/local wget https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz --no-check-certificate tar -zxvf IPy-0.81.tar.gz cd IPy-0.81 python setup.py install
IPy的方便性:
1: IP(‘10.0.0.0/8‘).version() #获取IP的类型
2:
ip = IP(‘192.168.0.0/16‘) print ip.len() #有多少个ip for x in ip: print(x) #分别打印出每个ip
3:
IP(‘8.8.8.8‘).iptype() #ip的类型 IP(‘8.8.8.8‘).int() #转换成整形 IP(‘8.8.8.8‘).strHex() #转换成十六进制 IP(‘8.8.8.8‘).strBin() #转换成二进制 print(IP(0x8080808)) #十六进制转换成ip
4:
IP(‘192.168.1.0/24‘).strNormal(1) #输出/24格式 IP(‘192.168.1.0/24‘).strNormal(2) #输出掩码格式 IP(‘192.168.1.0/24‘).strNormal(3) #输出广播地址格式
5:
IP(‘192.168.1.0/24‘) in IP(‘192.168.0.0/16‘) #192.168.1.0/24是否在192.168.0.0/16位里面
6:
IP(‘192.168.1.0/24‘).overlaps(‘192.168.2.0/24‘) #网段不存在重叠 返回0(如果重叠,则返回0)
通过以上的记录,我们在工作中可以解决的问题是:批量判断ip的类型;批量把ip转换成自己想要的格式,批量判断一个ip是否被包含在一个网段中,批量判断两个网段间是否存在重叠。
本文出自 “庄伟鸿” 博客,请务必保留此出处http://zhuangweihong.blog.51cto.com/8808431/1650095
标签:ipy python ipy ip包含 ip重叠
原文地址:http://zhuangweihong.blog.51cto.com/8808431/1650095