Maison >développement back-end >tutoriel php >Comment puis-je obtenir les adresses MAC et IP des clients connectés à l'aide de PHP ?
Cet article vise à aider les développeurs à récupérer les adresses MAC et IP des clients connectés à leurs scripts PHP. Comprendre comment acquérir ces informations est crucial pour diverses applications liées au réseau.
La récupération de l'adresse IP du serveur est simple en PHP en utilisant $_SERVER['SERVER_ADDR'].
L'obtention de l'adresse MAC du serveur n'est pas une fonctionnalité native de PHP. Cependant, une approche consiste à analyser le résultat de commandes externes telles que netstat -ie sous Linux ou ipconfig /all sous Windows.
L'adresse IP du client est facilement disponible via $_SERVER ['REMOTE_ADDR'].
Malheureusement, PHP ne fournit pas d'adresse moyen direct de récupérer l’adresse MAC du client. Néanmoins, cela est possible sous une condition précise : si le client est sur le même segment Ethernet que le serveur. Dans de tels cas, vous pouvez analyser la sortie de arp -n (Linux) ou arp -a (Windows).
Récupération de la sortie d'une commande externe
Voici un exemple de en utilisant des backticks pour récupérer le résultat de la commande externe :
$ipAddress = $_SERVER['REMOTE_ADDR']; $macAddr = false; $arp = `arp -a $ipAddress`; $lines = explode("\n", $arp); foreach ($lines as $line) { $cols = preg_split('/\s+/', trim($line)); if ($cols[0] == $ipAddress) { $macAddr = $cols[1]; } }
Sachez que si le client n'est pas sur un réseau local, vous ne pouvez pas déterminer son adresse MAC sans mécanismes supplémentaires côté client pour la fournir.
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!