方案一:使用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

Node.js 获取本机Mac地址相关推荐

  1. js获取本机mac地址,IP地址

    <!DOCTYPE HTML> <html> <head>     <title>js获取本机mac地址,IP地址,计算机名</title> ...

  2. android 获取网卡mac_Android获取本机Mac地址及IP地址方法

    1.Android  获取本机Mac 地址方法: 需要在AndroidManifest.xml文件中添加权限: public String getLocalMacAddress() { WifiMan ...

  3. Unity——获取本机MAC地址

    Unity中获取本机Mac地址,常用于类似绑定设备的加密情况中,限制程序只可以在固定的设备上使用.首先我们需要在脚本中引用System.Net.NetworkInformation程序集,然后使用Ne ...

  4. Windows获取本机MAC地址方法(C语言)

    Windows获取本机MAC地址方法(C语言) 用到的方法有两种:Netbios()和GetAdaptersInfo(); Netbios 获取步骤主要分为三步: 一.枚举本机所有LAN 二.重设每个 ...

  5. golang网络编程:获取本机MAC地址

    对于IP地址可以表示一个网络连接,但是无法唯一标识一台主机,而MAC地址是主机网卡的物理地址,这个对于一台主机来说是不会改变的. func mac(){// 获取本机的MAC地址interfaces, ...

  6. python --获取本机mac地址/本机IP

    本机mac地址 import uuid import jsondef mac():_mac = uuid.UUID(int=uuid.getnode()).hex[-12:]return json.d ...

  7. 批处理文件获取本机mac地址与ip地址

    桌面新建txt文件,将代码复制后另存为bat文件,另存为时编码改为ANSI: @echo off & setlocal enabledelayedexpansion echo =------- ...

  8. node.js获取本机Ip, hostName, mac

    //获取ip地址 getIPAdress() { let interfaces = require('os').networkInterfaces(); for (var devName in int ...

  9. c# 获取本机 MAC地址\序列号\硬盘序列号

    View Code  1   /// <summary>  2         /// 显示MAC地址  3         /// </summary>  4         ...

最新文章

  1. JS和JQUERY的区别
  2. 区块链BaaS云服务(31) 吉利 Concordium区块链
  3. python stdout.write_python 中sys.stdout.write 和 print sys.stdout的区别
  4. centos 6.5 搭建svn
  5. hdu - 1532 Drainage Ditches (最大流)
  6. html js手册chm,W3C Javascript CHM参考手册离线版
  7. 【JAVA】数据结构——二叉树的学习
  8. cs5 安装报错解决
  9. 基于VisMockup装配公差分析技术(VisVSA)的介绍
  10. 广域网接口是不是wan_什么是WAN(广域网)?
  11. Tomcat和Springboot自启动脚本
  12. 英特尔实感3D摄像头
  13. java面试题-捕获异常
  14. 计算机管理主分区改成逻辑分区,win10系统电脑的四个分区都是主分区,主分区如何改为逻辑分区?...
  15. 计算机类自主招生推荐信,自主招生推荐信范文2017
  16. java枯燥吗_Java程序员工作枯燥?换什么工作好?
  17. k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni
  18. 融资破局 |中英美三国多层次资本市场和STO融资的比较及借鉴
  19. android 小米时钟的实现
  20. 手机摄像头驱动_手机终端大幅下单 摄像头厂商有喜有忧

热门文章

  1. 关于安全领域方向上学习的一点个人见解
  2. 总结]关于守护进程解释文章
  3. Wireshark-----抓包分析
  4. 达内php难吗,深圳达内php教学好吗 说说我学习的经历
  5. 小猿圈python之python期末考试测试题(二)_小猿圈Python开发面试题(一)
  6. 设计模式详解:Singleton(单例类)
  7. Spring Cloud (Eureka,Feign,Hystrix整合)
  8. Kotlin Symbol Processing(KSP)使用初体验
  9. OS - 浅谈操作系统的内存管理
  10. 这是我见过最通俗易懂的MES与ERP介绍文章,带你剖析工业4.0!