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 also able self-update on demand.
$ npm i oui
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
console.log(oui.search('*Juniper Systems*'))
//=> [
//=> {
//=> oui: '0C0535',
//=> organization: 'Juniper Systems\n1132 W. 1700 N.\nLogan UT 84321\nUnited States'
//=> }
//=> ]
There's also a browser version available as oui.web.min.js
which uses a reduced dataset that only contains the vendor name.
$ npm install -g oui
$ 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
$ oui --search cisco theory
OUI ORGANZATION ADDRESS COUNTRY
000C41 Cisco-Linksys LLC 121 Theory Dr. Irvine CA 92612
000F66 Cisco-Linksys LLC 121 Theory Dr. Irvine CA 92612
001217 Cisco-Linksys LLC 121 Theory Dr. Irvine CA 92612
001310 Cisco-Linksys LLC 121 Theory Dr. Irvine CA 92612
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
input
string: The input string. Non-hexadecimal characters and characters after 6 hex characters are found are ignored unlessoptions.strict
is set.options
Object: A optional options object.strict
boolean: Whentrue
, only strict input formats will be accepted. Will throw an error when an invalid format is supplied.file
string: A absolute file path tooui.json
, which contains the parsed oui data. Defaults to theoui.json
in the module directory.
Returns: Either a string, or null
if no matches are found. Throws if input is not a string.
options
Object: A optional options object.url
string: The URL from where to retrieveoui.txt
. Defaults to'http://linuxnet.ca/ieee/oui.txt'
. To use the more frequently updated but 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 foroui.json
, which is used to store the parsed oui data. Defaults to theoui.json
in the module directory.
Returns: A Promise that indicates when the internal database has been updated. Rejects on error.
patterns
string/Array: One or more wildcard patterns to search the vendor data, as supported by minimatch.options
Object: A optional options object.file
String: A absolute file path foroui.json
, which is used to store the parsed oui data. Defaults to theoui.json
in the module directory.- All minimatch options are supported as well.
Returns a array of objects in the format {oui, organization}.
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