Python自动化运维之IP地址处理模块详解


Posted in Python onDecember 10, 2017

实用的IP地址处理模块IPy

在IP地址规划中,涉及到计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等

别担心,Ipy模块拯救你。Ipy模块可以很好的辅助我们高效的完成IP的规划工作。

功能:辅助我们高效的完成IP的规划工作

安装:

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

IP地址、网段的基本处理:

使用方法:

#from IPy import IP
#ip_1 = IP('192.168.1.0/24')
#print(ip_1.len()) # 输出192.168.1.0/24网段的IP个数
#for a in ip_1: 
# print(a) # 输出192.168.1.0/24网段的所有IP清单

IP地址的转化:

#from IPy import IP 
#ip_2 = IP('192.168.1.1') 
#ip_2.reverseNames() # 反响解析地址格式
#ip_2.iptype() # 查看IP地址类型
#ip_2.int() # 将格式转换为整型格式
#ip_2.strHex() # 将格式转换为16进制格式
#ip_2.strBin() # 将格式转换为2进制格式 
#print(IP(0x8188808)) # 将16进制转化为IP格式

IP网段的转化:

#from IPy import IP
# 输出192.168.1.0/24 
#print(IP('192.168.1.0').make_net('255.255.255.0')) 
#print(IP('192.168.1.0/255.255.255.0',make_net=True)) 
#print(IP('192.168.1.0-192.168.1.255',make_net=True)) 
# 通过strNormal() 方法指定上述三种格式的输出: 
#print(IP('192.168.1.0/24').strNormal(0)) # 参数(wantprefixlen)为0,无返回,输出192.168.1.0
#print(IP('192.168.1.0/24').strNormal(1)) # 参数(wantprefixlen)为1,prefix格式,输出192.168.1.0/24 
#print(IP('192.168.1.0/24').strNormal(2)) # 参数(wantprefixlen)为2,decimalnetmask格式,输出192.168.1.0/255.255.255.0 
#print(IP('192.168.1.0/24').strNormal(3)) # 参数(wantprefixlen)为3,lastIP格式,输出192.168.1.0-192.168.1.255

多网络计算方法:

功能:比较两个网段是否存在包含、重叠等关系,比如192.168.1.0/24 和192.168.1.0/25;192.168.0.0/24 和192.168.1.0/24

使用方法:

#from IPy import IP
#IP('192.168.0.0/24')<IP('192.168.1.0/24')
# 判断IP地址和网段是否包含于另一个网段中
#'192.168.1.1' in IP('192.168.1.0/24') 
# 判断两个网段是否存在重叠,使用overlaps()方法 
#IP('192.168.0.0/23').overlaps('192.168.1.0/24') # 返回1,表示重叠 
#IP('192.168.1.0/24').overlaps('192.168.2.0/24') # 返回0,表示没有重叠

根据输入的IP地址或网段地址,返回网络地址、广播地址、地址反响解析、子网数、IP类型等信息:

#from IPy import IP 
#ip_inp=raw_input('输入IP地址或网段地址')
#ip=IP(ip_inp)
#if len(ip)>1: # 是一个网段
# print('网络地址是:%s' %ip.net())
# print('子网掩码是:%s' %ip.netmask())
# print('广播地址是:%s' %ip.broadcast())
# print('地址反向解析:%s' %ip.reverseName()[0])
# print('网络子网数为:%s' %sip.len()) 
#else: # 是一个IP地址 
# print('IP地址反向解析:%s' %ip.reverseName()[0])
#
#print('16进制地址:%s' %ip.strHex())
#print('2进制地址:%s' %ip.strBin())
#print('IP地址类型:%s' %ip.iptype())

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python基础教程之字典操作详解
Mar 25 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
详解Python中用于计算指数的exp()方法
May 14 Python
Python文件去除注释的方法
May 25 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
python利用高阶函数实现剪枝函数
Mar 20 Python
python调用staf自动化框架的方法
Dec 26 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
基于h5py的使用及数据封装代码
Dec 26 Python
pyinstaller还原python代码过程图解
Jan 08 Python
Python图片验证码降噪和8邻域降噪
Aug 30 Python
python利用rsa库做公钥解密的方法教程
Dec 10 #Python
Python跨文件全局变量的实现方法示例
Dec 10 #Python
git进行版本控制心得详谈
Dec 10 #Python
Python内置模块turtle绘图详解
Dec 09 #Python
Python程序退出方式小结
Dec 09 #Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 #Python
Python爬取附近餐馆信息代码示例
Dec 09 #Python
You might like
php递归实现无限分类的方法
2015/07/28 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
经验几则 推荐
2006/09/05 Javascript
浅谈JavaScript中面向对象技术的模拟
2006/09/25 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
2014/11/17 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
Python中logging.NullHandler 的使用教程
2018/11/29 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
Django models文件模型变更错误解决
2020/05/11 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
财务会计大学生自我评价
2014/04/09 职场文书
入股协议书
2014/04/14 职场文书
施工安全生产承诺书
2014/05/23 职场文书
学生安全责任书范本
2014/07/24 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
SQL SERVER触发器详解
2022/02/24 SQL Server
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技