Tag: subnet

CIDR子网是否有本机.NET类型?

编写一个类来存储/validation像192.168.0.0/16这样的东西很简单,但我很好奇.NET中是否存在本机类型? 我想它会像IPAddress一样工作: CIDR subnet = CIDR.Parse(“192.168.0.0/16”); 基本上,它只需要确保您使用IPv4或IPv6地址,然后确定您指定的位数对该类型有效。

如何使用.net获取子网掩码?

我想使用c#获取客户端子网掩码。 我怎么才能得到它?

列出IP子网中的所有地址

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

按子网掩码计算IP范围

如果我有一个子网掩码,例如255.255.255.0和一个IP地址192.168.1.5 ,有没有一种简单的方法来确定该子网内所有可能的IP地址? 在这种情况下: 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 … … 192.168.1.252 192.168.1.253 192.168.1.254 192.168.1.255 直到现在我发现的都是重载的.net库。 是否有任何本地方法使用默认命名空间解决此问题?