2012-01-18 70 views
0

是否有任何方法來確定使用php的局域網內的可用IP地址列表 ?即,Determinig可用的IP地址

假設局域網由連接的100臺計算機組成。在適當的時候,一些計算機正在使用動態IP,其他計算機則使用靜態IP。如何確定網絡中的可用IP,以便將靜態IP分配給使用動態IP的計算機?

+0

這聽起來像這有可能是在命令行上一個現成的工具的工作。你在什麼操作系統上? – 2012-01-18 10:16:19

+0

這是另外一個問題。有些系統使用linux fedora和一些windows xp。局域網連接到內部服務器,它在unix上工作 – kush 2012-01-18 10:22:23

+1

我認爲理想的方法是詢問DHCP服務器。如果它具有顯示所有使用的IP的功能 – 2012-01-18 10:24:53

回答

1

假設LAN包括100臺計算機連接英寸在適當的時候,一些計算機正在使用動態IP,其他計算機則使用靜態IP。如何確定網絡中的可用IP,以便將靜態IP分配給使用動態IP的計算機?

Ehrm?您可以以某種方式詢問DHCP服務器,或者您可以ping每個可能的子網中的機器,以查看哪個IP地址被使用,哪個不是。唉,這不是簡單的事實,而是要講真相。在我看來,這將是DHCP服務器的責任。

的平相當容易:

<?php 
for($i = 1; $i < 255; $i ++) { /* Naturally, this only goes for /24 networks */ 
    $address = '10.10.10.' . $i; 

    $out = shell_exec('ping ' . $address); 
    var_dump($out); 
} 
-1

有一個在PHP沒有這樣的功能,但你可以通過一個得到所有IP地址的一個列表,並將其存儲陣列

+0

yes同意在php中沒有這樣的功能。 – kush 2012-01-18 10:23:48

+0

但這劑可以解決問題 – kush 2012-01-18 10:30:08