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多层嵌套list的递归处理方法(推荐)
Jun 08 Python
Python在线运行代码助手
Jul 15 Python
Python爬取网易云音乐热门评论
Mar 31 Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 Python
Django中cookie的基本使用方法示例
Feb 03 Python
python编程测试电脑开启最大线程数实例代码
Feb 09 Python
python函数式编程学习之yield表达式形式详解
Mar 25 Python
python kafka 多线程消费者&amp;手动提交实例
Dec 21 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
python爬虫中抓取指数的实例讲解
Dec 01 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
php之Memcache学习笔记
2013/06/17 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
JS中如何轻松遍历对象属性的方式总结
2019/08/06 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
进一步探究Python中的正则表达式
2015/04/28 Python
python实现web方式logview的方法
2015/08/10 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
详解Python:面向对象编程
2019/04/10 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
个人自我鉴定怎么写
2013/10/28 职场文书
先进集体获奖感言
2014/02/13 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
欢迎家长标语
2014/10/08 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
小学英语教学反思范文
2016/02/15 职场文书
2016年度师德标兵先进事迹材料
2016/02/26 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL