मैं जानना चाहता हूं कि एनओडीई सर्वर के मैक पते (एसएस) को पुनर्प्राप्त करने का कोई तरीका है जिस पर यह चल रहा है।क्या मैं node.js के साथ एक अद्वितीय सर्वर मशीन पहचानकर्ता ला सकता हूं?
उत्तर
इस प्रकार के निम्न स्तर के डेटा तक पहुंचने के लिए नोड में कोई अंतर्निहित नहीं था।
हालांकि, आप ifconfig
निष्पादित कर सकते हैं और इसके आउटपुट को पार्स कर सकते हैं या नोड के लिए सी ++ एक्सटेंशन लिख सकते हैं जो मैक पते को पुनर्प्राप्त करने के लिए एक फ़ंक्शन प्रदान करता है। एक और भी आसान रास्ता /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());
समारोह एक वस्तु सभी eth*
उपकरणों के मैक पतों युक्त देता है। यदि आप सभी उपकरणों को चाहते हैं जिनके पास एक है, भले ही वे उदा। wlan*
कहा जाता है, बस dev.substr(0, 3) == 'eth'
चेक को हटा दें।
ThiefMaster, त्वरित प्रतिक्रिया के लिए धन्यवाद। क्या "/ sys/class/net/eth?/पता" क्रॉस-प्लेटफॉर्म है? – clayperez
सबसे अधिक संभावना लिनक्स-केवल। यह निश्चित रूप से विंडोज़ पर काम नहीं करेगा, बीएसडी जैसे अन्य ओएस के बारे में निश्चित नहीं है। – ThiefMaster
मैं शुरुआत में गेटमैक मॉड्यूल का उपयोग कर रहा था, हालांकि यह पहले डिवाइस से मैक पता वापस लौटाएगा। मेरे मामले में, मुझे wlan0 का मैक पता आवश्यक था, इसलिए wlan0 – Lucas
तुम सिर्फ एक अनूठा सर्वर आईडी के लिए देख रहे हैं, तो आप MongoDB/bson दृष्टिकोण लेने के लिए और सर्वर के होस्ट नाम के MD5 हैश के पहले n बाइट्स इस्तेमाल कर सकते हैं:
var machineHash = crypto.createHash('md5').update(os.hostname()).digest('binary');
इस कोड है node-buffalo से। सही नहीं है, लेकिन आप जो करने की कोशिश कर रहे हैं उसके आधार पर पर्याप्त अच्छा हो सकता है।
मैंने getmac पैकेज की कोशिश की लेकिन यह मेरे लिए काम नहीं करेगा (नोड v0.10, मैक ओएस एक्स) - इसलिए मैंने अपना खुद का सेट और बनाया: https://github.com/scravy/node-macaddress। यह Windows, ओएस एक्स, लिनक्स में काम करता है, और शायद के साथ हर यूनिक्स ifconfig
कमांड लाइन उपकरण का उपयोग कर Node.js कोड है मैक पता प्राप्त करने के लिए :-)
के आउटपुट में मैक पते वापस कर देगा पूरी तरह से काम किया! – Magico
यहाँ:
wlan0 के लिए`$ ifconfig | grep eth0 | awk '{print $5}'`
`$ ifconfig | grep wlan0 | awk '{print $5}'`
Node.js में, इस का उपयोग करें -
`// Get MAC address - $ ifconfig | grep wlan0 | awk '{print $5}'
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { console.log(stdout) }
exec("ifconfig | grep wlan0 | awk '{print $5}'", puts);
`
लेकिन यदि आप वाईफाई मैक पता बंद करते हैं तो शून्य –
का संग्रह होगा, फिर eth0 का उपयोग करें। – JamesNW
- 1. ओपनआईडी: पहचानकर्ता यूआरएल अद्वितीय है? क्या पहचानकर्ता
- 2. एक अच्छा अद्वितीय पीसी पहचानकर्ता क्या है?
- 3. मैं सी # में विंडोज 8 चलाने वाली मशीन के लिए एक अद्वितीय पहचानकर्ता कैसे प्राप्त करूं?
- 4. उपयोगकर्ताओं के लिए अद्वितीय पहचानकर्ता
- 5. मैं गिट * INTO * एक नंगे भंडार के साथ कैसे खींच/ला सकता हूं?
- 6. क्या पहचानकर्ता कॉलम के लिए एक अद्वितीय पहचानकर्ता (GUID) या एक बड़ा उपयोग करना बेहतर है?
- 7. पेपैल आईपीएन अद्वितीय पहचानकर्ता
- 8. मैक का अद्वितीय पहचानकर्ता?
- 9. LINQ के साथ मैं अद्वितीय कैसे चुन सकता हूं?
- 10. क्या Node.js टॉमकैट सर्वर के भीतर चलाया जा सकता है?
- 11. "पॉलिमॉर्फिज्म ला ला कार्टे" क्या है और मैं इससे कैसे लाभ उठा सकता हूं?
- 12. एक उत्पादन Node.js सर्वर
- 13. आईओएस अद्वितीय उपयोगकर्ता पहचानकर्ता डिवाइस
- 14. अद्वितीय वर्चुअल मशीन
- 15. एक अद्वितीय पहचानकर्ता प्राथमिक कुंजी कॉलम में डालने के दौरान मैं प्रदर्शन ओवरहेड का निरीक्षण कैसे कर सकता हूं?
- 16. ईकेवेन्टस्टोर और अद्वितीय कैलेंडर पहचानकर्ता
- 17. एक मशीन पर node.js सर्वर उदाहरणों का क्षैतिज स्केलिंग
- 18. क्या मैं जावास्क्रिप्ट के माध्यम से एक गैर मानक सीएसएस संपत्ति का मूल्य ला सकता हूं?
- 19. 'अद्वितीय पहचानकर्ता' से 'int' में रूपांतरण कनेक्टेड डेटाबेस सर्वर
- 20. रूपांतरण स्ट्रिंग से अद्वितीय पहचानकर्ता
- 21. मैं अद्वितीय आईपी और एक विशिष्ट पृष्ठ के लिए सर्वर एक्सेस लॉग कैसे कर सकता हूं?
- 22. एक वितरित node.js वेब सर्वर
- 23. एक socket.io सर्वर के लिए Node.js क्लाइंट
- 24. एचटीएमएल तत्वों के लिए अद्वितीय पहचानकर्ता
- 25. एक्सकोड 4 क्या मैं एक मशीन से दूसरे मशीन में डाउनलोड कर सकता हूं
- 26. एक node.js सर्वर
- 27. मैं एक लिनक्स मशीन से विंडोज मशीन पर रिमोट डेस्कटॉप कैसे कर सकता हूं?
- 28. मैं एक ही मशीन पर आईआईएस और एसक्यूएल सर्वर कब होस्ट कर सकता हूं?
- 29. स्क्लेक्लेमी में, मैं एक अद्वितीय जोड़ी कैसे बना सकता हूं?
- 30. मैं Google स्थिर मानचित्रों को TIdHTTP के साथ कैसे ला सकता हूं?
सी [इस उत्तर] (HTT को चलाने के लिए "$ नोड getMAC.js" - getMAC.js करने के लिए कोड को बचाने पी: //stackoverflow.com/questions/16386371/get-the-mac-address-of-the-current-machine-with-node-js-using-getmac) एक और सुझाव के लिए। – user3560651
यह पैकेज इसे क्रॉस-प्लेटफ़ॉर्म तरीके से करता है और नोड 0.10-0.12 के साथ-साथ io.js पर भी परीक्षण किया जाता है: https://github.com/scravy/node-macaddress - 'एक() 'विधि देखें। – scravy
इसे आजमाएं: https://www.npmjs.com/package/ee-machine-id – camposer