Oct-06-2019, 06:22 PM
I got it working using this:
from netaddr import * import sys network_list = [] subnet_list = [] def define_prefixlens(subnet_input, max): max_cidr_val = int(max) + 1 ip = IPNetwork(subnet_input) prefixes = (i for i in range(ip.prefixlen +1, max_cidr_val)) for i in prefixes: network_list.append(i) def list_of_subnets(subnet): ip = IPNetwork(subnet) for i in network_list: sub = ip.subnet(i) for i in sub: subnet_list.append(i) def main(): # value = sys.argv[1] value = '10.20.30.0/27' # max_cidr = sys.argv[2] max_cidr = 24 define_prefixlens(value, max_cidr) # print(network_list) list_of_subnets(value) for i in sorted(subnet_list): print(i) if __name__ == '__main__': main()