
क्रॉस-प्लेटफ़ॉर्म Node.js लाइब्रेरी जो लिनक्स, macOS और Windows पर प्रति नेटवर्क इंटरफ़ेस MAC पते प्राप्त करने के लिए async और sync APIs प्रदान करती है।
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');
(async) .one(iface, callback) → string
(async) .one(callback) → string
(async) .all(callback) → { iface: { type: address } }
(sync) .networkInterfaces() → { iface: { type: address } }
.one([iface], callback)दिए गए iface का MAC पता प्राप्त करता है।
यदि iface छोड़ दिया जाता है, तो यह फ़ंक्शन स्वचालित रूप से एक उपयुक्त डिवाइस चुनता है (जैसे Linux में eth0, OS X में en0, आदि)।
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
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)सभी गैर-आंतरिक इंटरफ़ेस के 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"
}
}