[英]How can I tell if a machine on my network is on with PHP?
我想寫一個類似於企業網絡控制台的PHP腳本,但是對於PC和設備的局域網而不是服務器的WAN。
我希望能夠檢查PC,復印機等是否連接到網絡。 我想知道即使它們已關閉,但這是不可能的,因為PC會忽略數據包,除非它是一個喚醒lan數據包,對嗎?
檢查PC是打開還是關閉的最佳方法是什么? 我使用fSocketOpen()
來測試服務器,但大多數PC都不是服務器。 他們響應ping但沒有端口打開連接,這意味着PHP fSocketOpen()
不起作用,但ping操作。
您可以使用系統命令並捕獲stdout以獲得結果。
只需搜索PHP的popen( http://uk3.php.net/popen )示例。
echo run('ping 192.168.1.5');
function run($command) {
$command .= ' 2>&1';
$handle = popen($command, 'r');
$log = '';
while (!feof($handle)) {
$line = fread($handle, 1024);
$log .= $line;
}
pclose($handle);
return $log;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.