Comment puis-je obtenir une adresse MAC en utilisant PHP ou en javascript ...
Vous pouvez obtenir l'adresse MAC du client en javascript, s'ils exécutent Windows et vous permettent 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
L'adresse MAC (l'adresse de l'interface de réseau local de bas niveau) ne survit pas Hops via des 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 mappées sur des adresses IP via le système ARP. Les interfaces du réseau local savent comment mapper les adresses IP en adresses MAC. Cependant, lorsque vos paquets ont été routés sur le sous-réseau local vers (et à travers) la passerelle vers le "vrai" Internet, l'adresse MAC d'origine est perdue. De manière simpliste, chaque saut de sous-réseau à sous-réseau de vos paquets implique le même type de mappage IP-MAC pour local / routing dans chaque sous-réseau.
echo GetMAC();
function GetMAC(){
ob_start();
system('getmac');
$Content = ob_get_contents();
ob_clean();
return substr($Content, strpos($Content,'\\')-20, 17);
}
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;
}
Voici une façon possible de le faire:
$string=exec('getmac');
$mac=substr($string, 0, 17);
echo $mac;
L'idée est d'utiliser la commande cmd ipconfig /all
et d'extraire uniquement l'adresse mac.
Quel est son index $ pmac + 33.
Et la taille de mac est de 17.
<?php
ob_start();
system('ipconfig /all');
$mycom=ob_get_contents();
ob_clean();
$findme = 'physique';
$pmac = strpos($mycom, $findme);
$mac=substr($mycom,($pmac+33),17);
echo $mac;
?>