nodejs獲取本機(jī)內(nèi)網(wǎng)和外網(wǎng)ip地址的實(shí)現(xiàn)代碼
實(shí)現(xiàn)代碼:
var os = require('os');
function getLocalIP() {
var map = [];
var ifaces = os.networkInterfaces();
console.log(ifaces);
for (var dev in ifaces) {
if (dev.indexOf('eth0') != -1) {
var tokens = dev.split(':');
var dev2 = null;
if (tokens.length == 2) {
dev2 = 'eth1:' + tokens[1];
} else if (tokens.length == 1) {
dev2 = 'eth1';
}
if (null == ifaces[dev2]) {
continue;
}
// 找到eth0和eth1分別的ip
var ip = null, ip2 = null;
ifaces[dev].forEach(function(details) {
if (details.family == 'IPv4') {
ip = details.address;
}
});
ifaces[dev2].forEach(function(details) {
if (details.family == 'IPv4') {
ip2 = details.address;
}
});
if (null == ip || null == ip2) {
continue;
}
// 將記錄添加到map中去
if (ip.indexOf('10.') == 0 ||
ip.indexOf('172.') == 0 ||
ip.indexOf('192.') == 0) {
map.push({"intranet_ip" : ip, "internet_ip" : ip2});
} else {
map.push({"intranet_ip" : ip2, "internet_ip" : ip});
}
}
}
return map;
}
console.log(getLocalIP());
相關(guān)文章
如何解決安裝websocket還是報(bào)錯(cuò)Cannot find module'ws&apos
這篇文章主要介紹了如何解決安裝websocket還是報(bào)Cannot find module'ws'問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式
這篇文章主要介紹了Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10WebSocket Node構(gòu)建HTTP隧道實(shí)現(xiàn)實(shí)例
這篇文章主要為大家介紹了WebSocket Node構(gòu)建HTTP隧道實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11NodeJS 實(shí)現(xiàn)手機(jī)短信驗(yàn)證模塊阿里大于功能
這篇文章主要介紹了NodeJS 實(shí)現(xiàn)手機(jī)短信驗(yàn)證模塊阿里大于功能,需要的朋友可以參考下2017-06-06express.js如何做mysql注入與node-mysql中防止SQL注入方法解析
這篇文章主要介紹了express.js如何做mysql注入與node-mysql中防止SQL注入方法,結(jié)合實(shí)例形式分析了express框架使用mysql數(shù)據(jù)庫(kù)過程中SQL注入的原理與防范技巧,需要的朋友可以參考下2023-05-05