Package Exports
- address
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (address) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
address
Get current machine IP, MAC and DNS servers.
DNS servers receive from /etc/resolv.conf
.
Install
$ npm install address
Usage
Get IP is sync and get MAC is async for now.
var address = require('address');
// default interface 'eth' on linux, 'en' on osx.
address.ip(); // '192.168.0.2'
address.ipv6(); // 'fe80::7aca:39ff:feb0:e67d'
address.mac(function (err, addr) {
console.log(addr); // '78:ca:39:b0:e6:7d'
});
// local loopback
address.ip('lo'); // '127.0.0.1'
// vboxnet MAC
address.mac('vboxnet', function (err, addr) {
console.log(addr); // '0a:00:27:00:00:00'
});
Get all addresses: IPv4, IPv6 and MAC
address(function (err, addrs) {
console.log(addrs.ip, addrs.ipv6, addrs.mac);
// '192.168.0.2', 'fe80::7aca:39ff:feb0:e67d', '78:ca:39:b0:e6:7d'
});
address('vboxnet', function (err, addrs) {
console.log(addrs.ip, addrs.ipv6, addrs.mac);
// '192.168.56.1', null, '0a:00:27:00:00:00'
});
Get an interface info with family
address.interface('IPv4', 'eth1');
// { address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }
Get DNS servers
address.dns(function (err, addrs) {
console.log(addrs);
// ['10.13.2.1', '10.13.2.6']
});
benchmark
run $ npm run benchmark
18,929 op/s » #ip
17,622 op/s » #ipv6
16,347 op/s » #mac
11,906 op/s » #dns