我已经知道ipv6的起始地址和结束地址,怎么能得到所有的可用地址
1条回答 默认 最新
ilmss 2022-08-08 10:00关注例子:
已知开始地址(1.1.1.0)、结束地址(1.1.1.255);开始地址(1.1.2.3)、结束地址(1.1.2.12);开始地址(1.2.1.0)、结束地址(1.2.4.255);开始地址(1.1.6.0)、结束地址(1.1.8.212);求其中的所有IP地址。#!/usr/bin/python # coding=UTF8 import os import sys from IPy import IP #打开文件;1.txt是存放地址IP;ip.txt是以尾部添加的方式将结果输入到ip.txt中。 f1=open("./1.txt","r") f2=open("./ip.txt",'a+') line1=f1.readlines() iplist = "" #获取f1文件中的每行数据 for m in line1: ips = str(m).split("-") #获取-前的开始IP ips1 = str(ips[0]).split(".") #获取-后的开始IP ips2 = str(ips[1]).split(".") #对IP地址进行判断,并将相应结果输入到f2中。 if(ips1[0]==ips2[0] and ips1[1]==ips2[1] and ips1[2]==ips2[2]): for x in range(int(ips1[3]),int(ips2[3])+1): iplist = str(ips1[0])+'.'+str(ips1[1])+'.'+str(ips1[2])+'.'+str(x) print >> f2,"%s" %iplist else: for j in range(int(ips1[3]),256): iplist = str(ips1[0])+'.'+str(ips1[1])+'.'+str(ips1[2])+'.'+str(j) print >> f2,"%s" %iplist for i in range(int(ips1[2])+1,int(ips2[2])): for j in range(0,256): iplist = str(ips1[0])+'.'+str(ips1[1])+'.'+str(i)+'.'+str(j) print >> f2,"%s" %iplist for j in range(0,int(ips2[3])): iplist = str(ips1[0])+'.'+str(ips1[1])+'.'+str(ips2[2])+'.'+str(j) print >> f2,"%s" %iplist解决 无用评论 打赏 举报