SubnetCalc

CIDR转换为IP地址

直接运行

python3 SubnetCalc.py

目录下会生成iplist.txt文件

import ipaddress

def ip_range_to_list(start_ip, end_ip):
    """将IP地址范围转换为列表"""
    start_int = int(ipaddress.IPv4Address(start_ip))
    end_int = int(ipaddress.IPv4Address(end_ip))
    return [ipaddress.IPv4Address(ip) for ip in range(start_int, end_int + 1)]

def cidr_to_list(cidr):
    """将CIDR表示法的网段转换为列表"""
    return [str(ip) for ip in ipaddress.ip_network(cidr).hosts()]

def process_ip_entry(ip_entry):
    """处理单个IP条目,返回IP列表"""
    if '-' in ip_entry:
        # IP地址范围
        start_ip, end_ip = ip_entry.split('-')
        return [str(ip) for ip in ip_range_to_list(start_ip, end_ip)]
    elif '/' in ip_entry:
        # CIDR表示法的网段
        return cidr_to_list(ip_entry)
    else:
        # 单个IP地址
        return [ip_entry]

def generate_ip_list(ip_entries, output_file):
    """生成IP列表并写入到文件"""
    with open(output_file, 'w') as file:
        for ip_entry in ip_entries:
            ip_list = process_ip_entry(ip_entry)
            for ip in ip_list:
                file.write(ip + '\n')

# 读取IP.txt文件内容
with open('IP.txt', 'r') as file:
    ip_entries = [line.strip() for line in file.readlines() if line.strip()]

# 生成IP列表并写入到iplist.txt
generate_ip_list(ip_entries, 'iplist.txt')

print("IP地址列表已生成并保存到iplist.txt中。")

Screen-2024-07-26-205222.gif

点击下载 SubnetCalc.zip
文章作者: Administrator
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 曹少卿的Blog
Python Routing&Switch Python Routing&Switch
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝