
크로스 플랫폼 Node.js 라이브러리로, Linux, macOS, Windows에서 네트워크 인터페이스별 MAC 주소를 검색하며, async 및 sync API를 제공합니다.
Linux, OS X, Windows에서 MAC 주소를 검색합니다.
MAC 주소에 대한 일반적인 오해는 모든 호스트가 하나의 MAC 주소를 가진다는 것이지만, 호스트는 여러 개의 MAC 주소를 가질 수 있습니다. 모든 네트워크 인터페이스가 자신의 MAC 주소를 가질 수 있기 때문입니다.
이 라이브러리는 네트워크 인터페이스별로 MAC 주소를 찾을 수 있게 해주며,
호스트 시스템을 식별하는 하나의 MAC 주소만 필요하다면 적절한 인터페이스를 선택합니다
(아래 API + 예제 참조).
기능:
Linux, Mac OS X, Windows, 그리고 대부분의 UNIX 시스템에서 동작합니다.node ≥ 0.12 및 io.js는 os.networkInterfaces()에서 MAC 주소를 보고합니다.
이 라이브러리는 가능할 때 이 정보를 활용합니다.os.networkInterfaces()의 적절한 대체 기능을 제공합니다.
(아래 API + 예제 참조).npm install --save macaddress
var macaddress = require('macaddress');
(비동기) .one(iface, callback) → string
(비동기) .one(callback) → string
(비동기) .all(callback) → { iface: { type: address } }
(동기) .networkInterfaces() → { iface: { type: address } }
.one([iface], callback)지정된 iface의 MAC 주소를 검색합니다.
iface가 생략되면 이 함수는 자동으로 적절한 장치를 선택합니다
(예: Linux의 eth0, OS X의 en0 등).
iface 매개변수 없이:
macaddress.one(function (err, mac) {
console.log("이 호스트의 MAC 주소: %s", mac);
});
→ 이 호스트의 MAC 주소: ab:42:de:13:ef:37
iface 매개변수 사용:
macaddress.one('awdl0', function (err, mac) {
console.log("awdl0의 MAC 주소: %s", mac);
});
→ awdl0의 MAC 주소: ab:cd:ef:34:12:56
.all(callback)모든 내부 인터페이스가 아닌 인터페이스의 MAC 주소를 검색합니다.
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()os.networkInterfaces()의 유용한 대체 기능입니다. 내부 인터페이스가 아닌 인터페이스만 보고합니다.
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"
}
}