Posted in NodeJs onJune 01, 2014
实现代码:
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());
nodejs获取本机内网和外网ip地址的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@