Library for generating Ethernet MAC addresses
Project description
Python-generate_mac
Python library for Generating Ethernet MAC addresses. Can use the wireshark manuf for specific vendors, and or a random, but assigned address. Will work with any file formated the same as said file.
Supported functions:
total_random() - Procedurely generated MAC address, using random function.
vid_file_random(file) - uses random line from wireshark's manuf file
vid_file_vendor(file, vendor name, desc=optional) - specify a vendor name, uses wireshark's manuf file instead of being completely random. May optionally specify desc, which searches description within the vendor field
vid_provided(vid bytes) - specify the VID bytes when calling the function. Random device bytes will be generated.
list_vendors(file) - return a python list [] with valid vendors
is_mac_address(mac) - Takes a string, and checks if it is a valid Ethernet MAC address. returns True or False(bool type)
Usage
Import and set up an object.
from generate_mac import generate_mac
Procedurely generated Vendor and Host bytes. Checks for broadcast bit
generate_mac.total_random()
'7E:CD:60:1E:AC:6E'
Read Vendor bytes from random line in a file. This has to be formated the same as wireshark's manuf file.
generate_mac.vid_file_random('/usr/share/wireshark/manuf')
'70:B3:D5:C5:40:49'
Read from a manuf file like above, but find Vendor bytes belonging to a specific vendor, by name.
generate_mac.vid_file_vendor('/usr/share/wireshark/manuf',"Motorola")
'40:88:05:4F:CE:82'
OPTIONAL: this can also now search the description field
generate_mac.vid_file_vendor('/usr/share/wireshark/manuf',"Motorola","BSG")
'00:24:37:5C:3A:8B'
Provide the vendor bytes in a string. Generate Host bytes only
generate_mac.vid_provided('00:06:8C')
'00:06:8C:35:5E:C4'
List valid vendor options as a list.
generate_mac.list_vendors('/usr/share/wireshark/manuf')
['Vendor1','Vendor2','etc']
Check if a MAC address is valid. returns a Bool(True,False)
generate_mac.is_mac_address('00:06:8C:35:5E:C4')
True
Get the VID bytes from a MAC address
generate_mac.get_vid_bytes('00:06:8C:35:5E:C4')
'00:06:8C'
Generate another MAC from the same VID bytes as current MAC
generate_mac.another_same_vid('00:06:8C:35:5E:C4')
'00:06:8C:3D:C2:F2'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for python_generate_mac-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14473549c2e3aa833ef312f9de894864ae18af7be1e89df6b21e41aaed82b64d |
|
MD5 | 7e1340d6240f35192814c1f02410cec3 |
|
BLAKE2b-256 | 935497282016b70fb9c2daea4183afbf634f3f8d9cc8a3176e4901f347934208 |