Maison > développement back-end > Problème PHP > Comment obtenir l'adresse IP de l'ordinateur, le nom d'hôte et l'adresse MAC de tous les utilisateurs du réseau local PHP

Comment obtenir l'adresse IP de l'ordinateur, le nom d'hôte et l'adresse MAC de tous les utilisateurs du réseau local PHP

奋力向前
Libérer: 2023-03-11 09:24:01
avant
3224 Les gens l'ont consulté

Introduction détaillée de php pour obtenir l'adresse IP de l'ordinateur, le nom d'hôte et l'adresse mac de tous les utilisateurs du LAN C'est très pratique. Les amis dans le besoin peuvent s'y référer

Comment obtenir l'adresse IP de l'ordinateur, le nom d'hôte et l'adresse MAC de tous les utilisateurs du réseau local PHP

Le code est le suivant :

.
<?php
$bIp = gethostbyname($_ENV[&#39;COMPUTERNAME&#39;]); //获取本机的局域网IP
echo "本机IP:",$bIp,"\n";
echo "本机主机名:",gethostbyaddr($bIp),"\n\n\n"; //gethostbyaddr 函数可以根据局域网IP获取主机名
//默认网关IP
list($ipd1,$ipd2,$ipd3) = explode(&#39;.&#39;,$bIp);
$mask = $ipd1 . "." . $ipd2 . "." . $ipd3 ;
exec(&#39;arp -a&#39;,$aIp); //获取局域网中的其他IP
foreach( $aIp as $ipv) {
 if(strpos($ipv,&#39;接口&#39;) !== false) {//一下显示的IP是否是当前局域网中的 而不是其他的类型 可以在cmd下试一下命令
 $bool = false;
 preg_match(&#39;/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/&#39;,$ipv,$arr);
 if(strcmp($arr[0],$bIp) == 0) {
  $bool = true;
 }
 } else {
 if($bool) {
  $str = preg_replace(&#39;/\s+/&#39;, &#39;|&#39;, $ipv);
  $sArr = explode(&#39;|&#39;,$str);
  if($sArr[1] == &#39;Internet&#39; || empty($sArr[1])) {
  continue;
  }
  //去除默认网关
  if(strcmp($mask . ".1", $sArr[1]) == 0) {
  continue;
  }
  //去除同网关下255的IP
  if(strcmp($mask . ".255", $sArr[1]) == 0) {
  continue;
  }
  //去除组播IP
  list($cIp) = explode(&#39;.&#39;, $sArr[1]);
  if($cIp >= 224 && $cIp <= 239) {
  continue;
  }
  echo "IP地址:|",$sArr[1],"|\n";
  echo "MAC地址:",$sArr[2],"\n";
  echo "主机名:",gethostbyaddr($sArr[1]),"\n";
  echo "\n\n";
 }
 }
}
Copier après la connexion

php pour obtenir les ordinateurs de tous les utilisateurs du LAN Exemple complet d'IP, de nom d'hôte et d'adresse mac

Ce programme s'exécute en mode cli, et il devrait également être possible sur le navigateur

La fonction php pour obtenir l'adresse IP de l'utilisateur dans le réseau local est complétée et php est principalement utilisé. La fonction exec et la commande arp -a de la fenêtre

obtiennent l'adresse IP locale : gethostbyname($_ENV['COMPUTERNAME']) est différente de la méthode d'écriture précédente. peut continuer à l’étudier en profondeur.

Fonction Obtenir le nom d'hôte : gethostbyaddr(IPd) Cette fonction est également très puissante.

Apprentissage recommandé : Tutoriel vidéo php

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!

Étiquettes associées:
source:512pic.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal