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使用自带的ConfigParser模块读写ini配置文件
Jun 26 Python
python中常用的九种预处理方法分享
Sep 11 Python
python实现单线程多任务非阻塞TCP服务端
Jun 13 Python
Python批量查询域名是否被注册过
Jun 21 Python
Python输出带颜色的字符串实例
Oct 10 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
解决在Python编辑器pycharm中程序run正常debug错误的问题
Jan 17 Python
Python 实现交换矩阵的行示例
Jun 26 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
python中rb含义理解
Jun 18 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
Jan 12 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替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
YII路径的用法总结
2014/07/09 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
javascript 传统事件模型构造的事件监听器实现代码
2010/05/31 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
js函数调用的方式
2014/05/06 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
Vuex简单入门
2017/04/19 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
js操作二进制数据方法
2018/03/03 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Django Rest framework权限的详细用法
2019/07/25 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python中turtle库的简单使用教程
2020/11/11 Python
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
介绍一下如何优化MySql
2016/12/20 面试题
小区门卫岗位职责
2013/12/31 职场文书
家长会演讲稿范文
2014/01/10 职场文书
教师考核材料
2014/05/21 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python