2

我能够以编程方式获得IP address和。Subnet Mask有没有办法我们可以使用这两个信息生成所有可寻址的主机 IP?

我只是想Ping Sweep为我的应用程序开发一个简单的模块。

谢谢。

PS:我使用的是 C# .NET 3.5。

4

1 回答 1

6

计算第一个和最后一个主机 IP 地址,然后依次迭代它们。第一个 IP 地址是(address & mask) + 1. 最后一个是(address | ~mask) - 1

因此,如果网络为192.168.132.0且网络掩码为255.255.255.0,则第一个符合条件的主机 IP 为:

(address & mask) + 1
(192.168.132.0 & 255.255.255.0) + 1
192.168.132.0 + 1
192.168.132.1

最后一个符合条件的主机 IP 是:

(address | ~mask) - 1
(192.168.132.0 | ~(255.255.255.0)) - 1
(192.168.1.32.0 | (0.0.0.255)) - 1
192.168.132.255 - 1
192.168.132.254

所以有效的主机地址是192.168.132.1通过192.168.132.254包容的。

于 2012-05-02T06:36:22.487 回答