Listar todas las direcciones IP en una subred

Necesito obtener todas las direcciones IP contenidas en una subred y estoy tratando de hacerlo usandoIPnetwork

Por ejemplo, la subred 192.168.1.0/29 tendría el siguiente resultado:

        // 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

Aquí está mi 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 puede ver, este no es el resultado deseado. ¿Qué me estoy perdiendo? ¿Hay otra herramienta o método para hacer este trabajo? Me las arreglé para hackear algo, pero no es bonito y no estoy seguro de si está enumerando correctamente subredes más grandes.

Respuestas a la pregunta(2)

Su respuesta a la pregunta