2017-09-05 11 views
0

PHPコードを使用したローカルエリアネットワークのIPアドレスとMACアドレスの検索。PHPコードを使用したローカルエリアネットワークのIPアドレスとMACアドレスの検索

以下のコードはWindows上で動作しています。しかし、ラズベリーパイで動作しませんでした。私を助けてください。

$ipadd = gethostbyname(trim(`hostname`)); 
    echo $ipadd."<br>"; 
    $add = explode(".",$ipadd); 
    array_pop($add); 
    $addre = implode(".",$add); 
    $address = $addre."."; 
    $i = 1; 
    while($i < 254) 
    { 
     pingAddress($address.$i,$ipadd); 
     $i++; 
    } 
    function pingAddress($ip,$dip) 
    { 
     $pingresult = exec("ping -n 1 -w 1 $ip", $outcome, $status); 
     if (0 == $status) 
     { 
      if ($ip != $dip) 
      { 
       $cmd = "arp -a " . $ip; 
       $macadd = exec($cmd); 
       $str = $macadd; 
       $mac = explode(" ",$str); 
       echo $ip." - ".$mac[11]."<br>"; 
      } 
      else 
      { 
       $string = exec('getmac'); 
       $mac = substr($string, 0, 17); 
       echo $ip." - ".$mac."<br>"; 
      } 
     } 
     else 
     { 
     } 
    } 

答えて

0

あなたのPiはおそらく* nixで動作していて、pingには若干異なるフラグが設定されています。

私は-nを使用して、* nix上でちょうど1つのpingを言うと仮定します。このパラメータを忘れて、-wを使ってpingを制限するだけです。コードは...

$pingresult = exec("ping -w 1 $ip", $outcome, $status); 
関連する問題