一、 简介
在IP地址规划中,涉及到计算大量的IP地址,包括网段、网络掩码、广播地址、子网数、IP类型等,即便是专业的网络人员也要进行繁琐的计算,而IPy模块提供了专门针对IPV4地址与IPV6地址的类与工具,可以帮助实现计算子网掩码、网络掩码、广播地址、子网数、IP类型等。
二、 安装
pip install IPy
三、 基本使用
IPy模块内部主要主要提供了IP类、IPint类,IPset类.
我们常用的就是IP类,这个类可以接受几乎任何格式的IP地址和网段。
A、获取IP地址信息
1、version():获取IP地址的版本
x = IPy.IP('192.168.1.1').version() #该IP地址的版本为:4
x = IPy.IP('192.168.1.0/30').version() #该IP地址的版本为:4
x = IPy.IP('::1').version() #该IP地址的版本为:6
2、len():获取子网IP地址的个数
x = IPy.IP('192.168.1.0').len() #子网IP地址的个数:1
x = IPy.IP('192.168.1.0/30').len() #子网IP地址的个数:4
x = IPy.IP('192.168.1.0/24').len() #子网IP地址的个数:256 32-24=8个网络号 2的8次方为256
# IPV4后面如果没有/的话,按单个IP地址计算,有/的话,根据子网计算
3、iptpe():获取IP地址的类型
x = IPy.IP('192.168.1.0').iptype() #IP地址类型:PRIVATE
x = IPy.IP('8.8.8.8').iptype() #IP地址类型:PUBLIC
x = IPy.IP('127.0.0.1').iptype() #IP地址类型:LOOPBACK
# PRIVATE表示私有地址,PUBLIC表示公有地址,LOOPBACK表示环回地址
#IPv6的类型信息与实际不同步。
4、net():作为IP对象返回网络的第一个地址,即基址
x = IPy.IP('192.168.1.0/24')() #IP地址的基址:192.168.1.0
x = IPy.IP('8.8.8.0/24')() #IP地址的基址:8.8.0.0
x = IPy.IP('127.0.0.0/8')() #IP地址的基址:127.0.0.0
5、broadcast():作为IP对象返回网络的最后地址,即广播地址
x = IPy.IP('192.168.1.0/24').broadcast() #IP地址的广播地址:192.168.1.255
x = IPy.IP('8.0.0.0/8').broadcast() #IP地址的广播地址:8.255.255.255
x = IPy.IP('0.0.0.1').broadcast() #IP地址的广播地址:0.0.0.1# 注意:在这里单个IP地址的广播地址为本身
6、netmask():以IP对象的形式返回网络掩码
x = IPy.