使用IPy模块处理网络IP地址
#! /usr/bin/python3
# -*- encoding:utf8 -*-
# IP地址处理模块 -- IPy
import IPy
# IPy的常用功能
# version()输出指定IP地址的类型(IPv4|IPv)
print(IPy.IP('10.10.0.0/24').version())
ip_pool = IPy.IP('10.0.0.0/29')
print('IP池的IP个数:', ip_pool.len())
print('网络地址:', ip_pool.net())
print('网络掩码地址:', ip_pool.netmask())
print('网络广播地址:', ip_pool.broadcast())
print(ip_pool.v46map())
# 使用iptype()方法检测IP地址的类型(公有地址|私有地址)
for i in ip_pool:
print(repr(i), i.iptype())
# 使用strNormal()方法输出不同类型的网段
print(IPy.IP('192.168.0.0/16').strNormal(3))
# 使用overlaps()方法判断IP段是否存在重叠(返回1:存在重叠;返回0:不存在重叠)
print(IPy.IP('192.168.0.0/24').overlaps('192.168.1.1'))
print(IPy.IP('192.168.0.0/24').overlaps('192.168.0.1'))