2012-09-21 91 views
0

我正在使用PHP製作網絡監視程序。 我希望能夠連接到DNS或DHCP服務器並獲取屬於網絡的所有計算機。 目前我正在運行嵌套for循環ping每個可能的IP地址,但它需要長達10多個子網。 我試圖改變做像一個小白菜,像做老闆一樣做。 我想獲得所有計算機名稱和IP地址的列表,以及它們的IP是動態分配還是靜態分配。 我該怎麼做?從DNS或DHCP服務器獲取信息

回答

1

沒有辦法枚舉網絡上的所有主機,甚至ping所有這些都是不夠的,因爲有些可能不會迴應ping。對於動態分配的可以查詢DHCP服務器,但作爲協議的DHCP不支持這一點,您必須編寫守護進程並查詢日誌或分配文件。

如果你確實想通過ping來做,我會建議編寫一個小程序在後臺運行,並且ping所有內容,並將結果保存在內存中,然後讓你的php腳本查詢它。這樣你的響應時間將會接近即時。只要主機不會出現和消失太頻繁(聽起來不太可能),那麼這應該沒問題。