Skip to content

node-modules/address

Repository files navigation

address

NPM versionNode.js CITest coveragenpm download

Get current machine IPv4, IPv6, 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.

  • esm & typescript
import{ip,ipv6,mac}from'address';// default interface 'eth' on linux, 'en' on osx.ip();// '192.168.0.2'ipv6();// 'fe80::7aca:39ff:feb0:e67d'mac(function(err,addr){console.log(addr);// '78:ca:39:b0:e6:7d'});// local loopbackip('lo');// '127.0.0.1'// vboxnet MACmac('vboxnet',function(err,addr){console.log(addr);// '0a:00:27:00:00:00'});
  • commonjs
const{ ip, ipv6, mac }=require('address');// default interface 'eth' on linux, 'en' on osx.ip();// '192.168.0.2'ipv6();// 'fe80::7aca:39ff:feb0:e67d'mac(function(err,addr){console.log(addr);// '78:ca:39:b0:e6:7d'});// local loopbackip('lo');// '127.0.0.1'// vboxnet MACmac('vboxnet',function(err,addr){console.log(addr);// '0a:00:27:00:00:00'});

Get all addresses: IPv4, IPv6 and MAC

  • esm & typescript
import{address}from'address';address((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',(err,addrs)=>{console.log(addrs.ip,addrs.ipv6,addrs.mac);// '192.168.56.1', null, '0a:00:27:00:00:00'});
  • commonjs
const{ address }=require('address');address((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',(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

  • esm & typescript
import{getInterfaceAddress}from'address';getInterfaceAddress('IPv4','eth1');//{address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }
  • commonjs
const{ getInterfaceAddress }=require('address');getInterfaceAddress('IPv4','eth1');//{address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }

Get DNS servers

  • esm & typescript
import{dns}from'address';dns((err,servers)=>{console.log(servers);// ['10.13.2.1', '10.13.2.6']});
  • commonjs
const{ dns }=require('address');dns((err,servers)=>{console.log(servers);// ['10.13.2.1', '10.13.2.6']});

Promise style apis

import{address,mac,dns}from'address/promises';constaddr=awaitaddress();constmacAddress=awaitmac();constservers=awaitdns();

License

MIT

Contributors


fengmk2


alsotang


jkelleyrtp


slyon


mariodu


mathieutu


zhangyuheng


semantic-release-bot


coolme200


whxaxes

This project follows the git-contributor spec, auto updated at Fri Sep 22 2023 20:49:32 GMT+0800.

About

Get current machine IP and MAC address.

Resources

License

Stars

Watchers

Forks

Contributors 11