从快速请求对象获取客户端MAC地址

时间:2016-05-05 18:16:56

标签: javascript node.js express

我试图从传入的请求对象中获取MAC地址。我的应用程序在nginx代理后运行,所以为了获取IP地址我使用下面的语法,它工作正常。

var ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;

同样有一种方法可以获取已经发出的请求的MAC地址。遇到这个包https://www.npmjs.com/package/getmac,我不确定这是否会有所帮助。从根本上说,我需要获取每个传入请求的MAC和IP地址。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

您无法从请求中获取它,但可以先获取它,然后将其存储在req.session中。

如何获取mac地址:

const os = require( 'os' );
var mac_ip = os.networkInterfaces()['en3'][3]['mac'];
console.log('ip_test: ', ip_test);
req.session.macip = mac_ip;

您还可以登录networkInterfaces来检查所有所需内容:

var networkInterfaces = os.networkInterfaces();
console.log( networkInterfaces );

注意:此方法将仅获取运行节点进程的设备的MAC。如果从服务器上运行,则此方法将获取服务器的MAC地址,而不是发出请求的客户端的MAC地址。