这篇文章主要介绍了nodejs获取本机内网和外网ip地址的实现代码,需要的朋友可以参考下

实现代码:


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());

最新资讯
中国移动首批5G基站订单出炉:华为份额第一

中国移动首批5G基站订

其中华为250站5G基站、爱立信110站5G基站、中兴80站5G
过年了,我理解了什么是“老板给员工打工”

过年了,我理解了什么是

春节是阖家团聚的日子,但对于正在经历着“资本寒冬”的
马云说"配齐就是福"!互联网红包大战中 谁会是赢家?

马云说"配齐就是福"

熟悉的配方,熟悉的味道——集五福,又双叒叕袭来。明晚22
腾讯十年投700企业 刘炽平:投资是核心战略一部分

腾讯十年投700企业 刘

今年是腾讯投资的第十年,刘炽平提到,腾讯投资的700家公
直击|苏宁张近东:3亿补贴员工 高管必须就近慰问一线

直击|苏宁张近东:3亿

苏宁控股集团董事长张近东今日发表“致一线员工的一封
谷歌封杀多款应用:有诱导下载或“钓鱼”等恶意行为

谷歌封杀多款应用:有诱

谷歌近日封杀Google Play商店中几十个Android App,因为
最新文章
微信小程序CSS3动画下拉菜单效果

微信小程序CSS3动画下

这篇文章主要为大家详细介绍了微信小程序CSS3动画下拉
微信小程序使用swiper组件实现层叠轮播图

微信小程序使用swiper

这篇文章主要为大家详细介绍了微信小程序使用swiper组
微信小程序实现带缩略图轮播效果

微信小程序实现带缩略

这篇文章主要为大家详细介绍了微信小程序实现带缩略图
小程序实现五星点评效果

小程序实现五星点评效

这篇文章主要为大家详细介绍了小程序实现五星点评效果
微信小程序实现笑脸评分功能

微信小程序实现笑脸评

这篇文章主要为大家详细介绍了微信小程序实现笑脸评分
微信小程序自定义轮播图

微信小程序自定义轮播

这篇文章主要为大家详细介绍了微信小程序自定义轮播图