Skip to main content
Etherlyzer

Lightweight Ethernet Address Intelligence Engine

PyPI Python Build Documentation License

Documentation · PyPI · Source


A lightweight, offline-first Python toolkit for analyzing Ethernet identifiers and IEEE EUI-48 address allocations.

Etherlyzer goes beyond conventional MAC vendor lookups by combining IEEE registry data, address classification, allocation analysis, and organizational correlation into a unified command-line interface and Python API.

Identify the organization behind a MAC address, determine its IEEE-registered allocation, inspect address ranges and allocation capacities, correlate related vendor blocks, resolve EtherTypes, and validate or normalize MAC addresses — all locally, without relying on third-party lookup APIs.

Built for network engineers, security researchers, and developers who need fast, reliable, standards-aware insight into Ethernet addressing.

Why Etherlyzer?

Most MAC lookup tools stop at:

00:00:0c → Cisco

Etherlyzer goes further.

It understands the IEEE allocation behind the address:

  • MA-L / OUI-24
  • MA-M / OUI-28
  • MA-S / OUI-36
  • Legacy IAB allocations
  • Company Identifiers (CID)
  • EtherType protocol identifiers

And exposes details such as:

  • organization and vendor identity,
  • assignment prefix,
  • registry type,
  • address range,
  • prefix and host bit lengths,
  • allocation capacity,
  • legacy status,
  • related IEEE allocations belonging to the same organization.

All registry data is synchronized locally, so normal lookups stay local too.

Built for real workflows

Etherlyzer is useful anywhere Ethernet identifiers become data rather than something you inspect manually:

  • network automation,
  • asset discovery,
  • NAC and inventory systems,
  • NOC/SOC workflows,
  • packet-analysis tooling,
  • security investigations,
  • bulk dataset enrichment,
  • Python applications and scripts.

Install

Requires Python 3.14+.

pip install etherlyzer
etherlyzer --version

See what a MAC address really belongs to

etherlyzer inspect 00:00:0c:12:34:56
Organization
  Name            : Cisco Systems
  Full Name       : Cisco Systems, Inc
  Address
    170 WEST TASMAN DRIVE SAN JOSE CA US 95134-1706

Registry
  IEEE Type       : MA-L [MAC Address Block Large]
  Assignment      : 00-00-0c
  Range           : 00-00-0c-00-00-00 - 00-00-0c-ff-ff-ff
  Legacy          : False
  Prefix Bits     : 24 bits
  Address Bits    : 24 bits
  Addresses       : 16,777,216

Etherlyzer can also correlate the organization against its other known IEEE MAC allocations.

One toolkit, multiple jobs

# Identify a vendor
etherlyzer whois 00:11:22:33:44:55

# Inspect the exact IEEE allocation
etherlyzer inspect 00:00:0c:12:34:56

# Inspect an Ethernet protocol identifier
etherlyzer inspect -t protocol 0800

# Validate and diagnose malformed input
etherlyzer validate 00-11-22-33-44-55

# Normalize MAC representation
etherlyzer format 001122334455

# Cisco-style formatting
etherlyzer format 001122334455 -p . -s 4

# Process multiple values
etherlyzer whois -f macs.txt
etherlyzer validate -b

# Inspect local registry state
etherlyzer registries

# Refresh IEEE registry data
etherlyzer sync

Local by design

Etherlyzer maintains synchronized copies of the supported IEEE datasets on the local system.

That means routine lookups do not require sending MAC addresses or internal asset data to an external lookup service.

This makes Etherlyzer particularly useful for:

  • internal infrastructure inventories,
  • restricted environments,
  • sensitive network datasets,
  • high-volume lookups,
  • offline analysis,
  • automated enrichment pipelines.

Internet access is only required when the IEEE registry datasets need to be refreshed.

CLI and Python API

The command-line interface is built on the same underlying Python library.

Use Etherlyzer interactively from a terminal, compose it into shell workflows, or integrate its registry, lookup, validation, and formatting capabilities directly into Python applications.

Documentation

Full documentation is available at:

https://etherlyzer.docs.manjana.dev/

It includes:

  • CLI reference
  • Python API
  • IEEE registry concepts
  • MAC address concepts
  • validation masks
  • configuration
  • registry synchronization
  • examples and guides

For quick CLI help:

etherlyzer --help
etherlyzer <command> --help

License

Etherlyzer is released under the MIT License.

Metadata

Release files for etherlyzer 0.9.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for etherlyzer 0.9.6
File Size Uploaded
etherlyzer-0.9.6.tar.gz 22.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for etherlyzer 0.9.6
File Interpreter ABI Platform
etherlyzer-0.9.6-py3-none-any.whl Python 3 none any Details

Total release size: 53.1 kB

Release files / etherlyzer-0.9.6.tar.gz

Download URL etherlyzer-0.9.6.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
13854e1d9860f43f780e1bc52b862bfb7a9d9eeb6d27d3a1b83f52c962d6e687
BLAKE2b-256 checksum
How to use checksums
4b41f17e9c3c4af104a01155055eeec2cac6d3c117b6fc7def47959533e2916d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / etherlyzer-0.9.6-py3-none-any.whl

Download URL etherlyzer-0.9.6-py3-none-any.whl
Size 30.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd74cfb54b1743101df66957ea3baf55c7d0ee2285d735769558950c32e52f58
BLAKE2b-256 checksum
How to use checksums
1245f37cd1eb8974e7ab6664b3575187ecf6cd5fe4476383ea2750c47764c7cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.7

2 release files

This release

0.9.6 This release

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page