我有一个CIDR Ipv6地址列表
2c0f:fe40:8000::/48
2c0f:feb0::/43
2c0f:feb0:20::/45
如何在不使用外部库的情况下(从VS安装中不包括)获得ip范围从-到? 这不是convert cidr to range的副本,因为我的问题是指IPv6表示法,而不是IPv4。
示例:
Input: 2c0f:fe40:8000::/48
Output: 2c0f:fe40:8000:0:0:0:0:0 - 2c0f:fe40:8000:ffff:ffff:ffff:ffff:ffff
答案 0 :(得分:1)
我为您的问题写了一个快速解决方案,无需使用任何外部库here you can find the source code。
有关如何使用它的示例:
CidrBlock block = CidrBlock.Parse("2c0f:fe40:8000::/48");
Console.WriteLine($"Start address: {block.StartAddress.IPAddress}");
Console.WriteLine($"End address: {block.EndAddress.IPAddress}");
会回来
Start address: 2c0f:fe40:8000::
End address: 2c0f:fe40:8000:ffff:ffff:ffff:ffff:ffff
关于。-
答案 1 :(得分:0)
IPNetwork2是一个很棒的nuget软件包,几乎可以满足您与网络地址相关的所有需求。
有了它,您可以轻松解析IPV6 CIDR并获得该范围的第一个和最后一个IP。
var ipnetwork = IPNetwork.Parse("2c0f:fe40:8000::/48");
Console.WriteLine("FirstUsable : {0}", ipnetwork.FirstUsable);
Console.WriteLine("LastUsable : {0}", ipnetwork.LastUsable);