从CIDR前缀获取所有Ipv6地址?

时间:2015-11-25 10:38:55

标签: php ipv6 subnet cidr

我发现很多信息如何从ipv4 cidr子网获取所有地址,但对ipv6没有任何帮助。

有php任何库来计算吗? 我需要的是来自ipv6 cidr子网的所有地址的数组。

例如,此子网中的所有地址3FFA:FF2B:4D:A000 :: / 51。

之后我想对这个地址进行nslookup。

1 个答案:

答案 0 :(得分:4)

  

我需要的是来自ipv6 cidr的所有地址的数组

实际上,这可能不是你想要的。涉及的地址数量很快就会变得无法管理。将它们全部保存在一个数组中将需要大量的内存。 (例如,如果您将每个地址保持为128位值 那么对于a / 51你需要大约2,000,000,000,000 TB的ram来保存那个阵列。

你真正想要的东西可能是生成顺序地址的东西,这样你就可以遍历地址并对每个地址执行一些操作;再次这不可能是可管理的,因为即使你只需要1ns来处理每个IP,你将需要千禧年来实际迭代/ 51中的所有地址(例如(1e-9 * 2 ** 77) /(86400 * 365)= 4,791,848年)。