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对比C语言的编程思想差异
Aug 30 Python
python 排序算法总结及实例详解
Sep 28 Python
解决python matplotlib imshow无法显示的问题
May 24 Python
python 字符串和整数的转换方法
Jun 25 Python
详解python使用turtle库来画一朵花
Mar 21 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
Feb 12 Python
python使用turtle库绘制奥运五环
Feb 24 Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
Jun 12 Python
Python 利用flask搭建一个共享服务器的步骤
Dec 05 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 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开发GUI
2006/10/09 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
详解php的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
CI框架附属类用法分析
2018/12/26 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
js实现微信分享代码
2020/10/11 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
javascript 正则表达式去空行方法
2017/01/24 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Vue SPA 初次进入加载动画实现代码
2019/11/14 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
Python 代码性能优化技巧分享
2012/08/07 Python
Python入门教程之if语句的用法
2015/05/14 Python
python绘制圆柱体的方法
2018/07/02 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
python pycharm的安装及其使用
2019/10/11 Python
Pyqt5自适应布局实例
2019/12/13 Python
python分布式计算dispy的使用详解
2019/12/22 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
初一生物教学反思
2014/01/18 职场文书
化学教学随笔感言
2014/02/19 职场文书
给老婆的保证书范文
2014/04/28 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python