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获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
Dec 18 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
nodejs 简单实现动态html的方法
May 12 NodeJs
webstorm中配置nodejs环境及npm的实例
May 15 NodeJs
nodejs前端模板引擎swig入门详解
May 15 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
php中使用$_REQUEST需要注意的一个问题
2013/05/02 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
Yii2如何批量添加数据
2016/05/17 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
JavaScript数据结构之单链表和循环链表
2017/11/28 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
python递归计算N!的方法
2015/05/05 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python 动态加载的实现方法
2017/12/22 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
Python实现的堆排序算法示例
2018/04/29 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
基于python实现操作redis及消息队列
2020/08/27 Python
python反扒机制的5种解决方法
2021/02/06 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
团日活动总结范文
2014/04/25 职场文书
大学班长竞选稿
2015/11/20 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS