MAC address generator library for testers.
Using pip
:
pip install madmac
Using source:
$ git clone https://github.com/laminko/madmac.git
$ cd madmac
$ python setup.py install
Can be used madmac
as command. The following will generate random MAC address.
madmac
To see help, enter madmac --help
.
madmac --help
usage: madmac [-h] [-o OUI] [-r START] [-s STOP] [-t TOTAL] [-d DELIMITER]
[-c CASE]
MAC address generator library for testers.
optional arguments:
-h, --help show this help message and exit
-o OUI, --oui OUI 6-digit organizationally unique identifier
-r START, --start START
NIC specific start address
-s STOP, --stop STOP NIC specific end address
-t TOTAL, --total TOTAL
Number of MACs to generate
-d DELIMITER, --delimiter DELIMITER
Delimiter for MAC address
-c CASE, --case CASE Use lower or upper
NOTE:
madmac
is not a binary file. You need to install python 3.5 to execute the command.
Import MacGenerator
class from madmac
module. And create an object using MacGenerator
and call its member generate()
function. generate()
function will return python generator object.
The following code will generate single MAC address using default values.
from madmac import MacGenerator
macg = MacGenerator()
macs = macg.generate() # generator object which contains one item
from pprint import pprint
pprint(list(macs))
Default values are as follows:
# 'oui': None,
# 'start': None,
# 'stop': None,
# 'total': 1,
# 'delimiter': ':',
# 'case': 'lower'
One can provide oui
:
from madmac import MacGenerator
macg = MacGenerator(oui='F0-9F-C2')
list(macg.generate())
Also specify start
address and end
address if they are known:
from madmac import MacGenerator
start = '00-B0-A0'
stop = '00-B0-DF'
macg = MacGenerator(start=start, stop=stop)
NOTE: Above snippet describes to use random
oui
, but to use certain range fromstart
andstop
values. It will ignoretotal
parameter. Delimiter and Case will be default values.
Sometimes, we might want to generate certain amount of MAC addresses:
from madmac import MacGenerator
macg = MacGenerator(total=100)