Мне нужно получить все IP-адреса, содержащиеся в подсети, и я пытаюсь сделать это, используя IP-сеть
Например, подсеть 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
Как видите, это не желаемый результат.Что мне не хватает?Есть ли другой инструмент или метод, чтобы выполнить эту работу?Мне удалось что-то взломать, но это не красиво, и я не уверен, правильно ли он перечисляет большие подсети.