SubnetCalc
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中。")
本文链接:
/archives/subnetcalc
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
曹少卿的Blog!
喜欢就支持一下吧
打赏
微信
支付宝