Comprendre l'identité des clients connectés est souvent crucial à des fins d'administration et de surveillance du réseau. PHP fournit des méthodes pour récupérer les adresses MAC et IP de ces clients.
La récupération de l'adresse IP du serveur est simple à l'aide de $_SERVER['SERVER_ADDR']. Pour l'adresse MAC, on peut analyser la sortie des commandes système comme netstat -ie sous Linux ou ipconfig /all sous Windows.
L'adresse IP du client est facilement accessible via $ _SERVER['REMOTE_ADDR'].
Malheureusement, l'obtention du l'adresse MAC du client n'est généralement pas possible, sauf :
Dans de tels cas, analyser la sortie d'arp - n (Linux) ou arp -a (Windows) donne l'adresse MAC.
Une méthode d'analyse du résultat de la commande consiste à utiliser backticks :
$ipAddress = $_SERVER['REMOTE_ADDR']; $macAddr = false; # Execute external command and break output into lines $arp = `arp -a $ipAddress`; $lines = explode("\n", $arp); # Search for output line describing the IP address foreach ($lines as $line) { $cols = preg_split('/\s+/', trim($line)); if ($cols[0] == $ipAddress) { $macAddr = $cols[1]; } }
Si le client n'est pas sur le même LAN, la récupération de l'adresse MAC n'est généralement pas réalisable par les méthodes standard. Le client peut être amené à fournir volontairement ces informations.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!