Node没有内置访问这种低级数据.
但是,您可以执行ifconfig
并解析其输出或为节点编写C++扩展,该节点提供检索mac地址的函数.更简单的方法是阅读/sys/class/net/eth?/address
:
var fs = require('fs'),
path = require('path');
function getMACAddresses() {
var macs = {}
var devs = fs.readdirSync('/sys/class/net/');
devs.forEach(function(dev) {
var fn = path.join('/sys/class/net', dev, 'address');
if(dev.substr(0, 3) == 'eth' && fs.existsSync(fn)) {
macs[dev] = fs.readFileSync(fn).toString().trim();
}
});
return macs;
}
console.log(getMACAddresses());
Run Code Online (Sandbox Code Playgroud)
该函数返回一个包含所有eth*
设备的mac地址的对象.如果您希望所有具有一个设备的设备(即使它们被称为)wlan*
,只需取消dev.substr(0, 3) == 'eth'
检查即可.
归档时间: |
|
查看次数: |
7401 次 |
最近记录: |