在Python中生成随机IP地址可以通过以下步骤实现:
1. 定义一个包含IP地址池的列表,每个IP地址后面跟有CIDR表示法的前缀长度。
2. 从IP地址池中随机选择一个IP地址。
3. 将选定的IP地址分解为网络地址和子网掩码。
4. 根据子网掩码生成一个随机的子网地址。
5. 将网络地址和随机子网地址组合成最终的随机IP地址。

import randomimport socketimport struct定义IP地址池RANDOM_IP_POOL = ['192.168.10.222/0',可以添加更多IP地址和前缀长度]def get_random_ip():从IP地址池中随机选择一个IP地址str_ip = RANDOM_IP_POOL[random.randint(0, len(RANDOM_IP_POOL) - 1)]分解IP地址和前缀长度str_ip_addr, str_ip_mask = str_ip.split('/')将IP地址转换为整数形式ip_addr = struct.unpack('>I', socket.inet_aton(str_ip_addr))初始化子网掩码mask = 0x0根据前缀长度生成子网掩码for i in range(31, 31 - int(str_ip_mask), -1):mask = mask | (1 << i)生成随机子网地址random_ip_int = random.randint(ip_addr & mask, ip_addr | ~mask)将随机子网地址转换回IP地址格式random_ip_addr = socket.inet_ntoa(struct.pack('>I', random_ip_int))返回随机IP地址return f"{random_ip_addr}/{str_ip_mask}"生成随机IP地址并打印print(get_random_ip())
请注意,这个代码示例仅适用于IPv4地址。如果你需要生成IPv6地址,你需要使用不同的数据结构和函数。
