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 subprocess模块学习总结
Mar 13 Python
Python中的模块和包概念介绍
Apr 13 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
Oct 11 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
numpy.linspace函数具体使用详解
May 27 Python
基于python的socket实现单机五子棋到双人对战
Mar 24 Python
用Python实现将一张图片分成9宫格的示例
Jul 05 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python性能分析工具Profile使用实例
Nov 19 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
Django模板之基本的 for 循环 和 List内容的显示方式
Mar 31 Python
python爬虫中的url下载器用法详解
Nov 30 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php Try Catch异常测试
2009/03/01 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
解析isset与is_null的区别
2013/08/09 PHP
PHP PDOStatement::errorInfo讲解
2019/01/31 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
2011/09/29 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
python自带的http模块详解
2016/11/06 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
python opencv人脸检测提取及保存方法
2018/08/03 Python
Python创建字典的八种方式
2019/02/27 Python
python的命名规则知识点总结
2019/10/04 Python
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
运动会演讲稿
2014/05/07 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
晶体管来复再生式二管收音机
2021/04/22 无线电
Python函数式编程中itertools模块详解
2021/09/15 Python
redis protocol通信协议及使用详解
2022/07/15 Redis