今天继续来讲解Ipy模块的用法,上一期的介绍请点击链接
http://mp.toutiao.com/preview_article/?pgc_id=6758324619083514376
今天要讲解的是Ipy多网络计算方法
1.Ipy支持类似于数值型的比较,以帮助IP对象进行比较,看IP地址和网段是否包含于另一个网段中,如下图:
True表示IP地址或网段包含于后面的网段中,false表示不包含,如下图:
2.Ipy也可以判断两个钢段是否存在重叠,采用的是Ipy中overlaps子模块,如下图:
返回值1表示有重叠,返回值0表示不存在重叠
3.根据输入的IP或子网返回网络号、子网掩码、广播、反向解析、子网数、IP类型等信息
程序代码如下:
from IPy import IP
ips = input("请输入一个IP地址或网段 : ") # 接受用户输入IP或网段
ips = IP(ips)
if len (ips) > 1 :#如果大于1,就是一个网络地址
print ('%s是一个网络地址段'%ips)
print ('网络地址 : %s' % ips.net()) #输出网络地址
print ('子网掩码 : %s' % ips.netmask()) #输出子网掩码
print ('广播地址 : %s' %ips.broadcast())#输出网络广播地址
print ('地址反向解析: %s ' % ips.reverseNames()[0])#输出地址反向解析
print ('网络地址数量: %s' %len(ips)) #输出网络子网数
else: #为单个网络地址
print ('%s为单个网络地址'%ips)
print ('IP反向解析: %s '% ips.reverseNames()[0]) #输出IP反向解析
print ('16位地址:%s'% ips.strHex())
print ('2进制地址:%s'% ips.strBin())
print ('地址类型:%s'% ips.iptype()) #输出地址类型,如PRIVATE PUBLIC LOOPBAK等
程序运行结果如下:
1)
2)
本代码在python3.7.5下测试通过,有感兴趣的同学可以复制下来运行一下,看看结果和我的输出结果是否一致
到这里Ipy模块的功能都介绍完毕了,如果有什么不明白的,可以私信或留言给我,感谢您的观看。如果本文对您有帮助,请关注或点赞