nodejs 获取客户端的mac地址

Huy*_*ong 1 sockets tcp mac-address node.js

我使用NodeJS 中的net模块创建了一个 Tcp 服务器,并尝试从每个客户端获取 mac 地址信息以生成 uuid。但是,在 Socket 对象中,并没有关于它的信息。我也试图从 arp 表中读取 mac 地址,但它也不起作用。有什么其他方法可以弄清楚吗?

xhg*_*xhg 8

因为 MAC 地址属于 OSI 层的第 2 层,除非您在同一地址空间中,否则您将无法访问它,因为它会被路由器剥离。

解释

MAC 地址,属于OSI 7 层的第 2 层“数据链路层” 。客户端的 MAC 地址仅对它们直接连接的路由器可见。

路由器将部分分解数据包以获取第 3 层“网络层”标头,以确定数据包应发送到何处,IP 地址使用到何处。

然后,第 4 层,“传输层”,是您谈论特定协议的地方,例如 TCP。

因此,作为一个服务器,您CAN NOT除非你是在第2层连接到您的客户得到客户的MAC地址。

  • @Psi 这是完全可以接受的。这是有价值的信息。赞成。 (3认同)