Build Status

OUI (Organizationally Unique Identifiers)

The 24-bit prefix of MAC / EUI-* addresses.

This is a Ruby library and CLI tool oui

Usage

> OUI.find 'AA-BB-CC'
=> nil
> OUI.find '00:0c:85'
=> {
              :id => 3205,
    :organization => "CISCO SYSTEMS, INC.",
        :address1 => "170 W. TASMAN DRIVE",
        :address2 => "M/S SJA-2",
        :address3 => "SAN JOSE CA 95134-1706",
         :country => "UNITED STATES"
}

CLI usage

  Usage: oui lookup [options...] oui+     # get corp name, oui in 24-bit oui in hex format

             -j JSON verbose output
             -r Ruby verbose output
             -y YAML verbose output

         oui update                       # update oui internal db from ieee.org

Installation

Gem (insecure installation)

[sudo] gem install oui-offline

Gem (secure installation)

[sudo] gem cert --add <(curl -L https://gist.github.com/steakknife/5333881/raw/gem-public_cert.pem) # add my cert (do once)
[sudo] gem install -P HighSecurity oui-offline

See also: waxseal

Bundler Installation

gem 'oui-offline'

Manual Installation

cd ${TMP_DIR-/tmp}
git clone https://github.com/steakknife/oui
cd oui
gem build *.gemspec
gem install *.gem

Lookup an OUI from CLI

oui lookup ABCDEF

Data source

Database sourced from the public IEEE list, but it can be rebuilt anytime by running oui update or OUI.update_db The few duplicates that are of multiple entities per OUI instead choose the first registration.

Unregistered OUIs

Place custom/unregistered OUIs in data/oui-manual.json and re-run oui update or OUI.update_db. Feel free to submit a PR to update these permanently.

Return format

The id column is a stable, reversible conversion of the OUI as follows: the hexadecimal value of the OUI) to unsigned integer in network order (id).

  • Use OUI.oui_to_i('aa-bb-cc') to obtain an id from an OUI
  • Use OUI.to_s(12345) to do the inverse, obtain an OUI from an id

Supported Ruby Engines

  • JRuby
  • Ruby 1.9.3+ (until February 2015), 2.*

Tested Ruby Engines

  • JRuby 1.7.*
  • Ruby (MRI) 2.2.*

Thanks

[Your name here]

License

MIT