获取远程用户Mac地址

时间:2018-03-26 09:18:31

标签: node.js mac-address

我正在使用mongodb,express和nodejs构建基于Intranet的webapp的项目。该项目的目标是在身份验证时获取用户mac地址并运行远程ssh。然而,我发现很难获得远程pc mac地址。客户端和服务器应位于同一本地子网上。我尝试使用节点getmac模块,但显然它只提供主机服务器的mac,

var macAddress = require('getmac');
require('getmac').getMac(function(err, macAddress){
if (err)  throw err
console.log(macAddress)
});

我也尝试过macfromip模块,但是你必须预定义主机IP以获取远程计算机的mac。

var macfromip = require('macfromip');
macfromip.getMac('192.168.1.100', function(err, data){
    if(err){
        console.log(err);
    }
    console.log(data);

});

有没有其他方法可以获得用户的mac地址?

2 个答案:

答案 0 :(得分:0)

您似乎无法从IP获取MAC地址 getMac的文档没有与.getMac('192.168.1.100')

相关的任何内容

我认为这样做的方法是拥有一个包含IP及其MAC地址的数据库 这将需要一些东西来保存数据库中的每个MAC地址。可能是每台计算机上启动时运行的脚本。

有人在security.stackexchange.com上提出了这个问题。由于它位于同一网络上,如果在命令行上使用命令ping,则该IP的MAC地址将在ARP列表中注册。

ping your_ip_address

有了这个,您应该能够获得MAC地址:

arp -a

考虑到这一点,我找到了您可能感兴趣的这两个nodejs包: https://www.npmjs.com/package/pinghttps://www.npmjs.com/package/node-arp

答案 1 :(得分:0)

我想你必须做这个客户端并将其传回去。

根据SO answer的声音,您无法在Javascript中轻松完成,但答案显示:

  • 使用Java(带有签名的小程序)
  • 使用签名的Javascript,在FF(和一般的Mozilla)中获得比普通JS更高的权限(但设置相当复杂)