import sys
import re
def validate_ip(ip_str):
reg = r"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
if re.match(reg, ip_str):
return True
else:
return False
# range extractor coded by Freak
if len(sys.argv) != 3:
print("Usage: " + sys.argv[0] + " list.txt ranges.txt")
fh = open(sys.argv[1], "rb")
out = open(sys.argv[2], "wb")
lines = fh.read().replace("\r", "").split("\n")
fh.close()
ranges = []
for line in lines:
range = ".".join(line.split(".")[:2])+".0.0/16"
if not validate_ip(range.split("/")[0]):
continue
if range not in ranges:
ranges.append(range)
print("found " + str(len(ranges))) + " ranges to scan.")
out.write("\n".join(ranges))
out.close()
Comments
0 B
|👍
/👎