#unique-identifier

oui

Lookup MAC OUI vendor information from the Wireshark manufacturer database

6 releases (3 breaking)

0.8.1 May 1, 2021
0.8.0 Jan 8, 2021
0.7.0 Feb 10, 2020
0.6.0 May 8, 2019
0.5.1 Jul 24, 2018

#47 in #unique-identifier

Download history 197/week @ 2024-06-15 173/week @ 2024-06-22 200/week @ 2024-06-29 129/week @ 2024-07-06 201/week @ 2024-07-13 225/week @ 2024-07-20 210/week @ 2024-07-27 117/week @ 2024-08-03 45/week @ 2024-08-10 63/week @ 2024-08-17 93/week @ 2024-08-24 117/week @ 2024-08-31 74/week @ 2024-09-07 90/week @ 2024-09-14 171/week @ 2024-09-21 66/week @ 2024-09-28

409 downloads per month

MIT/Apache

570KB
212 lines

oui

Rust library to lookup MAC/EUI48 OUI vendor name information from the Wireshark manufacturer database.

docs.rs Build Status

This library allows you to provide a MAC/EUI48 address and returns information on the vendor registered to the Organizationally Unique Identifier (OUI) component of the supplied address. For each entry in the Wireshark database, this will be at a minimum the vendor's Wireshark short name, but most entries include the full organization/company name and some also include a descriptive comment.

Where IEEE Registration Authority blocks have been sub-divided, the specific manufacturer is returned. Note that a vendor/organization may have been allocated multiple blocks by the IEEE - these are each treated independently, should a vendor sub-division be later re-allocated or renamed following acquisition.

Example wget command to download the manufacturer database: wget -O manuf.txt 'https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=manuf'

oui is available on crates.io and can be included in your Cargo.toml as follows:

[dependencies]
oui = "0.8"

For example, querying the database for the MAC address 00:00:18:00:20:01 returns the following information:

OuiEntry {
        name_short: "WebsterC",
        name_long: Some(
            "Webster Computer Corporation",
        ),
        comment: Some(
            "Appletalk/Ethernet Gateway",
        ),
    }

Documentation

Documentation can be found at the official documentation repository: https://docs.rs/oui

Examples

Check the /examples directory for usage.

Simple MAC address lookups:

RUST_LOG=oui=debug cargo run --example lookup

Export and subsequent re-import of the parsed Wireshark database:

RUST_LOG=oui=debug cargo run --example dumpdb

Feedback and Enhancements

I welcome feedback and enhancements to this library. Please create a Github Issue or a Pull Request subject to the license and contribution sections below.

License

oui is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in oui by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~3–5MB
~92K SLoC