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.

questionAnswers(2)

yourAnswerToTheQuestion