Obtener Dirección MAC del Cliente PHP [SOLUCIONADO]

“`html

Manejar los fundamentos de PHP puede ser una habilidad altamente deseable para muchos programadores y desarrolladores web. Uno podría preguntarse sobre cómo llevar a cabo ciertas tareas, como poder conseguir la dirección MAC de un cliente. Este tipo de operaciones puede ser crítico al trabajar con redes de computadoras, por lo que tener este conocimiento a mano es esencial para cualquier programador que se precie.

La dirección MAC, que se conoce en español como la dirección Control de Acceso al Medio, es un identificador único asignado a la tarjeta de red de un dispositivo. Este número, codificado en la tarjeta de red, permite la identificación de cada sistema que se conecta a la red.

La habilidad para localizar esa dirección MAC mediante PHP es esencial cuando se necesita rastrear la actividad de red, o incluso particularmente cuando se desea identificar un dispositivo en particular para fines de seguridad. Vamos a ver cómo se puede hacer esto a través de unos pocos pasos.

$arp=`arp -a`;
$lines=explode("n", $arp);
foreach($lines as $line){
    $cols=preg_split('/s+/', trim($line));
    if ($cols[0]==$_SERVER['REMOTE_ADDR']){
        $mac=$cols[1];
    }
}

Este código incluye una función de retroceso que ejecuta el comando arp -a, que va a listar todas las direcciones MAC en la red actual. Asegúrate de cambiar la dirección IP en la última línea del código con la dirección IP real del dispositivo cuya dirección MAC deseas obtener.

Una vez que el código ha ejecutado el comando y guardado su salida en la variable $arp, éste divide la salida en líneas individuales, creando una serie de valores. Después, pasa por todos estos valores y, si encuentra una línea con la dirección IP solicitada, extrae la dirección MAC correspondiente.

function getMacForIp($ip){
    $mac = shell_exec("arp -a $ip");
    if(startsWith(strtolower($mac), strtolower($ip)))
    {
        $mac = explode(" ", $mac);
        return $mac[1];
    }
    else
    {
        return false;
    }
}

En este segundo fragmento de código, creamos una función que se llame getMacForIp, donde $ip será la dirección IP del dispositivo objetivo. Esta función va a ejecutar el comando shell “arp -a $ip” y almacenará el resultado en la variable $mac. Si la salida comienza con la dirección IP del dispositivo objetivo, la función va a dividir la salida por espacios en blanco y devolverá la segunda parte ($mac[1]), que será la dirección MAC del dispositivo objetivo. Si la salida no comienza con la dirección IP del dispositivo objetivo, la función devolverá false.

“`

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad