模块:IPy
简介:判断地址为私网公网类型,以及网络地址的转换
def ip():
import IPy
IPy.IP('10.0.0.0/8').version() #查看该网段属于IPv4还是IPv6
IPy.IP('10.0.0.0/8').len()
for x in IPy.IP('192.168.0.0/16'):
print(x) #输出所有该网段的IP清单
IPy.IP('192.168.3.3').reverseNames() #反向解析地址格式
IPy.IP('8.8.8.8').iptype() #查看IP地址为公网还是私网IP
IPy.IP('8.8.8.8').int() #转换为整型格式
IPy.IP('8.8.8.8').strHex() #转换成十六进制格式
IPy.IP('8.8.8.8').strBin() #转换成二进制格式
print(IPy.IP('192.168.1.0').make_net('255.255.255.0')) #网络地址转换
#输出“192.168.1.0/24”
print(IPy.IP('192.168.1.0/255.255.255.0',make_net=True)) #网络地址转换
#输出“192.168.1.0/24”
print(IPy.IP('192.168.1.0-192.168.1.255',make_net=True)) #网络地址转换
#输出“192.168.1.0/24”
##定制不同的输出格式
IPy.IP('192.168.1.0/24').strNormal(0)
#输出“192.168.1.0”
IPy.IP('192.168.1.0/24').strNormal(1)
#输出“192.168.1.0/24”
IPy.IP('192.168.1.0/24').strNormal(2)
#输出“192.168.1.0/255.255.255.0”
IPy.IP('192.168.1.0/24').strNormal(3)
#输出“192.168.1.0-192.168.1.255”
#判断是否属于
def isnot():
IPy.IP('10.0.0.0/24') < IPy.IP('12.0.0.0/24') #判断是否属于关系,正确为True错误为Flase
IPy.IP('192.168.1.0/24') < IPy.IP('192.168.0.0/16') #判断是否是包含关系
'192.168.1.100' in IPy.IP('192.168.1.0/24') #同上
IPy.IP('192.168.0.0/23').overlaps('192.168.1.0/24') #返回1代表存在重叠
IPy.IP('192.168.1.0/24').overlaps('192.168.2.0/24') #返回0代表不存在重叠