formac
formats MAC addresses into different common formats.
Install with go get github.com/hslabbert/formac...
MAC addresses are parsed using net.ParseMAC()
, so any MAC address format supported by net.ParseMAC()
is accepted by formac
.
Output can be either plain
or json
, with the default being plain
.
Outputted formats are:
Cisco
: Cisco format; three sets of 2 hex bytes separated by periods.UnixExpanded
: What we commonly expect; hex bytes separated by colons.UnixCompact
: Same asUnix
, except duplicate zeroes removed.EUI
: Dash-separated hex bytes, upper case.Bare
: No separators, upper case.PgSQL
: Two sets of 3 hex bytes, separated by a colon.
Also, will output the manufacturer ("OUI") for the MAC if found. Manufacturer lookups are from IEEE registries.
Basic usage:
$ formac -h
Usage of formac:
-format string
MAC output format (default "plain")
string
The MAC address to parse and format
Default to plain
output:
$ formac 00-00-5E-00-53-01
Cisco: 0000.5e00.5301
UnixExpanded: 00:00:5e:00:53:01
UnixCompact: 0:0:5e:0:53:1
EUI: 00-00-5E-00-53-01
Bare: 00005E005301
PgSQL: 00005e:005301
Manufacturer: ICANN, IANA Department
Or as json
:
$ formac -format json 0000.5e00.5301
{"Cisco":"0000.5e00.5301","UnixExpanded":"00:00:5e:00:53:01","UnixCompact":"0:0:5e:0:53:1","EUI":"00-00-5E-00-53-01","Bare":"00005E005301","PgSQL":"00005e:005301","Manufacturer":"IC
ANN, IANA Department"}