Maison  >  Article  >  développement back-end  >  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

奋力向前
奋力向前avant
2021-07-06 11:09:073159parcourir

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";
 }
 }
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer