Skip to content
This repository has been archived by the owner on Aug 13, 2024. It is now read-only.
/ rs-oui Public archive

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

Notifications You must be signed in to change notification settings

pwrdwnsys/rs-oui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oui

2024-08-14: NOTICE - This project has been archived and no further updates will be made.

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

crates.io 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.

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages