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实现竖排打印传单手机号码易撕条
Mar 16 Python
详解Python的Django框架中的通用视图
May 04 Python
Python遍历指定文件及文件夹的方法
May 09 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
python实现关键词提取的示例讲解
Apr 28 Python
python2与python3共存问题的解决方法
Sep 18 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
python如何将两个txt文件内容合并
Oct 18 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
Anaconda 查看、创建、管理和使用python环境的方法
Dec 03 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 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开发环境配置(MySQL数据库安装图文教程)
2010/04/28 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
PHP实现随机生成水印图片功能
2017/03/22 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
通过jQuery源码学习javascript(二)
2012/12/27 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
JS获取select-option-text_value的方法
2013/12/26 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
vue项目中使用百度地图的方法
2018/06/08 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
python实现sublime3的less编译插件示例
2014/04/27 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
在python中利用KNN实现对iris进行分类的方法
2018/12/11 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
成都思必达公司C#程序员招聘面试题
2013/06/26 面试题
车间班组长岗位职责
2013/11/13 职场文书
财务管理个人自荐书范文
2013/11/24 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
总裁助理岗位职责
2014/02/17 职场文书
音乐教育感言
2014/03/05 职场文书
捐助感谢信
2015/01/22 职场文书
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS