#import random #from netaddr.ip import IPNetwork, IPAddress #import string #random.seed() #ip_a = IPAddress('2001::cafe:0') + random.getrandbits(16) #ip_n = IPNetwork(ip_a) #ip_n.prefixlen = 64 #print (ip_a) #print (ip_n) """ Generate a random IPv6 address for a specified subnet """ from random import seed, getrandbits from ipaddress import IPv6Network, IPv6Address subnet = 'fd00::/8' seed() network = IPv6Network(subnet) address = IPv6Address(network.network_address + getrandbits(network.max_prefixlen - network.prefixlen)) print(address)