How to get MAC Address of all Devices in my Network using PHP ?

MAC Address

According to Wikipedia, a media access control address (MAC address) of a device is a unique identifier assigned to a network interface controller (NIC). For communications within a network segment, it is used as a network address for most IEEE 802 network technologies, including Ethernet, Wi-Fi, and Bluetooth.

Address Resolution Protocol (ARP)

The Address Resolution Protocol (ARP) is a communication protocol used for discovering the link layer address, such as a MAC address, associated with a given internet layer address, typically an IPv4 address. This mapping is a critical function in the Internet protocol suite.

<?php

$arp=`arp -a`;
$lines=explode("\n", $arp);
$devices = array();
foreach($lines as $line){
    $cols=preg_split('/\s+/', trim($line));
    if(isset($cols[2]) && $cols[2]=='dynamic'){
    	$temp = array();
    	$temp['ip'] = $cols[0];
    	$temp['mac'] = $cols[1];
    	$devices[] = $temp;
  }
}
?>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.4/css/bootstrap.min.css" integrity="sha256-SC9pI7daKIBEHzXq0JEtOr9yMl5V7yMMqoowsw8uzNs=" crossorigin="anonymous" />


<div class="container" style="margin-top:250px;">
  <div class="row">
    <div class="col-12">
      <table class="table table-striped table-bordered">
        <thead>
          <tr>
            <th>IP</th>
            <th>MAC</th>
          </tr>
        </thead>
        <tbody>
          <?php foreach($devices as $device){?>
            <tr>
              <td><?php echo $device['ip'];?></td>
              <td><?php echo $device['mac'];?></td>
            </tr>
          <?php } ?>
        </tbody>
      </table>
    </div>
  </div>
</div>

 

 

Follow this video for full guidance :