IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Node.js 获取本机Mac地址 -> 正文阅读

[JavaScript知识库]Node.js 获取本机Mac地址

方案一:使用getmac库

首先我们要先加载一个包用于获取mac地址

npm install getmac

安装完毕会在node_modules文件夹下发现一个getmac文件夹,进入到node_moudles文件夹内,编写我们自己的test.js测试代码,如下所示:

var npm = require('getmac');//获取mac地址
  
console.log('npm', npm)

console.log(npm.default())

console.log(npm.isMAC('8c:16:45:25:26:44'))

打印如下:

0a:00:27:00:00:11就是我们电脑的mac地址。

方案二:使用os库

还有另外一种方式,不使用getmac库,使用系统提供的os库也是可以的。

在node里面有一个os模块,os模块有一个networkinterface方法,

这个方法返回一个网络接口对象。

这个返回的对象包含几个属性,其中每个属性的值都是一个数组。

返回一个对象,该对象包含已分配了网络地址的网络接口。
返回的对象上的每个键都标识了一个网络接口。 关联的值是一个对象数组,每个对象描述了一个分配的网络地址。
分配的网络地址的对象上可用的属性包括:

  • address<string> 分配的 IPv4 或 IPv6 地址。
  • netmask <string> IPv4 或 IPv6 的子网掩码。
  • family <string> IPv4 或 IPv6。
  • mac <string> 网络接口的 MAC 地址。
  • internal <boolean> 如果网络接口是不可远程访问的环回接口或类似接口,则为 true,否则为 false。
  • scopeid <number> 数值型的 IPv6 作用域 ID(仅当 family 为 IPv6 时指定)。
  • cidr <string> 以 CIDR 表示法分配的带有路由前缀的 IPv4 或 IPv6 地址。如果 netmask 无效,则此属性会被设为 null。
    ?

而我们所需要的ip地址,与mac地址都在这些数组当中。

方法代码:

var os=require("os");

var networkInterfaces=os.networkInterfaces();

console.info(networkInterfaces);

打印如图所示:

?解析上面的文件,即可找到我们本机的Mac地址:

var os=require("os");
var mac = ''
var networkInterfaces=os.networkInterfaces();
for(var i in networkInterfaces){
    for(var j in networkInterfaces[i]){
        if(networkInterfaces[i][j]["family"]==="IPv4" && networkInterfaces[i][j]["mac"]!=="00:00:00:00:00:00" && networkInterfaces[i][j]["address"]!=="127.0.0.1"){
            mac = networkInterfaces[i][j]["mac"]
        }
    }
}
console.log(mac) //a6:02:b9:76:93:28
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:20:07  更:2022-02-28 15:22:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:54:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码