Skip to main content

A Python module (and CLI tool) for looking up hardware MAC addresses from the OUI source at ieee.org.

Project description

ouilookup

PyPi Python Versions build tests License

A CLI tool and Python module for looking up hardware MAC addresses from the published OUI source list at ieee.org.

Project

Install

via PyPi

pip3 install ouilookup

Versions

Legacy versions based on year-date (eg v2018.2) have been hard-deprecated in favour of a backward incompatible standard versioning scheme (eg v0.2.0).

CLI usage

usage: ouilookup [-h] [-q [<hwaddr> ...] | -s | -u | -ul <filename>] [-d] [-df <data-file>]

ouilookup v0.3.0

options:
  -h, --help            show this help message and exit
  -q [<hwaddr> ...], --query [<hwaddr> ...]
                        Query to locate matching MAC hardware address(es) from 
                        the oui ouilookup.json data file. Addresses may be 
                        expressed in formats with or without ':' or '-' 
                        separators. Use a space or comma between addresses to 
                        query for more than one item in a single query.
  -s, --status          Return status metadata about the ouilookup.json data 
                        file.
  -u, --update          Download the latest from 
                        https://standards-oui.ieee.org/oui/oui.txt then parse 
                        and save as a ouilookup.json data file.
  -ul <filename>, --update-local <filename>
                        Supply a local oui.txt then parse and save as a 
                        ouilookup.json data file.

  -d, --debug           Enable debug logging
  -df <data-file>, --data-file <data-file>
                        Use a data file that is not in the default data file 
                        search paths: /home/<user>/.local/ouilookup, 
                        <package-path>/ouilookup/data, /var/lib/ouilookup

A CLI tool for interfacing with the OuiLookup module that provides CLI access 
the query(), update() and status() functions. Outputs at the CLI are JSON 
formatted allowing for easy chaining with other toolchains. The update() 
function updates directly from "standards-oui.ieee.org".

Python3 Module usage

>>> from OuiLookup import OuiLookup

>>> OuiLookup().query('00:00:aa:00:00:00')
[{'0000AA000000': 'XEROX CORPORATION'}]

>>> OuiLookup().query(['00:00:01:00:00:00','00-00-10-00-00-00','000011000000'])
[{'000001000000': 'XEROX CORPORATION'}, {'000010000000': 'SYTEK INC.'}, {'000011000000': 'NORMEREL SYSTEMES'}]

>>> OuiLookup().update()
{'timestamp': '2023-05-13T14:11:17+00:00', 'source_url': 'https://standards-oui.ieee.org/oui/oui.txt', 'source_data_file': '/tmp/ouilookup-qm5aq0dk/oui.txt', 'source_bytes': '5468392', 'source_md5': '55a434f90da0c24c1a4fcfefe5b2b64b', 'source_sha1': 'dd5e8849ab8c65b2fb12c4b5aef290afee6bbfcd', 'source_sha256': 'af7e4bb1394109f4faad814074d3a6d5b792078074549a5d554c0904612c0bfc', 'vendor_count': '33808', 'data_file': '~/.local/ouilookup/ouilookup.json'}
>>> OuiLookup().status()
{'timestamp': '2023-05-13T14:11:17+00:00', 'source_url': 'https://standards-oui.ieee.org/oui/oui.txt', 'source_data_file': '/tmp/ouilookup-qm5aq0dk/oui.txt', 'source_bytes': '5468392', 'source_md5': '55a434f90da0c24c1a4fcfefe5b2b64b', 'source_sha1': 'dd5e8849ab8c65b2fb12c4b5aef290afee6bbfcd', 'source_sha256': 'af7e4bb1394109f4faad814074d3a6d5b792078074549a5d554c0904612c0bfc', 'vendor_count': '33808', 'data_file': '~/.local/ouilookup/ouilookup.json'}

Authors

License

BSD-2-Clause - see LICENSE file for full details.

NB: License change from Apache-2.0 to BSD-2-Clause in February 2020 at version 0.2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ouilookup-0.3.1.tar.gz (368.1 kB view details)

Uploaded Source

Built Distribution

ouilookup-0.3.1-py3-none-any.whl (373.0 kB view details)

Uploaded Python 3

File details

Details for the file ouilookup-0.3.1.tar.gz.

File metadata

  • Download URL: ouilookup-0.3.1.tar.gz
  • Upload date:
  • Size: 368.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.13 tqdm/4.64.0 importlib-metadata/4.6.4 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.10.6

File hashes

Hashes for ouilookup-0.3.1.tar.gz
Algorithm Hash digest
SHA256 815010906bc34aa153b8ac7c76aaa831349a37d5abd15837bc408e69cd5f1766
MD5 41aaca168845b0316f623086ff10de10
BLAKE2b-256 ce7f1d8ceacbe04d5f369d15fd3221884509edf23593a6c29ade81e83f2bc43b

See more details on using hashes here.

File details

Details for the file ouilookup-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: ouilookup-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 373.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.13 tqdm/4.64.0 importlib-metadata/4.6.4 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.10.6

File hashes

Hashes for ouilookup-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 55dad8477b1bc04d1f8c6b900b32899509ce10eab10be15886425432932baeb7
MD5 9cacaa6bd8d2ff9d661a8c9a7472edbd
BLAKE2b-256 83a72365180f5001403a39138fcff7e062dedf450513becb44222c9c8dd1b5e3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page