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入门教程
Apr 03 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
Python 'takes exactly 1 argument (2 given)' Python error
Dec 13 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
python3 破解 geetest(极验)的滑块验证码功能
Feb 24 Python
python web基础之加载静态文件实例
Mar 20 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
自学python的建议和周期预算
Jan 30 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
完美解决jupyter由于无法import新包的问题
May 26 Python
Python使用plt.boxplot() 参数绘制箱线图
Jun 04 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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 Smarty模板生成html文档的方法
2010/04/12 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
取得父标签
2006/11/14 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
Javascript 学习笔记之 对象篇(二) : 原型对象
2014/06/24 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
python字符串替换示例
2014/04/24 Python
Python下载指定页面上图片的方法
2016/05/12 Python
Python实现ssh批量登录并执行命令
2016/10/25 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python实现百度语音识别api
2018/04/10 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
PIL图像处理模块paste方法简单使用详解
2019/07/17 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
实习生个人的自我评价
2013/12/08 职场文书
五心教育心得体会
2014/09/04 职场文书
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android