Maison >développement back-end >tutoriel php >Comment puis-je récupérer les adresses MAC et IP des clients connectés à l'aide de PHP ?

Comment puis-je récupérer les adresses MAC et IP des clients connectés à l'aide de PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-15 09:31:10742parcourir

How Can I Retrieve Connected Clients' MAC and IP Addresses Using PHP?

Récupération des adresses MAC et IP des clients connectés en PHP

En PHP, obtention des adresses MAC et IP des les clients connectés nécessitent des approches différentes en raison de la disponibilité variable de ce informations.

Adresses IP et MAC du serveur

L'adresse IP du serveur est facilement disponible via $_SERVER['SERVER_ADDR' ]. Quant à l'adresse MAC, elle peut être récupérée en analysant le résultat de commandes telles que netstat -ie (Linux) ou ipconfig /all (Windows).

Adresse IP du client< /h3>

L'adresse IP du client peut être obtenue à partir de $_SERVER['REMOTE_ADDR'].

Adresse MAC du client

Déterminer l'adresse MAC du client en PHP est un défi, car il n'est généralement pas accessible au serveur sauf lorsque les clients résident sur le même Ethernet segment.

Si les clients résident sur le même réseau local, l'analyse de la sortie de arp -n (Linux) ou arp -a (Windows) peut fournir l'adresse MAC. Voici un exemple en PHP utilisant des backticks :

<br>$ipAddress=$_SERVER['REMOTE_ADDR'];<br>$macAddr=false;</p>
<h1> exécutez la commande externe, divisez la sortie en lignes</h1>
<p>$arp=arp -a $ipAddress;<br>$lines=explode("n", $arp);</p>
<h1>recherchez la ligne de sortie décrivant notre adresse IP</h1> <p>foreach($lines as $line)<br>{<br> $cols=preg_split('/s /', trim($line));<br> if ($cols[0]==$ipAddress)<br> {</p>
<pre class="brush:php;toolbar:false">   $macAddr=$cols[1];

}
}

Cependant, si les clients ne sont pas sur le même LAN, la récupération de l'adresse MAC n'est pas possible via PHP sans moyens supplémentaires de transmission d'informations. du client.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn