我需要获取子网中包含的所有 IP 地址,我正在尝试使用IPnetwork
例如,子网 192.168.1.0/29 将具有以下输出:
// Output
// 192.168.1.0
// 192.168.1.1
// 192.168.1.2
// 192.168.1.3
// 192.168.1.4
// 192.168.1.5
// 192.168.1.6
// 192.168.1.7
这是我的代码:
IPNetwork ipn = IPNetwork.Parse("192.168.1.0/29");
IPAddressCollection ips = IPNetwork.ListIPAddress(ipn);
foreach (IPAddress ip in ips)
{
Console.WriteLine(ip);
}
// Output
// 192.168.1.0
// 192.168.1.0
// 192.168.1.0
// 192.168.1.0
// 192.168.1.0
// 192.168.1.0
如您所见,这不是预期的结果。我错过了什么?是否有其他工具或方法可以完成这项工作?我设法破解了一些东西,但它并不漂亮,我不确定它是否正确枚举了更大的子网。