码迷,mamicode.com
首页 > 编程语言 > 详细

python关于ip的计算-IPy

时间:2015-05-11 18:18:37      阅读:183      评论:0      收藏:0      [点我收藏+]

标签: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

python关于ip的计算-IPy

标签:ipy   python ipy   ip包含   ip重叠   

原文地址:http://zhuangweihong.blog.51cto.com/8808431/1650095

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!