50 votes

Comment obtenir l'adresse MAC d'un client en utilisant PHP ?

Comment puis-je obtenir l'adresse MAC en utilisant PHP ou javascript...

38voto

Pointy Points 172438

L'adresse MAC (l'adresse d'interface de réseau local de bas niveau) ne survit pas aux sauts dans les routeurs IP. Vous ne pouvez pas trouver l'adresse MAC du client à partir d'un serveur distant.

Dans un sous-réseau local, les adresses MAC sont mises en correspondance avec les adresses IP par le biais du système ARP. Les interfaces sur le réseau local savent comment faire correspondre les adresses IP aux adresses MAC. Cependant, lorsque vos paquets ont été acheminés sur le sous-réseau local vers (et par) la passerelle vers le "véritable" Internet, l'adresse MAC d'origine est perdue. De manière simplifiée, chaque saut de sous-réseau à sous-réseau de vos paquets implique le même type de mappage IP vers MAC pour les éléments suivants local le routage dans chaque sous-réseau.

13voto

echo GetMAC();

function GetMAC(){
    ob_start();
    system('getmac');
    $Content = ob_get_contents();
    ob_clean();
    return substr($Content, strpos($Content,'\\')-20, 17);
}

Ce qui précède va essentiellement exécuter le getmac et analyser sa sortie console, ce qui donne l'adresse MAC du serveur (et/ou où que ce soit). PHP est installé et fonctionne).

5voto

Voici une façon possible de le faire :

$string=exec('getmac');
$mac=substr($string, 0, 17); 
echo $mac;

3voto

ram ganesh Points 47

Utilisez cette fonction pour obtenir l'adresse MAC du client :

function GetClientMac(){
    $macAddr=false;
    $arp=`arp -n`;
    $lines=explode("\n", $arp);

    foreach($lines as $line){
        $cols=preg_split('/\s+/', trim($line));

        if ($cols[0]==$_SERVER['REMOTE_ADDR']){
            $macAddr=$cols[2];
        }
    }

    return $macAddr;
}

1voto

Patrick Fisher Points 3979

Vous pouvez obtenir l'adresse MAC du client en javascript, s'il utilise Windows et vous permet d'installer un contrôle ActiveX.

http://www.eggheadcafe.com/community/aspnet/3/10054371/how-to-get-client-mac-address.aspx

http://codingresource.blogspot.com/2010/02/get-client-mac-address-ip-address-using.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X