网络中的主机IP范围

bdh*_*har 2 c# network-programming

我能够得到IP addressSubnet Mask编程.有没有办法用这两个信息生成所有可寻址的主机IP?

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

谢谢.

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

Dav*_*rtz 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
Run Code Online (Sandbox Code Playgroud)

最后符合条件的主机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
Run Code Online (Sandbox Code Playgroud)

因此,有效的主机地址是192.168.132.1通过192.168.132.254包容性.