Su NodeJS ≥ 0,11 l'indirizzo MAC per ogni interfaccia di rete è nella produzione di os.networkInterfaces()
, ad esempio
require('os').networkInterfaces()
{ eth0:
[ { address: 'fe80::cae0:ebff:fe14:1dab',
netmask: 'ffff:ffff:ffff:ffff::',
family: 'IPv6',
mac: 'c8:e0:eb:14:1d:ab',
scopeid: 4,
internal: false },
{ address: '192.168.178.22',
netmask: '255.255.255.0',
family: 'IPv4',
mac: 'c8:e0:eb:14:1d:ab',
internal: false } ] }
In NodeJS ≤ 0,10 è necessario scoprire gli indirizzi MAC da soli, ma ci sono pacchetti per aiutarvi con che: node-macaddress (disclaimer: io sono l'autore della detta confezione).
Questo pacchetto seleziona anche un'interfaccia per il vostro ospite in modo che si può fare proprio
require('node-macaddress').one(function (err, addr) { console.log(addr); }
Nel nodo ≥ 0,11 non è necessario utilizzare la versione asincrona:
var addr = require('node-macaddress').one();
Dal momento che sei in genere interessa solo "l'host macaddress" (anche se non esiste una cosa come un host può avere più interfacce di rete ciascuna con un indirizzo MAC individuale), questa chiamata ti darà esattamente questo.
Er ... quale piattaforma e come la gestisci? –
Hai installato il modulo? 'npm install getmac'? – drinchev
@JoachimIsaksson node version 0.8.16 –