js 获取客户端mac地址

想获取js 获取客户端mac地址,尝试很多方法都没有用,请各位大神给点意见。请不要问为什么要获取之类的。

阅读 31.9k
2 个回答

这是不(太)可能的,主要原因是受限于浏览器的安全控制。因为 MAC 地址是全球唯一的网络设备标示(当然,它能被人工改动,所以这个标示的唯一性不够靠谱),所以像浏览器这种可以运行未知来源脚本的软件环境是不允许访问本地设备的信息的。

但是,在某些特定的情况下还是有办法的。比如说写一个可以运行在本地的 Java Applet,或者 ActiveX(仅限 IE),通过它们将 MAC 地址传递给浏览器,于是 JS 可以拿到;类似的方法也可以通过其他方式编写的浏览器扩展来实现(火狐有一个,名字忘了……)。但是这种方法也有局限性:

  1. 几乎所有的浏览器对于此类“外挂”都不是默认就接受的,它会提示用户选择是否安装并开启,所以最终决定权掌握在用户手中;

  2. 它们大部分都不是跨平台/浏览器的(除了 Java Applet)。

若是考虑 Node 环境的话,据我所知,获得客户端 IP 及其他信息很容易,MAC 地址则必须保证客户端和服务端在同一个 LAN 的网段内——这可能不是你想要的。

另外一点可以考虑,如果应用是一个内网应用,且所有客户端都由 DHCP 服务器分发 IP 地址,那倒是可以通过询问 DHCP 服务器来拿到指定 IP 地址的 MAC 地址。

新手上路,请多包涵

权限浏览器不给你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏