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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
详解Python中的循环语句的用法
Apr 09 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
python字符串过滤性能比较5种方法
Jun 22 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
一份python入门应该看的学习资料
Apr 11 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python根据文章标题内容自动生成摘要的实例
Feb 21 Python
python中自带的三个装饰器的实现
Nov 08 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
详解java调用python的几种用法(看这篇就够了)
Dec 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中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
使用php显示搜索引擎来的关键词
2014/02/13 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
jQuery实现页面倒计时并刷新效果
2017/03/13 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
详解解决Vue相同路由参数不同不会刷新的问题
2018/10/12 Javascript
JS+CSS实现动态时钟
2021/02/19 Javascript
浅谈Python中copy()方法的使用
2015/05/21 Python
Python的Django框架中的数据库配置指南
2015/07/17 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
Kneipp克奈圃美国官网:德国百年精油配方的传承
2018/02/07 全球购物
澳大利亚网上玩具商店:Mr Toys Toyworld
2018/03/25 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
LINUX下线程,GDI类的解释
2012/04/17 面试题
求职自我推荐信
2014/06/25 职场文书
2015年公司工作总结
2015/04/25 职场文书
微信搭讪开场白
2015/05/28 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
创业计划书之水果店
2019/07/18 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python