node package manager

oui

Look up MAC addresses for their vendor in the IEEE OUI database

oui

Look up MAC addresses for their vendor in the IEEE OUI database

The data used in this module comes from the Sanitized IEEE OUI Data which is updated once a week on Sunday. The module is able self-update the data on user request. It's also possible to use the more frequently updated original IEEE source when preferred.

Installation

$ npm install --save oui

Example

var oui = require("oui");
console.log(oui("20:37:06:12:34:56"));
//=> Cisco Systems, Inc 
//=> 80 West Tasman Drive 
//=> San Jose CA 94568 
//=> United States 

Installation (CLI)

Install Node.js and then do:

$ sudo npm install -g oui

Example (CLI)

Either provide the lookup digits as an argument or on stdin:

$ oui 20:37:06:12:34:56
Cisco Systems, Inc
80 West Tasman Drive
San Jose CA 94568
United States
$ echo 203706 | oui
Cisco Systems, Inc
80 West Tasman Drive
San Jose CA 94568
United States

To update the local OUI database:

$ oui --update

Or from the original IEEE source (slow):

$ oui --update http://standards.ieee.org/develop/regauth/oui/oui.txt

API

oui(input, [options])

  • input String: The input string. Non-hexadecimal characters and characters after 6 hex characters are found are ignored unless options.strict is set.
  • options Object: A optional options object.
    • strict Boolean: When true, only strict input formats will be accepted. Will throw an error when an invalid format is supplied.
    • file String: A absolute file path to oui.json, which contains the parsed oui data. Defaults to the oui.json in the module directory.

Returns: Either a string, or null if no matches are found. Throws if input is not a string.

oui.update([options])

  • options Object: A optional options object.
    • url String: The URL from where to retrieve oui.txt. Defaults to 'http://linuxnet.ca/ieee/oui.txt'. To use the more inconsistent and slower to download original file from IEEE, use 'http://standards.ieee.org/develop/regauth/oui/oui.txt'.
    • file String: A absolute file path for oui.json, which is used to store the parsed oui data. Defaults to. Defaults to the oui.json in the module directory.

Returns: A Promise that indicates when the internal database has been updated. Rejects on error.

#### strict formats - `000000` - `00:00:00` - `00-00-00` - `000000000000` - `0000.0000.0000` - `00:00:00:00:00:00` - `00-00-00-00-00-00`

© silverwind, distributed under BSD licence