2012-05-02 51 views
2

我能夠以編程方式獲得IP addressSubnet Mask。有沒有一種方法可以用這兩種信息生成所有可尋址的主機IP?網絡中主機IP的範圍

我只是想爲我的應用程序開發一個簡單的Ping Sweep模塊。

謝謝。 PS:我正在使用C#.NET 3.5。

回答

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.1192.168.132.254(含)。

+0

+,謝謝...早...! SRY! –