nodejs获取本机内网和外网ip地址的实现代码


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 相关文章推荐
Nodejs+express+html5 实现拖拽上传
Aug 08 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
用nodejs实现json和jsonp服务的方法
Aug 25 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
nodejs中各种加密算法的实现详解
Jul 11 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 #NodeJs
Nodejs进程管理模块forever详解
Jun 01 #NodeJs
NodeJS Express框架中处理404页面一个方式
May 28 #NodeJs
跟我学Nodejs(三)--- Node.js模块
May 25 #NodeJs
跟我学Nodejs(二)--- Node.js事件模块
May 21 #NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 #NodeJs
Nodejs使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 #NodeJs
You might like
使用PHP批量生成随机用户名
2008/07/10 PHP
php base64 编码与解码实例代码
2017/03/21 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
js单词形式的运算符
2014/05/06 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
2015/08/13 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
jQuery动态添加li标签并添加属性和绑定事件方法
2018/02/24 jQuery
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
Python中删除文件的程序代码
2011/03/13 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
python单例设计模式实现解析
2020/01/07 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
抽象类和接口的区别
2012/09/19 面试题
婚庆司仪主持词
2014/03/15 职场文书
爽歪歪广告词
2014/03/20 职场文书
中秋节主持词
2014/04/02 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
个人合作协议书范本
2014/04/18 职场文书
长城导游词400字
2015/01/30 职场文书
介绍信的写法
2015/01/31 职场文书
联谊会开场白
2015/06/01 职场文书
婚宴父亲致辞
2015/07/27 职场文书
大学开学感言
2015/08/01 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
python 提取html文本的方法
2021/05/20 Python
Python jiaba库的使用详解
2021/11/23 Python