You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中创建IPv4的CIDR地址/范围并将子网掩码转为CIDR表示

在Python中创建IPv4 CIDR地址/范围及子网掩码转CIDR方法

一、利用子网掩码和网关生成目标CIDR

已知子网掩码255.255.255.0、网关192.0.2.250,要得到192.0.2.0/24这类CIDR格式,可使用Python标准库ipaddress完成:

from ipaddress import IPv4Network

# 组合网关与子网掩码,strict=False允许非网络地址作为输入,自动计算正确网络段
network = IPv4Network(f"192.0.2.250/255.255.255.0", strict=False)

# 输出完整CIDR表示
print(network.with_prefixlen)  # 结果:192.0.2.0/24
# 输出前缀长度(即CIDR中的数字部分)
print(network.prefixlen)  # 结果:24

二、单独将子网掩码转换为CIDR前缀长度

如果仅需把子网掩码转成对应的前缀长度,可这样实现:

from ipaddress import IPv4Network

subnet_mask = "255.255.255.0"
# 通过0/掩码的形式生成网络对象,提取前缀长度
prefix_length = IPv4Network(f"0/{subnet_mask}").prefixlen
print(prefix_length)  # 结果:24

三、直接创建指定的IPv4 CIDR范围

若已知网络地址和前缀长度,可直接实例化IPv4Network来创建CIDR范围:

from ipaddress import IPv4Network

# 直接传入CIDR格式字符串
cidr_network = IPv4Network("192.0.2.0/24")
# 可查看该网段的起始、结束地址
print(f"网段起始地址:{cidr_network.network_address}")
print(f"网段结束地址:{cidr_network.broadcast_address}")

内容的提问来源于stack exchange,提问作者Sudha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 09:36:23