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

时间:2013-03-02 10:55:56

标签: php ip client-server

使用以下代码获取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;
?>

但它返回服务器机器MAC ID ..我需要获取运行我的网页的PC的MAC iD。

任何人都可以帮助我

4 个答案:

答案 0 :(得分:0)

MAC地址不会在PHP请求标头中发送,因此您无法通过这种方式访问​​它。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:-1)

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

此处有更多信息:How to get Client Machine's Mac Address in a Web application

答案 3 :(得分:-1)

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

这个问题已经过时了,但是当我设法找到它并且所有其他响应都是愚蠢的时候,让我们知道你不需要使用Java,即使这些信息没有直接暴露给php脚本,它也可用以某种方式为每个tcp连接。

请注意,如果他在NAT后面(很可能是大多数用户的情况),你不可能获得客户端真正的mac或ip地址。它的用处是另一回事。