node-macaddress

WebJar for node-macaddress

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

node-macaddress
Last Version

Last Version

0.2.4
Release Date

Release Date

Type

Type

jar
Description

Description

node-macaddress
WebJar for node-macaddress
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/scravy/node-macaddress

Download node-macaddress

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/node-macaddress/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>node-macaddress</artifactId>
    <version>0.2.4</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/node-macaddress/
implementation 'org.webjars.npm:node-macaddress:0.2.4'
// https://jarcasting.com/artifacts/org.webjars.npm/node-macaddress/
implementation ("org.webjars.npm:node-macaddress:0.2.4")
'org.webjars.npm:node-macaddress:jar:0.2.4'
<dependency org="org.webjars.npm" name="node-macaddress" rev="0.2.4">
  <artifact name="node-macaddress" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='node-macaddress', version='0.2.4')
)
libraryDependencies += "org.webjars.npm" % "node-macaddress" % "0.2.4"
[org.webjars.npm/node-macaddress "0.2.4"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : async jar [0.9.0,0.10)

Project Modules

There are no modules declared in this project.

node-macaddress

Build Status

Retrieve MAC addresses in Linux, OS X, and Windows.

A common misconception about MAC addresses is that every host had one MAC address, while a host may have multiple MAC addresses – since every network interface may have its own MAC address.

This library allows to discover the MAC address per network interface and chooses an appropriate interface if all you're interested in is one MAC address identifying the host system (see API + Examples below).

Features:

  • works on Linux, Mac OS X, Windows, and on most UNIX systems.
  • node ≥ 0.12 and io.js report MAC addresses in os.networkInterfaces() this library utilizes this information when available.
  • also features a sane replacement for os.networkInterfaces() (see API + Examples below).
  • works with stoneage node versions ≥ v0.8 (...)
  • Promise support

Usage

npm install --save macaddress
var macaddress = require('macaddress');

API + Examples

(async)  .one(iface, callback) → string
(async)  .one(iface)           → Promise<string>
(async)  .one(callback)        → string
(async)  .all()                → Promise<{ iface: { type: address } }>
(async)  .all(callback)        → { iface: { type: address } }
(sync)   .networkInterfaces()  → { iface: { type: address } }

.one([iface], callback)

Retrieves the MAC address of the given iface.

If iface is omitted, this function automatically chooses an appropriate device (e.g. eth0 in Linux, en0 in OS X, etc.).

Without iface parameter:

macaddress.one(function (err, mac) {
  console.log("Mac address for this host: %s", mac);  
});

or using Promise

macaddress.one().then(function (mac) {
  console.log("Mac address for this host: %s", mac);  
});
→ Mac address for this host: ab:42:de:13:ef:37

With iface parameter:

macaddress.one('awdl0', function (err, mac) {
  console.log("Mac address for awdl0: %s", mac);  
});

or using Promise

macaddress.one('awdl0').then(function (mac) {
  console.log("Mac address for awdl0: %s", mac);  
});
→ Mac address for awdl0: ab:cd:ef:34:12:56

.all(callback)

Retrieves the MAC addresses for all non-internal interfaces.

macaddress.all(function (err, all) {
  console.log(JSON.stringify(all, null, 2));
});

or using Promise

macaddress.all().then(function (all) {
  console.log(JSON.stringify(all, null, 2));
});
{
  "en0": {
    "ipv6": "fe80::cae0:ebff:fe14:1da9",
    "ipv4": "192.168.178.20",
    "mac": "ab:42:de:13:ef:37"
  },
  "awdl0": {
    "ipv6": "fe80::58b9:daff:fea9:23a9",
    "mac": "ab:cd:ef:34:12:56"
  }
}

.networkInterfaces()

A useful replacement of os.networkInterfaces(). Reports only non-internal interfaces.

console.log(JSON.stringify(macaddress.networkInterfaces(), null, 2));
{
  "en0": {
    "ipv6": "fe80::cae0:ebff:fe14:1dab",
    "ipv4": "192.168.178.22"
  },
  "awdl0": {
    "ipv6": "fe80::58b9:daff:fea9:23a9"
  }
}

Versions

Version
0.2.4