[英]How to split IPV6 address to get the Network ID subnet in Javascript?
[英]How to get all IP's from a IPv6 Subnet in Java?
我正在使用“java-ipv6-0.17”jar 在 Java 中实现 IPv6 支持?
我使用下面的代码获得了开始范围和结束范围,但我需要给定子网中的所有 IP?
import com.googlecode.ipv6.IPv6NetworkMask;
public class IP {
public static void main(String[] args) {
final IPv6Network strangeNetwork = IPv6Network.fromString("2001:0db8::/31");
System.out.println("Start Range:"+ " "+ strangeNetwork.getFirst());
System.out.println("End Range:"+ " "+ strangeNetwork.getLast() + "\n");
输出 :
开始范围:2001:db8::
结束范围:2001:db9:ffff:ffff:ffff:ffff:ffff:ffff
任何人都可以帮忙并提供代码片段吗?
这是一个非常糟糕的主意要做到这一点,因为作为评论说,你不可能存储所有的地址,但作为一个学习的经验,你可以遍历一系列IPv6Address
使用IPv6AddressRange
。 由于IPv6AddressRange
实现了Iterable
,我们可以使用增强的 for 循环来运行它:
List<IPv6Address> ipList = new ArrayList<>();
IPv6AddressRange range = IPv6AddressRange.fromFirstAndLast(
IPv6Address.fromString("2001:db8:0000:0000:0000:0000:0000:0000"),
IPv6Address.fromString("2001:db9:ffff:ffff:ffff:ffff:ffff:ffff"));
for (IPv6Address addr : range) {
ipList.add(addr);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.