Listar IP todos os endereços em uma sub-rede
Preciso obter todos os endereços IP contidos em uma sub-rede e estou tentando fazer isso usandoIPnetwork
Por exemplo, a sub-rede 192.168.1.0/29 teria a seguinte saída:
// 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
Aqui está o meu código:
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
Como você pode ver, este não é o resultado desejado. o que estou perdendo? Existe outra ferramenta ou método para realizar esse trabalho? Eu consegui hackear algo, mas não é bonito e não tenho certeza se está enumerando sub-redes maiores corretamente.