Skip to content

Instantly share code, notes, and snippets.

@jaganadhg
Last active May 14, 2021 18:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaganadhg/02987a145776593c77c146d2cc0260ed to your computer and use it in GitHub Desktop.
Save jaganadhg/02987a145776593c77c146d2cc0260ed to your computer and use it in GitHub Desktop.
gip
import itertools
base_ip = "1.1.1.1"
ip_max = 3
def gen_ip_smart(base_ip : str) -> list:
ip_elem = base_ip.split(".")
ip_elem = list(map(int,ip_elem))
ip_num_ranges = [range(ip_elem[0],ip_max),range(ip_elem[1],ip_max), range(ip_elem[2],ip_max), range(ip_elem[3],ip_max)]
all_ips = list(itertools.product(*ip_num_ranges))
all_ip_list = [".".join(map(str,ipn)) for ipn in all_ips]
return all_ip_list
def generate_ips_all(base_ip : str) -> list:
ip_list = base_ip.split(".")
ip_list = list(map(int,ip_list))
all_ips = list()
#create_first_max
all_ips.extend(["{}.{}.{}.{}".format(ip_list[0],ip_list[1],ip_list[2],suffix) for suffix in range(ip_list[3],257)])
all_ips.extend(["{}.{}.{}.{}".format(ip_list[0],ip_list[1],suffix,ip_list[3]) for suffix in range(ip_list[2],257)])
all_ips.extend(["{}.{}.{}.{}".format(ip_list[0],suffix, ip_list[2],ip_list[3]) for suffix in range(ip_list[1],257)])
all_ips.extend(["{}.{}.{}.{}".format(suffix,ip_list[1],ip_list[2],ip_list[3]) for suffix in range(ip_list[0],257)])
return all_ips
if __name__ == "__main__":
ip_lists = generate_ips_all(base_ip)
print(ip_lists)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment