【发布时间】:2016-11-25 02:42:29
【问题描述】:
我正在使用 IPNetwork C# 库来查找第一个和最后一个可用的 IP 地址。 我想要实现的是在列表中打印或存储第一个和最后一个可用 IP 之间的所有 IP 地址范围。我正在使用以下内容来查找第一个和最后一个可用的 IP。
IPNetwork ipnetwork = IPNetwork.Parse("192.168.1.1/24");
string first = ipnetwork.FirstUsable.ToString();
string last = ipnetwork.LastUsable.ToString();
如果我传递一个大于或等于 24 的网络掩码,打印所有范围非常简单,因为 /24 最多我们有 256 个 IP 地址,254 个可用于主机,一个简单的循环将生成所有范围,因为只有第四个八位字节会被改变。但是,如果我传递的网络掩码小于 \24 示例 \23 则第三个八位字节也需要更改,并且一个简单的循环将无法完成这项工作,需要找到另一个解决方案。 此外,传递给 IPNetwork.Parse 的参数可能不是必需的 192.168.1.1 或 10.0.2.1,而是 192.168.1.130 或 10.0.2.200,这也是需要考虑的。
【问题讨论】:
-
你写的是 IPNetwork.Parse() 还是一个预先存在的库?
-
这是一个现有的库。
标签: c# .net network-programming ip