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爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
Python切片知识解析
Mar 06 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
Jun 07 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
python+splinter自动刷新抢票功能
Sep 25 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
Django的用户模块与权限系统的示例代码
Jul 24 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
详解python itertools功能
Feb 07 Python
推荐8款常用的Python GUI图形界面开发框架
Feb 23 Python
Python sublime安装及配置过程详解
Jun 29 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通过字符串调用函数示例
2014/03/02 PHP
浅析php原型模式
2014/11/25 PHP
php将html转为图片的实现方法
2017/05/19 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
jquery1.10给新增元素绑定事件的方法
2014/03/06 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
jquery.zclip轻量级复制失效问题
2017/01/08 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
node错误处理与日志记录的实现
2018/12/24 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
pytorch实现线性拟合方式
2020/01/15 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
python实现简单遗传算法
2020/09/18 Python
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
工商管理应届生求职信
2013/10/07 职场文书
养牛场项目建议书
2014/05/13 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
园林系毕业生求职信
2014/06/23 职场文书
运动会演讲稿50字
2014/08/25 职场文书
离婚协议书范本2014
2014/10/27 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
初中生物教学反思
2016/02/20 职场文书
总结高并发下Nginx性能如何优化
2021/11/01 Servers
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技