您的位置:首页 > 其它

IP地址处理模块IPy之IP地址、网段基本处理

2015-09-04 14:36 309 查看
一、安装IPy
wget http://www.mylinuxer.com/down/IPy-0.82a.tar.gz [root@localhost opt]# tar -zxvf IPy-0.82a.tar.gz
[root@localhost opt]# cd python-ipy-IPy-0.82a/
[root@localhost python-ipy-IPy-0.82a]# python setup.py install

二、IP地址、网段基本处理
[root@localhost ~]# python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from IPy import IP
>>> ip=IP('192.168.0.0/16')
>>> print ip.len() #输出该网段的IP个数
65536
>>> ip=IP('192.168.1.108')
>>> ip.reverseNames() #反向解析地址格式

['108.1.168.192.in-addr.arpa.']
>>> ip.iptype() #返回网络类型

'PRIVATE'
>>> ip.int() #返回十进制格式

3232235884
>>> ip.strHex() #返回十六进制格式

'0xc0a8016c'
>>> ip.strDec()

'3232235884'
根据IP与掩码生成网段格式
>>> ip.make_net('255.255.0.0')

IP('192.168.0.0/16')
>>> print(IP('192.168.1.108/255.255.255.0',make_net=True))

192.168.1.0/24
>>> print(IP('192.168.1.108/255.255.0.0',make_net=True))
192.168.0.0/16
>>> print(IP('192.168.1.0-192.168.1.255',make_net=True))
192.168.1.0/24
通过strNormal方法指定不同的wantperfixlen参数值以定制不同输出类型的网段,输出类型为字符串。
>>> IP('192.168.1.0/24').strNormal(0)
'192.168.1.0'
>>> IP('192.168.1.0/24').strNormal(1)
'192.168.1.0/24'
>>> IP('192.168.1.0/24').strNormal(2)
'192.168.1.0/255.255.255.0'
>>> IP('192.168.1.0/24').strNormal(3)
'192.168.1.0-192.168.1.255'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IP地址处理