Skip to content

mac-lookup v0.1.0

Choose a tag to compare

@magifd2 magifd2 released this 26 Jul 02:20
· 18 commits to main since this release

First release.

Resolve a MAC address or BSSID to its manufacturer — and, before that, to what kind of address it actually is. Offline, from a locally cached copy of the IEEE Registration Authority registries. CLI and local MCP server.

Why it is not just an OUI table

  • A randomized MAC has no manufacturer. Phones rotate a locally administered address per network; virtual NICs and containers do the same. Reported as locally administered — vendor lookup does not apply, not as "vendor unknown".
  • The first six digits are not enough. IEEE subdivides 24-bit blocks into 28-bit (MA-M) and 36-bit (MA-S/IAB) assignments, so several vendors share one OUI. Matching is longest-prefix-first.
  • Some blocks belong to IEEE itself. ~429 MA-L rows are registered to "IEEE Registration Authority" — blocks held for subdivision, reported as OUI subdivided, never as a vendor.

Included

  • lookup / search / update / status / mcp
  • Grep-style exit codes for a single address; batch mode for many, stdin, or --json
  • MCP tools: lookup_mac, search_vendor (file-mediated), db_status, update_db, get_usage
  • Conditional downloads (ETag / Last-Modified); "unchanged upstream" and "IEEE unreachable" are reported distinctly
  • No credentials — the IEEE registries are public
  • Zero external dependencies (Go standard library only)

Install

brew install nlink-jp/tap/mac-lookup

The darwin/arm64 build is Developer ID signed and Apple-notarized.