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的装饰器解决Bottle框架中用户验证问题
Apr 24 Python
python冒泡排序简单实现方法
Jul 09 Python
在MAC上搭建python数据分析开发环境
Jan 26 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
python中pika模块问题的深入探究
Oct 13 Python
python实现年会抽奖程序
Jan 22 Python
pymongo中group by的操作方法教程
Mar 22 Python
python pyenv多版本管理工具的使用
Dec 23 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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 Array交叉表实现代码
2010/08/05 PHP
php遍历数组的方法分享
2012/03/22 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
vue移动端微信授权登录插件封装的实例
2018/08/28 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
详解Python中的strftime()方法的使用
2015/05/22 Python
Python 多线程抓取图片效率对比
2016/02/27 Python
python多进程中的内存复制(实例讲解)
2018/01/05 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
2018/01/20 Python
django中的HTML控件及参数传递方法
2018/03/20 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
python scatter函数用法实例详解
2020/02/11 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
法国奢华女性时尚配饰网上商店:Monnier Frères
2016/08/27 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
政府绩效管理实施方案
2014/05/04 职场文书
小学生十佳少年事迹材料
2014/08/20 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
《所见》教学反思
2016/02/23 职场文书
golang连接MySQl使用sqlx库
2022/04/14 Golang
springboot为异步任务规划自定义线程池的实现
2022/06/14 Java/Android