实用的IP地址处理模块IPy

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)
本文为追加文章

IPy python中文文档链接:https://python.fasionchan.com/zh_CN/latest/libs/ipy.html

在IP地址规划中,涉及到计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等。所以我们使用IPy处理这些问题。

安装:pip install IPy 或 pip install IPy==0.81
源码链接:https://pypi.python.org/packages/source/I/IPy/IPy-0.81.tar.gz
在这里插入图片描述

判断通过version方法就可以区分出IPv4与IPv6。

>>>import IPy
>>>IP('10.0.0.0/8').version()
4		#4代表IPv4类型
>>>IP('::1').version()
6 		#6代表IPv6类型

在这里插入图片描述

通过指定的网段输出该网段的IP个数及所有IP地址清单:

>>>from IPy import IP
>>>ip=IP("192.168.4.16/28")
>>>print(ip.len())
16
>>>for i in ip:
...		print(i)
192.168.4.16
192.168.4.17
192.168.4.18
...
192.168.4.31

在这里插入图片描述

网络地址转换

>>>print(IP('192.168.1.20').make_net('255.255.255.0')))
192.168.1.0/24
>>>print(IP('192.168.1.20/255.255.255.0',make_net=True))
192.168.1.20
#计算该IP地址所属的网络及子网掩码的位数

在这里插入图片描述

多网络计算

#判断ip地址和网段是否包含在另一个网段中,使用 in 
>>>"192.168.1.20" in IP("192.168.1.0/24")
true
>>>"192.168.1.0/24" in IP("192.168.0.0/16")
true

在这里插入图片描述

常用:

#输出网络地址
ip.net()

#输出网络掩码地址
ip.netmask()

#输出网络广播地址
ip.broadcast()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/I_AM_WORRY/article/details/103930553
今日推荐