作者:走着走着就丢啦 | 来源:互联网 | 2023-10-14 09:47
工作中,我们有时候会遇到要计算一个ip或者网段是否在另一个网段中。有时候会判断两个网段是否重叠。这时使用IPy会方便很多。下列的shell是IPy的安装:cdusrlocalwg
工作中,我们有时候会遇到要计算一个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 ,一般计算子网的数量直接减2即可
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/1650097
python关于ip的计算-IPy