CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Mon, 04 Aug 2025 22:27:37 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090226172841
location: https://web.archive.org/web/20090226172841/https://github.com/jasonk/device-mac/tree
server-timing: captures_list;dur=0.598205, exclusion.robots;dur=0.026151, exclusion.robots.policy;dur=0.015388, esindex;dur=0.010114, cdx.remote;dur=11.106458, LoadShardBlock;dur=401.860918, PetaboxLoader3.datanode;dur=122.451413, PetaboxLoader3.resolve;dur=161.931588
x-app-server: wwwb-app200
x-ts: 302
x-tr: 444
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
set-cookie: wb-p-SERVER=wwwb-app200; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Mon, 04 Aug 2025 22:27:38 GMT
content-type: text/html; charset=utf-8
content-length: 113
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Thu, 26 Feb 2009 17:28:40 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--884981fc5aa85daf318eeff084d98e2cff92578f; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090226172841/https://github.com/jasonk/device-mac/tree/master
x-archive-orig-x-runtime: 50ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 113
cache-control: max-age=1800
memento-datetime: Thu, 26 Feb 2009 17:28:41 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT", ; rel="memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT", ; rel="last memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_8_20090226160909_crawl103-c/52_8_20090226172611_crawl101.arc.gz
server-timing: captures_list;dur=0.756712, exclusion.robots;dur=0.039969, exclusion.robots.policy;dur=0.019025, esindex;dur=0.014958, cdx.remote;dur=39.620506, LoadShardBlock;dur=274.684511, PetaboxLoader3.datanode;dur=138.081900, PetaboxLoader3.resolve;dur=345.532215, load_resource;dur=281.893971
x-app-server: wwwb-app200
x-ts: 301
x-tr: 625
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Mon, 04 Aug 2025 22:27:38 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Thu, 26 Feb 2009 17:28:41 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--884981fc5aa85daf318eeff084d98e2cff92578f; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 310ms
x-archive-orig-etag: "f977ded82a715400c99960288aecccbc"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 23523
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Thu, 26 Feb 2009 17:28:41 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT", ; rel="memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT", ; rel="last memento"; datetime="Thu, 26 Feb 2009 17:28:41 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_8_20090226160909_crawl103-c/52_8_20090226172611_crawl101.arc.gz
server-timing: captures_list;dur=0.605511, exclusion.robots;dur=0.030253, exclusion.robots.policy;dur=0.020314, esindex;dur=0.010668, cdx.remote;dur=24.224082, LoadShardBlock;dur=105.404640, PetaboxLoader3.datanode;dur=137.763124, load_resource;dur=51.774051
x-app-server: wwwb-app200
x-ts: 200
x-tr: 245
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
jasonk's device-mac at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Easily deal with hardware MAC Addresses |
Homepage: | https://www.jasonkohles.com/software/device-mac/ |
Clone URL: |
git://github.com/jasonk/device-mac.git
Give this clone URL to anyone.
git clone git://github.com/jasonk/device-mac.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Wed Feb 25 12:35:27 -0800 2009 | Initial commit [jasonk] |
![]() |
.shipit | Loading commit data... ![]() |
|
![]() |
Changes | ||
![]() |
MANIFEST.SKIP | Wed Feb 25 12:35:27 -0800 2009 | Initial commit [jasonk] |
![]() |
Makefile.PL | ||
![]() |
README | Wed Feb 25 13:52:36 -0800 2009 | Updated README [jasonk] |
![]() |
lib/ | Wed Feb 25 12:37:10 -0800 2009 | Bumped version to 1.00 [jasonk] |
![]() |
t/ | Wed Feb 25 12:38:39 -0800 2009 | fixed test count [jasonk] |
![]() |
xt/ |
NAME Device::MAC - Handle hardware MAC Addresses (EUI-48 and EUI-64) SYNOPSIS use Device::MAC; my $mac = Device::MAC->new( '00:19:e3:01:0e:72' ); print $mac->normalized."\n"; if ( $mac->is_unicast ) { print "\tIs Unicast\n"; } elsif ( $mac->is_multicast ) { print "\tIs Multicast\n"; } if ( $mac->is_local ) { print "\tIs Locally Administered\n"; } elsif ( $mac->is_universal ) { print "\tIs Universally Administered\n"; print "\tVendor: ".$mac->oui->organization."\n"; } DESCRIPTION This module provides an interface to deal with Media Access Control (or MAC) addresses. These are the addresses that uniquely identify a device on a network. Although the common case is hardware addresses on network cards, there are a variety of devices that use this system. This module supports both EUI-48 and EUI-64 addresses. Some devices that use EUI-48 (or MAC-48) addresses include: Ethernet 802.11 wireless networks Bluetooth IEEE 802.5 token ring FDDI ATM Some devices that use EUI-64 addresses include: Firewire IPv6 ZigBee / 802.15.4 wireless personal-area networks METHODS Device::MAC->new( $mac ) Creates and returns a new Device::MAC object. The MAC value is required. $mac->mac Return the MAC that this object was created with. $mac->oui Returns a Device::OUI object representing the OUI (Organizationally Unique Identifier) for the MAC. This object can give you information about the vendor of the device represented by this MAC. $mac->normalized Return a 'normalized' MAC value for this object. The normalized value is in lower-case hex, with colon separators (such as '00:19:e3:01:0e:72'). Device::MAC objects have stringification overloaded to return this value. FUNCTIONS / EXPORTS Although this module is entirely object oriented, there are a handful of utility functions that you can import from this module if you find a need for them. Nothing is exported by default, so if you want to import any of them you need to say so explicitly: use Device::MAC qw( ... ); You can get all of them by importing the ':all' tag: use Device::MAC ':all'; The exporting is handled by Sub::Exporter. normalize_mac( $mac ) Given a MAC in any common format, normalizes it into a lower-case, zero padded, hexadecimal format with colon separators. mac_cmp( $mac1, $mac2 ) This is a convenience method, given two Device::MAC objects, or two MACs (in any format acceptable to "normalize_mac") will return -1, 0, or 1, depending on whether the first MAC is less than, equal to, or greater than the second one. Device::MAC objects have "cmp" and "<=>" overloaded so that simply comparing them will work as expected. mac_to_integers( $mac ) Decodes a MAC into a list of 8 integers. This is primarily used internally, but may be useful in some circumstances. INTERNAL METHODS These are internal methods that you generally won't have to worry about. BUILDARGS The BUILDARGS method overloads Moose::Object to allow you to pass a single string argument containing the MAC when calling "new". overload_cmp A utility method that calls mac_cmp with the appropriate arguments. Used by overload. overload_stringify Internal method for overload to call when attempting to stringify the object. clear_mac_dependent This utility method clears the values of any attributes that depend on the MAC. It is called when the MAC attribute it set. MODULE HOME PAGE The home page of this module is <https://www.jasonkohles.com/software/device-mac>. This is where you can always find the latest version, development versions, and bug reports. You will also find a link there to report bugs. SEE ALSO <https://www.jasonkohles.com/software/device-mac> <https://en.wikipedia.org/wiki/MAC_Address> Device::OUI AUTHOR Jason Kohles "<email@jasonkohles.com>" <https://www.jasonkohles.com> COPYRIGHT AND LICENSE Copyright 2008, 2009 Jason Kohles This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This feature is coming soon. Sit tight!