
Biblioteca Node.js multiplataforma para recuperar direcciones MAC por interfaz de red en Linux, macOS y Windows, con APIs asíncronas y síncronas.
Obtén direcciones MAC en Linux, OS X y Windows.
Una idea errónea común sobre las direcciones MAC es que cada host tiene una dirección MAC, mientras que un host puede tener múltiples direcciones MAC – ya que cada interfaz de red puede tener su propia dirección MAC.
Esta biblioteca permite descubrir la dirección MAC por interfaz de red y elige una interfaz adecuada si todo lo que te interesa es una dirección MAC que identifique el sistema host (ver API + Ejemplos más abajo).
Características:
Linux, Mac OS X, Windows y en la mayoría de los sistemas UNIX.node ≥ 0.12 e io.js reportan direcciones MAC en , esta biblioteca utiliza esta información cuando está disponible.os.networkInterfaces()os.networkInterfaces() (ver API + Ejemplos más abajo).npm install --save macaddress
var macaddress = require('macaddress');
(async) .one(iface, callback) → string
(async) .one(callback) → string
(async) .all(callback) → { iface: { type: address } }
(sync) .networkInterfaces() → { iface: { type: address } }
.one([iface], callback)Obtiene la dirección MAC de la iface dada.
Si se omite iface, esta función elige automáticamente un dispositivo apropiado (p. ej. eth0 en Linux, en0 en OS X, etc.).
Sin el parámetro iface:
macaddress.one(function (err, mac) {
console.log("Mac address for this host: %s", mac);
});
→ Mac address for this host: ab:42:de:13:ef:37
Con el parámetro iface:
macaddress.one('awdl0', function (err, mac) {
console.log("Mac address for awdl0: %s", mac);
});
→ Mac address for awdl0: ab:cd:ef:34:12:56
.all(callback)Obtiene las direcciones MAC para todas las interfaces no internas.
macaddress.all(function (err, all) {
console.log(JSON.stringify(all, null, 2));
});
{
"en0": {
"ipv6": "fe80::cae0:ebff:fe14:1da9",
"ipv4": "192.168.178.20",
"mac": "ab:42:de:13:ef:37"
},
"awdl0": {
"ipv6": "fe80::58b9:daff:fea9:23a9",
"mac": "ab:cd:ef:34:12:56"
}
}
.networkInterfaces()Un reemplazo útil de os.networkInterfaces(). Reporta solo interfaces no internas.
console.log(JSON.stringify(macaddress.networkInterfaces(), null, 2));
{
"en0": {
"ipv6": "fe80::cae0:ebff:fe14:1dab",
"ipv4": "192.168.178.22"
},
"awdl0": {
"ipv6": "fe80::58b9:daff:fea9:23a9"
}
}