我正在尝试编写一个脚本,将大于(不大于/16)大于/24 的子网分解为/24 子网。例如:10.10.10.0/23 应该给我 10.10.10.0/24 和 10.10.11.0/24
我的逻辑是首先扫描 CIDR 掩码。如果小于 24,则从 24 中减去该数字,该数字(假设为 x)给出 /24 的总数,然后是 1 到 IP x 乘以 /24 的第三个八位字节。
例如:10.10.8.0/22
if 22 < 24
x = 24-22 = 2
total # of /24s = 2^x = 4
So output :
10.10.8.0/24
10.10.9.0/24
10.10.10.0/24
10.10.11.0/24
Run Code Online (Sandbox Code Playgroud)
我不知道如何仅编码/修改第三个八位字节的字符串,并仅将 1 添加到第三个八位字节。
我正在考虑创建所有第三个八位字节值的列表并重新构建 IP。但如果有一种更简单的方法,那会对我有很大帮助!
谢谢 !