将 IP 范围转换为 CIDR 地址范围 c#
本文关键字:范围 地址 CIDR 转换 IP | 更新日期: 2023-09-27 18:34:44
>我有以下问题:我需要将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#
代码来执行它,那就太好了。
使用 IPNetwork2 nuget 包,您可以将子网划分到/32 并迭代结果 ips :
文档示例 8
: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);
}
输出
All :
1.1.1.0
1.1.1.1
1.1.1.2
1.1.1.3
1.1.1.4
1.1.1.5
1.1.1.6
1.1.1.7