Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/szolll/macgen_tool
Generate MAC addresses specifically for hypervisors.
https://github.com/szolll/macgen_tool
Last synced: about 2 months ago
JSON representation
Generate MAC addresses specifically for hypervisors.
- Host: GitHub
- URL: https://github.com/szolll/macgen_tool
- Owner: szolll
- License: gpl-3.0
- Created: 2024-10-27T21:07:10.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T10:08:42.000Z (4 months ago)
- Last Synced: 2024-11-05T19:06:42.457Z (3 months ago)
- Language: Python
- Size: 21.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MacGen_Tool
Generate MAC addresses specifically for hypervisors.# MAC Address Generator for Virtual Machine Guests
`macgen_tool.py` is a Python script for generating random MAC addresses for virtual machine guests on various hypervisors. The script supports prefixes specific to popular hypervisors (Xen, VMware, Hyper-V, VirtualBox, and KVM/QEMU) and allows for custom MAC prefixes.
## Features
- Interactive menu to select a hypervisor-specific MAC prefix.
- Option to generate multiple MAC addresses in a single run.
- Ability to specify a custom MAC prefix if the hypervisor is not listed.
- Option to save the generated MAC addresses to a file.
- Command-line arguments for flexible, non-interactive use.## Requirements
- Python 3.x
## Usage
You can use the script interactively or via command-line arguments for non-interactive use.
### Interactive Mode
Simply run the script and follow the on-screen prompts:
```
./macgen_tool.py
```## Command-Line Arguments
The script accepts the following command-line arguments:-c, --count : Specify the number of MAC addresses to generate (default is 1).
-s, --save : Specify a file name to save the generated MAC addresses.
--custom : Provide a custom MAC prefix in the format XX:XX:XX.### Examples
Generate 1 MAC address in interactive mode:```
./macgen_tool.py
```Generate 5 MAC addresses for a specific hypervisor (e.g., Xen) and save them to a file:
```
./macgen_tool.py -c 5 -s output.txt
```Generate 3 MAC addresses with a custom prefix:
```
./macgen_tool.py --custom 52:54:00 -c 3
```
The script outputs generated MAC addresses in the format XX:XX:XX:XX:XX:XX. If saving to a file, it will save each MAC address on a new line.## Notes
Ensure that any custom MAC prefix follows the format XX:XX:XX with valid hexadecimal values.
The script validates input and handles errors for invalid choices or formats.You can adjust the defaults, or add new ones by adjusting the following code;
````
# Hypervisor-specific MAC prefixes with brief descriptions
MAC_PREFIXES = {
"Xen": ([0x00, 0x16, 0x3e], "Xen virtual machine"),
"VMware": ([0x00, 0x50, 0x56], "VMware virtual machine"),
"Hyper-V": ([0x00, 0x15, 0x5d], "Microsoft Hyper-V virtual machine"),
"VirtualBox": ([0x08, 0x00, 0x27], "Oracle VirtualBox virtual machine"),
"KVM/QEMU": ([0x52, 0x54, 0x00], "KVM/QEMU virtual machine")
}
```