ip地址覆盖计算 python_python关于ip的计算-IPy

工作中,我们有时候会遇到要计算一个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是否被包含在一个网段中,批量判断两个网段间是否存在重叠。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值