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实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
使用python编写android截屏脚本双击运行即可
Jul 21 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
浅谈Python中数据解析
May 05 Python
简单掌握Python的Collections模块中counter结构的用法
Jul 07 Python
python处理xml文件的方法小结
May 02 Python
分享vim python缩进等一些配置
Jul 02 Python
python使用thrift教程的方法示例
Mar 21 Python
Python qqbot 实现qq机器人的示例代码
Jul 11 Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 Python
谈谈python垃圾回收机制
Sep 27 Python
python递归函数用法详解
Oct 26 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
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
Javascript 实现TreeView CheckBox全选效果
2010/01/11 Javascript
js Math 对象的方法
2013/09/01 Javascript
js有序数组的连接问题
2013/10/01 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
jQuery老黄历完整实现方法
2015/01/16 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
Sea.JS知识总结
2016/05/05 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
javascript 数组精简技巧小结
2020/02/26 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
numpy自动生成数组详解
2017/12/15 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
详解python中sort排序使用
2019/03/23 Python
python实现canny边缘检测
2020/09/14 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
网络工程师的自我评价
2013/10/02 职场文书
妇产科护士自我鉴定
2013/10/15 职场文书
爱国演讲稿500字
2014/05/04 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
灵能百分百第三季什么时候来?
2022/03/15 日漫