TypeWithPride
TypeWithPride copied to clipboard
CLI to 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 IEEE OUI Data which is updated once a week on Sunday. The module is also able self-update on demand.
Installation
$ npm i 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
console.log(oui.search('*Juniper Systems*'))
//=> [
//=> {
//=> oui: '0C0535',
//=> organization: 'Juniper Systems\n1132 W. 1700 N.\nLogan UT 84321\nUnited States'
//=> }
//=> ]
Installation (CLI)
$ npm install -g oui
Examples (CLI)
$ oui 20:37:06:12:34:56
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
API
oui(input, [options])
-
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.
oui.update([options])
-
options
Object: A optional options object.-
url
string: The URL from where to retrieveoui.txt
. Default"https://standards-oui.ieee.org/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.
oui.search(patterns [, options])
-
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}.
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