python IP处理模块 IPy
来源:互联网 发布:剑网三喵姐捏脸数据 编辑:程序博客网 时间:2024/06/04 19:18
IPy模块提供了专门针对IPV4地址与IPV6地址的类与工具,可以帮助实现计算子网掩码、网络掩码、广播地址、子网数、IP类型等。
模块的安装
可以使用pip命令
pip install IPy
也可以在网站下载
wget https://pypi.python.org/packages/source/I/IPy-0.81.tar.gz --no-check-certificatetar -zxvf IPy-0.81.tar.gz.cd IPy-0.81python setup.py install
IP类型格式与网段的处理
对于的分类可以简单的分为IPV4地址和IPV6地址,对其使用version()方法,可以获取IP的类型
>>> from IPy import IP>>> IP('125.0.0.0/8').version()4>>> IP('::1').version()6
当返回4的时候表明是一个IPV4地址,当返回是6的时候表明是一个IPV6地址。
可以使用一个for循环来输出同一网段所有的IP地址,len()方法可以获取同网段Ip的个数
IP个数
>>> testIP=IP('125.0.0.0/8')>>> testIP.len()16777216
打印所有同网段IP地址
>>> testIP=IP('127.0.0.0/30')>>> for i in testIP:... print i...127.0.0.0127.0.0.1127.0.0.2127.0.0.3
其他的一些常用的对IP类的方法
reverseNames() 返回IP的反向地址解析模式
iptype() 返回IP地址的类型
int() 将IP地址转换为整数格式
strHex() 将IP地址转换为16进制格式
strBin() 将IP地址转换为二进制格式
net() 输出其网络地址
netmask() 输出其网络掩码
都是对IP类的方法所以使用只需要在IP类后头’.’+方法名即可
对IP类的一些简单操作方法
在IP类的打印时,可以通过设置make_net参数,使其转换为网络地址
>>> print(IP('192.168.1.0').make_net('255.255.255.0'))192.168.1.0/24>>> print(IP('192.168.1.0',make_net=True))192.168.1.0>>> print(IP('192.168.1.0/255.255.255.0',make_net=True))192.168.1.0/24>>> print(IP('192.168.1.0-192.168.1.255',make_net=True))192.168.1.0/24
通过设置wantprefixlen然后使用strNormal()方法来将IP地址转换为字符串类型
官方文档是这样对wantprefixlen的参数进行注释的
wantprefixlen == 0 / None don't return anything(只返回一个IP地址) 1.2.3.0wantprefixlen == 1 /prefix 1.2.3.0/24wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0wantprefixlen == 3 -lastip () 1.2.3.0-1.2.3.255
以下是例子
>>> 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地址和网段是否在另一个网段中
IP类可以支持类似数值的比较
>>> '192.168.1.100' in IP('192.168.1.0/24')True
判断两个网段是否存在重叠,可以使用overlaps方法
>>> IP('192.168.0.0/23').overlaps('192.168.1.0/24')1>>> IP('192.168.0.0/23').overlaps('192.168.5.0/24')0
1表示存在重叠,0表示不存在重叠
- python IP 处理模块IPy
- python IP 处理模块IPy
- python IP处理模块 IPy
- python之IP地址处理模块IPy
- Python之IP处理模块IPy
- python自动化学习-实用的iP地址处理模块IPy
- Python学习笔记-IP地址处理模块Ipy
- Python自动化运维笔记(二):Python中的IP地址处理模块IPy的使用
- python自动化运维学习笔记2- 实用的IP地址处理模块IPy
- IPy处理ip地址
- python --IPy模块
- 安装python 模块IPy
- python运维之IPY模块
- windows下安装Python的IPy模块
- Python IP 的处理模块
- python 应用 IPy 计算IP/掩码的网络地址
- python 应用 IPy 计算IP/掩码的网络地址
- python IPy库
- Nginx 配置代码
- leetcode 9 Palindrome Number
- Windows + Faster R-CNN配置若干问题与解决
- Cocos2d 3.X将JS转成JSC文件
- 抽象类和接口以及二者的区别
- python IP处理模块 IPy
- TokuDB配置目录参数——脚本实现
- ubuntu安装软件出现Unable to locate package错误解决
- jsp时间插件
- VS常用快捷键
- codeforces 166-E. Tetrahedron(预处理+dp)
- JavaScript(1)
- android中XmlPullParse解析xml的用法
- ListView配合RadioButton实现单选列表