Python第三方模块IPy,可完成高效的IP规划工作
#安装 #pip3 install IPy #最新版本V0.83
IP地址 网段的基本处理
>>>from IPy import IP
>>>ip = IP('192.168.1.25')
#反向解析地址格式
>>>ip.reverseNames()
#判断网络类型,公网或私网
>>>ip.iptype()
#转换为整型,十六进制,二进制
>>>ip.int()
>>>ip.strHex()
>>>ip.strBin()
多网络计算方法
#判断IP和网段是否包含有另一网段
>>>'192.168.1.100' in IP('192.168.1.0/24')
>>>True
#判断两个网段是否存在重叠
>>>IP('192.168.0.0/23').overlaps('192.168.1.0/24')
>>>1 #1代表存在重叠
>>>IP('192.168.0.0/24').overlaps('192.168.2.0')
>>>0 #0代表不存在重叠
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#Author: CCoo2
from IPy import IP
ip_s = input("请输入IP地址,或网段地址:")
ips = IP(ip_s)
if len(ips) > 1: #为1个网络地址
print("网络地址: %s" % ips.net())
print("网络掩码地址: %s" % ips.netmask())
print("广播地址: %s" % ips.broadcast())
print("地址反向解析: %s" % ips.reverseNames()[0])
print("网络子网数: %s" % len(ips))
else:#为1个IP地址
print("IP反向解析: %s" % ips.reverseNames()[0])
print("十六进制地址:%s" % ips.strHex())
print("二进制地址: %s" % ips.strBin())
print("地址类型: %s" % ips.iptype())
'''
请输入IP地址,或网段地址:192.168.1.1
IP反向解析: 1.1.168.192.in-addr.arpa.
十六进制地址:0xc0a80101
二进制地址: 11000000101010000000000100000001
地址类型: PRIVATE
#####################################
请输入IP地址,或网段地址:192.168.2.0/24
网络地址: 192.168.2.0
网络掩码地址: 255.255.255.0
广播地址: 192.168.2.255
地址反向解析: 2.168.192.in-addr.arpa.
网络子网数: 256
十六进制地址:0xc0a80200
二进制地址: 11000000101010000000001000000000
地址类型: PRIVATE
'''

浙公网安备 33010602011771号