我遇到以下问题:我需要将IP
地址范围转换为CIDR
地址范围,而不会丢失地址。例如,
如果我有范围1.1.1.3 - 1.1.1.7
,我可以将其转换为
1.1.1.1/29
使用IPNetwork
库,但如果我将转换
1.1.1.1/29
我再次获得1.1.1.1 - 1.1.1.6
。
我如何划分范围以CIDR
格式获得一些范围而没有损失?
如果你能告诉我任何C#
代码来执行它,那将会很好。
答案 0 :(得分:0)
使用IPNetwork2 nuget包,您可以将子网划分到/ 32并迭代结果ips:
文档示例8:
var output = document.getElementById('inputText').innerHTML;
output = parseFloat(output);
if(output != '0'){
inputText.innerHTML= "(" + (output *2)
.toFixed(3) + "," + (output*2).toFixed(3) + ")";
}
输出
IPNetwork wholeInternet = IPNetwork.Parse("1.1.1.1/29");
IPNetwork ips = IPNetwork.Subnet(wholeInternet, 32);
Console.WriteLine("All :");
foreach (IPNetwork ip in ips)
{
Console.WriteLine("{0}", ip);
}