如何使用php获取客户端计算机MAC ID

问题描述:

要获取使用以下代码的MAC ID。如何使用php获取客户端计算机MAC ID

<?php 

ob_start(); // Turn on output buffering 
system('ipconfig /all'); //Execute external program to display output 
$mycom=ob_get_contents(); // Capture the output into a variable 
ob_clean(); // Clean (erase) the output buffer 

$findme = "Physical"; 
$pmac = strpos($mycom, $findme); // Find the position of Physical text 
$mac=substr($mycom,($pmac+36),17); // Get Physical Address 

echo $mac; 
?> 

但其返回服务器mechines MAC ID ..我需要得到在我的网页运行PC的MAC ID。

谁能帮我

+1

不能,客户端浏览器和网络服务器之间的所有IP通信都处于更高级别 – 2013-03-02 11:02:15

你不能在PHP这样做。 PHP只能运行在你的服务器上。您可以在客户机上执行的唯一代码是JavaScript。

此处了解详情:How to get Client Machine's Mac Address in a Web application

+0

PHP可以作为独立服务安装,而无需其他服务(如Web服务器)。 只要您可以通过远程方法(例如通过SSH类型连接)从ipconfig调用的输出获取,您可以以这种方式刮取用户网络设备的MAC ID,但它确实需要配置远程机器以允许它有服务去做。 – 2016-07-14 19:50:55

MAC地址在PHP请求头不发送,所以你将无法通过,这意味着访问它。

您需要实现使用JAVA(而不是Javascript)来获取用户连接信息。

所有的互联网连接和网络设备都有MAC ID,这是识别设备,制造商和设备号码。

这将依赖于JAVA被实现在用户机器上运行,并且将是收集该信息的最可靠的方式。

对于使用PHP + netstat的一个正确的解决方案,请参阅How can I get the MAC and the IP address of a connected client in PHP?

这个问题是过时了,但我设法找到它和所有其他的反应是愚蠢的,让人们知道,你并不需要使用Java,即使这些信息没有直接暴露给php脚本,它也可以用于每个tcp连接。

请注意,如果他在NAT后面(这可能是大多数用户的情况),那么您不太可能获得客户端真实的MAC或IP地址。这是有用的另一件事。