我需要获取子网中包含的所有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
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
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
Run Code Online (Sandbox Code Playgroud)
如您所见,这不是理想的结果.我错过了什么?是否有其他工具或方法来完成这项工作?我已经设法破解了一些东西,但它并不漂亮,我不确定它是否正确枚举更大的子网.