这篇文章主要介绍了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());

最新资讯
美团点评股价重回发行价:临近上市1周年 市值超4000亿港元

美团点评股价重回发行

在美团点评将迎来上市一周年,及明日要公布半年报之际,美
消息称大众汽车CEO对收购特斯拉股份感兴趣

消息称大众汽车CEO对

路透社今日援引德国《经理人》杂志的报道称,大众汽车CE
蔚来9月底前裁员1200人 造车新势力如何过冬?

蔚来9月底前裁员1200

8月22日,蔚来汽车创始人李斌对全体员工下发内部信,称9月
任正非批系统部没做好不放权 称四个代表处请示太多

任正非批系统部没做好

近日,华为创始人任正非在运营商BG组织变革研讨会上表示
中兴:“130亿定增募资方案”过审 将强化5G芯片研发

中兴:“130亿定增募资

今晚,中兴通讯发布公告,关于非公开发行A股股票申请获得
vivo首款5G手机发布 称已申请超2000项5G专利

vivo首款5G手机发布

vivo今日发布了其首款5G手机IQOO Pro,售价3798元起。IQ
最新文章
Javascript读写cookie的实例源码

Javascript读写cookie

今天小编就为大家分享一篇关于Javascript读写cookie的
微信小程序登录session的使用

微信小程序登录sessio

这篇文章主要介绍了微信小程序登录session的使用,小编
JavaScript中this用法学习笔记

JavaScript中this用法

在本篇文章里小编给大家分享了关于JavaScript中this用
nodejs微信开发之授权登录+获取用户信息

nodejs微信开发之授权

这篇文章主要介绍了nodejs微信开发之授权登录+获取用
nodejs微信开发之自动回复的实现

nodejs微信开发之自动

这篇文章主要介绍了nodejs微信开发之自动回复的实现,文
node微信开发之获取access_token+自定义菜单

node微信开发之获取ac

这篇文章主要介绍了node微信开发之获取access_token+