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实现方法
Nov 18 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
详解使用python的logging模块在stdout输出的两种方法
May 17 Python
浅谈Python由__dict__和dir()引发的一些思考
Oct 30 Python
Python实现修改文件内容的方法分析
Mar 25 Python
在python中按照特定顺序访问字典的方法详解
Dec 14 Python
Python修改文件往指定行插入内容的实例
Jan 30 Python
Python爬虫运用正则表达式的方法和优缺点
Aug 25 Python
python实现一个函数版的名片管理系统过程解析
Aug 27 Python
Python reduce函数作用及实例解析
May 08 Python
python3.7添加dlib模块的方法
Jul 01 Python
基于python实现复制文件并重命名
Sep 16 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遍历文件夹与子目录的函数代码
2011/09/26 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
非常不错的一个javascript 类
2006/11/07 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
浅析javascript操作 cookie对象
2014/12/26 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
Python学习笔记(二)基础语法
2014/06/06 Python
对python中的pop函数和append函数详解
2018/05/04 Python
如何基于Python实现数字类型转换
2020/02/07 Python
python如何进行矩阵运算
2020/06/05 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
介绍一下你对SOA的认识
2016/04/24 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
个人自我评价分享
2013/12/20 职场文书
服装机修工岗位职责
2013/12/26 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
总经理岗位职责描述
2014/02/08 职场文书
六查六看剖析材料
2014/02/15 职场文书
小学见习报告
2014/10/31 职场文书
博士导师推荐信
2015/03/25 职场文书