Heim > Backend-Entwicklung > PHP-Problem > So erhalten Sie die Computer-IP, den Hostnamen und die Mac-Adresse aller Benutzer im PHP-LAN

So erhalten Sie die Computer-IP, den Hostnamen und die Mac-Adresse aller Benutzer im PHP-LAN

奋力向前
Freigeben: 2023-03-11 09:24:01
nach vorne
3223 Leute haben es durchsucht

Detaillierte Einführung in PHP, um die Computer-IP, den Hostnamen und die Mac-Adresse aller Benutzer im LAN zu erhalten. Es ist sehr praktisch, darauf zurückzugreifen.

So erhalten Sie die Computer-IP, den Hostnamen und die Mac-Adresse aller Benutzer im PHP-LAN

Der Code lautet wie folgt:

<?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";
 }
 }
}
Nach dem Login kopieren

php, um die Computer aller Benutzer im LAN abzurufen Vollständiges Beispiel für IP, Hostnamen und Mac-Adresse

Dieses Programm wird im CLI-Modus ausgeführt und es sollte auch im Browser möglich sein

Die PHP-Funktion zu erhalten Die Benutzer-IP im LAN ist abgeschlossen und PHP wird hauptsächlich verwendet. Die exec-Funktion und der Befehl arp -a von Windows

zum Abrufen der lokalen IP: gethostbyname($_ENV['COMPUTERNAME']) unterscheiden sich von der vorherigen Schreibmethode kann es weiterhin eingehend studieren.

Funktion zum Abrufen des Hostnamens: gethostbyaddr(IPd) Diese Funktion ist ebenfalls sehr leistungsfähig.

Empfohlenes Lernen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo erhalten Sie die Computer-IP, den Hostnamen und die Mac-Adresse aller Benutzer im PHP-LAN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:512pic.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage