Python自动化运维之IP地址处理模块详解
实用的IP地址处理模块IPy
在IP地址规划中,涉及到计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等
别担心,Ipy模块拯救你。Ipy模块可以很好的辅助我们高效的完成IP的规划工作。
功能:辅助我们高效的完成IP的规划工作
安装:
wgethttps://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz--no-check-certificate tar-zxvfIpy-0.81.tar.gz cdIPy-0.81 pythonsetup.pyinstall
IP地址、网段的基本处理:
使用方法:
#fromIPyimportIP #ip_1=IP('192.168.1.0/24') #print(ip_1.len())#输出192.168.1.0/24网段的IP个数 #forainip_1: #print(a)#输出192.168.1.0/24网段的所有IP清单
IP地址的转化:
#fromIPyimportIP #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网段的转化:
#fromIPyimportIP #输出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
使用方法:
#fromIPyimportIP #IP('192.168.0.0/24')根据输入的IP地址或网段地址,返回网络地址、广播地址、地址反响解析、子网数、IP类型等信息:
#fromIPyimportIP #ip_inp=raw_input('输入IP地址或网段地址') #ip=IP(ip_inp) #iflen(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())总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。