文章目录
将ip段解析为单个ip
将类似于192.168.1.* 192.168.1.0-255 192.168.1-10.* 192.168.1.0/24 这样的段IP解析为单个的ip,以方便后续的扫描等操作。
192.168.1.*样式的ip段分解
def IPSplitStar(ips): # 192.168.1.* ---> 192.168.1.1 到 192.168.1.255
ip_1 = ips.split('.')[-4]
ip_2 = ips.split('.')[-3]
ip_3 = ips.split('.')[-2]
ip_4 = ips.split('.')[-1]
ip_to = []
for i in range(1,256):
ip_result = ip_1 + '.' + ip_2 + '.' + ip_3 + '.' + str(i)
ip_to.append(ip_result)
return ip_to
以’.'为分隔符,来获取各个位置上的数据,然后*用1-255来替换。
192.168.1-10.*样式的ip段进行分解
def IPSplit_Star(ips): #192.168.1-10.*
ip_1 = ips.split('-')[-2].split('.')[-3]
ip_2 = ips.split('-')[-2].split('.')[-2]
ip_3 = ips.split('-')[-2].split('.')[-1] #1
ip_last = ips.split('-')[-1] #10
ip_last_1 = ip_last.split('.')[-2]
ip_3p = []
for i in range(int(ip_3),int(ip_last_1)+1):
for j in range(1,256):
ip_3p.append(ip_1 + '.' + ip_2 + '.' + str(i)+ '.' + str(j))
return ip_3p