15 releases

0.4.9 Apr 5, 2024
0.4.8 Oct 2, 2023
0.4.7 Jan 29, 2023
0.4.5 Dec 4, 2022
0.3.2 Mar 28, 2021

#358 in Database interfaces

Download history 24/week @ 2024-01-05 36/week @ 2024-01-12 58/week @ 2024-01-19 36/week @ 2024-01-26 25/week @ 2024-02-02 28/week @ 2024-02-09 25/week @ 2024-02-16 31/week @ 2024-02-23 51/week @ 2024-03-01 330/week @ 2024-03-08 110/week @ 2024-03-15 95/week @ 2024-03-22 253/week @ 2024-03-29 174/week @ 2024-04-05

651 downloads per month
Used in netscanner

Custom license

6MB
263 lines

MAC Address lookup tool

Linux Arm7 Linux x86_64 macOS Windows Crates.io Documentation

Lookup the MAC Address for a corresponding details (eg: org, created, etc...)

Requirements

  • Rust 1.60+ (edition 2021)

Compile

  • Dev
cargo b
  • Release
cargo b --release

Usage

You can include this in your Cargo.toml file:

[dependencies]
mac_oui = "0.4.8"

If you want to use it with the inbuilt oui db; then:

[dependencies]
mac_oui = { version = "0.4.8", features = ["with-db"] }

and then

use mac_oui::Oui;

fn main () {
    let oui_db = Oui::default();
    assert!(oui_db.is_ok());
}

Running the Example

You can run the default example that is included in the following manner.

  • cargo run --example mac_lookup <mac address> eg:
cargo run --example mac_lookup --features="with-db" 70:B3:D5:e7:4f:81
    Finished dev [optimized + debuginfo] target(s) in 1.54s
     Running `target/debug/examples/mac_lookup '70:B3:D5:e7:4f:81'`
Entry {
    oui: "70:B3:D5",
    is_private: false,
    company_name: "Ieee Registration Authority",
    company_address: "445 Hoes Lane Piscataway NJ 08554 US",
    country_code: "US",
    assignment_block_size: "MA-L",
    date_created: "2014-01-12",
    date_updated: "2016-04-27",
}
  • Example of lookup by Manufacturer
$ cargo run --example manufacturer_lookup --features="with-db" "Apple, Inc"
    Finished dev [optimized + debuginfo] target(s) in 0.02s
     Running `target/debug/examples/manufacturer_lookup 'Apple, Inc'`
[
    Entry {
        oui: "...",
        is_private: false,
        company_name: "Apple, Inc",
        company_address: "1 Infinite Loop Cupertino CA 95014 US",
        country_code: "US",
        assignment_block_size: "MA-L",
        date_created: "2017-02-21",
        date_updated: "2017-02-21",
    },
    <clip>....
]
  • Example Getting a list of Manufacturers
$ cargo run --example --features="with-db" db_stats
    Finished dev [optimized + debuginfo] target(s) in 0.06s
     Running `target/debug/examples/db_stats`
Total Records= 47880
Total Manufacturers= 29491
Total MAC Addrs= 47880

====Manufacturers====
[
    "\"Azimut\" Production Association Jsc",
    "\"Continent\" Co Ltd",
    "\"Meta-chrom\" Co Ltd",
    "\"Rpc \"Energoautomatika\" Ltd",
    "(UN)Manned",
    "+plugg srl",
    "01db-Metravib",
    "1.A Connect GmbH",
    "1000eyes GmbH",
    "100fio networks Tech Llc",
    "10net Communications/Dca",
    "11811347 Canada Inc",
    "11wave Technonlogy Co, Ltd",
    "12Sided Tech, Llc",
    "1394 Printer Working Group",
    "1394 Trade Association",
    "16063",
    "1Net Corp",
    "1Verge Internet Tech (Beijing) Co, Ltd",
    "1more",
]
...
[
    "杭州德澜科技有限公司(HangZhou Delan Tech Co, Ltd)",
    "\u{200b}Asung Techno Co, Ltd",
    "éolane",
    "Östling Marking Systems GmbH",
    "Öresundskraft AB",
    "Åmic AB",
    "µTech Tecnologia Ltda",
    "«Intellect module» Llc",
    "zxsolution",
    "zte Corp",
    "zhejiang yuanwang communication technolgy Co, Ltd",
    "zhejiang ebang communication Co, Ltd",
    "z-max mediasolution",
    "yLez Tech Pte Ltd",
    "xxter b.v.",
    "xvtec Ltd",
    "xn systems",
    "xmi systems",
    "xm",
    "xiamenshi c-chip Tech Co, Ltd",
]

Dependencies

~2–2.8MB
~45K SLoC