我怎么知道访问者的MAC地址在Linux主机上(Nginx的)?

从以太网用户。

感谢。

有帮助吗?

解决方案

您不能获得通过PHP。

网络协议在一个堆使用。当进行HTTP通信,Web服务器使用HTTP协议,负责高层沟通。此协议的TCP协议的基础上实现的(这带来流状的连接和端口号),而这又是IP协议的顶部(V4或V6,其中用于识别带来IP地址),来实现这又在以太网协议的顶部实现。

在以太网协议是你需要有工作的人。它具有源MAC地址和目的地MAC地址两者。然而,最不幸的是,有很多与它的问题。

首先,它所传达的数据可能难以访问:我说“可能”,是因为我从来没有在如何做到这一点跌跌撞撞

第二,当他们访问您的网站就像你让你的客户端的路由器地址,你在以太网水平得到客户的路由器的MAC地址。除非他们不经过任何路由器(如果你的服务器直接连接到您的客户端机器没有任何干扰的路由器,因为这只会发生,因为有一大堆的路由器在那里,中继数据发送给互联网的其他部分),有没有机会,你会收到MAC地址将是你的客户。

三,Apache会永远不要试图访问这些数据。而且,由于PHP是“沙盒”到网络环境中的Apache给它,也没有办法,你可以回风以太网协议。

因此,从一个网站访问的访问者的MAC地址,从PHP,是不可能的。

修改看来你已经取出PHP的一部分从你的问题。所以很明显,最后一点会受不了了。

其他提示

您不能得到与PHP它不包含在HTTP

更一般的问题是这样的一个。由于所有PHP必须与(我假设这是您的网络服务器上运行PHP,这里)工作的HTTP请求,你将无法得到MAC地址。这需要一些访问者的侧运行。

这可以或可以不工作。我知道它会在LAN客户端工作,但是外部客户也可能是不正确的。我不知道过度联网我的,但它是值得一试吧?

如果您在Windows或Linux上执行使用arp -a命令,它会打印出你的ARP记录,然后你就可以解析为Mac。

除此之外,据我所知,Apache(以及为此PHP)不只是给出来的MAC地址在其ENV瓦尔。

*编辑:对不起,这是行不通的......更好的效用然而arping的,这将只是给你的路由器的MAC

如果你想这样做,客户端将需要直接连接到服务器,在...

之间没有路由器

但是,如果是这样的话,那么arping的将工作......我不知道一个更好的工具,但它似乎有点浪费只是一个MAC地址进行轮询(根)。

MAC地址是唯一的对,如果我是正确的网络提供商可见(你的互联网主机可以看到路由器,例如MAC地址),不认为你可以用PHP得到它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top