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
Node.js 获取本机Mac地址相关推荐
- js获取本机mac地址,IP地址
<!DOCTYPE HTML> <html> <head> <title>js获取本机mac地址,IP地址,计算机名</title> ...
- android 获取网卡mac_Android获取本机Mac地址及IP地址方法
1.Android 获取本机Mac 地址方法: 需要在AndroidManifest.xml文件中添加权限: public String getLocalMacAddress() { WifiMan ...
- Unity——获取本机MAC地址
Unity中获取本机Mac地址,常用于类似绑定设备的加密情况中,限制程序只可以在固定的设备上使用.首先我们需要在脚本中引用System.Net.NetworkInformation程序集,然后使用Ne ...
- Windows获取本机MAC地址方法(C语言)
Windows获取本机MAC地址方法(C语言) 用到的方法有两种:Netbios()和GetAdaptersInfo(); Netbios 获取步骤主要分为三步: 一.枚举本机所有LAN 二.重设每个 ...
- golang网络编程:获取本机MAC地址
对于IP地址可以表示一个网络连接,但是无法唯一标识一台主机,而MAC地址是主机网卡的物理地址,这个对于一台主机来说是不会改变的. func mac(){// 获取本机的MAC地址interfaces, ...
- python --获取本机mac地址/本机IP
本机mac地址 import uuid import jsondef mac():_mac = uuid.UUID(int=uuid.getnode()).hex[-12:]return json.d ...
- 批处理文件获取本机mac地址与ip地址
桌面新建txt文件,将代码复制后另存为bat文件,另存为时编码改为ANSI: @echo off & setlocal enabledelayedexpansion echo =------- ...
- node.js获取本机Ip, hostName, mac
//获取ip地址 getIPAdress() { let interfaces = require('os').networkInterfaces(); for (var devName in int ...
- c# 获取本机 MAC地址\序列号\硬盘序列号
View Code 1 /// <summary> 2 /// 显示MAC地址 3 /// </summary> 4 ...
最新文章
- JS和JQUERY的区别
- 区块链BaaS云服务(31) 吉利 Concordium区块链
- python stdout.write_python 中sys.stdout.write 和 print sys.stdout的区别
- centos 6.5 搭建svn
- hdu - 1532 Drainage Ditches (最大流)
- html js手册chm,W3C Javascript CHM参考手册离线版
- 【JAVA】数据结构——二叉树的学习
- cs5 安装报错解决
- 基于VisMockup装配公差分析技术(VisVSA)的介绍
- 广域网接口是不是wan_什么是WAN(广域网)?
- Tomcat和Springboot自启动脚本
- 英特尔实感3D摄像头
- java面试题-捕获异常
- 计算机管理主分区改成逻辑分区,win10系统电脑的四个分区都是主分区,主分区如何改为逻辑分区?...
- 计算机类自主招生推荐信,自主招生推荐信范文2017
- java枯燥吗_Java程序员工作枯燥?换什么工作好?
- k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni
- 融资破局 |中英美三国多层次资本市场和STO融资的比较及借鉴
- android 小米时钟的实现
- 手机摄像头驱动_手机终端大幅下单 摄像头厂商有喜有忧
热门文章
- 关于安全领域方向上学习的一点个人见解
- 总结]关于守护进程解释文章
- Wireshark-----抓包分析
- 达内php难吗,深圳达内php教学好吗 说说我学习的经历
- 小猿圈python之python期末考试测试题(二)_小猿圈Python开发面试题(一)
- 设计模式详解:Singleton(单例类)
- Spring Cloud (Eureka,Feign,Hystrix整合)
- Kotlin Symbol Processing(KSP)使用初体验
- OS - 浅谈操作系统的内存管理
- 这是我见过最通俗易懂的MES与ERP介绍文章,带你剖析工业4.0!