Skip to content
/ mac-tool Public

Python-based MAC address changer for Linux – spoof, randomize, and restore MAC addresses easily.

Notifications You must be signed in to change notification settings

ZX41R/mac-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MAC Changer - Advanced MAC Address Manipulation Tool for Linux

MAC Address Changer for Linux – Python-Based CLI Tool to Spoof and Change MAC Addresses with Ease.


A powerful and interactive tool for changing and spoofing MAC addresses on Linux systems — featuring vendor-specific spoofing, history tracking, configuration profiles, and both CLI + interactive modes.

MAC Changer Banner Python Version License Status


Demo

MAC Changer Demo

If you're looking for a macchanger alternative, this Python-based MAC address changer gives you full control over your interfaces. Spoof, reset, or randomize your MAC on any Linux system with ease.


Features

  • Interactive command-line menu with smooth animations
  • Remembers original MAC addresses and supports restoration
  • Random MAC generation (with valid formats)
  • Vendor-specific MAC address spoofing (Apple, Intel, Cisco, etc.)
  • Persistent history logging with timestamps
  • Configurable settings (auto-backup, warnings, defaults)
  • Full command-line argument support
  • Root-checking for protected operations
  • Beautiful, color-coded terminal UI

Installation

Supported OS: Linux (Debian, Ubuntu, Arch, Kali, etc.)

  1. Clone the repository

    git clone https://github.com/ZX41R/Mac_Changer.git
    cd Mac_Changer
  2. Run the script

    python3 Mac_Changer.py
  3. Make it executable (optional)

    chmod +x Mac_Changer.py
    ./Mac_Changer.py
    

Usage

Interactive Mode

Just run the script without arguments:

sudo python3 Mac_Changer.py

You’ll see a colorful menu to list interfaces, generate MACs, spoof vendors, restore original MACs, and more!


Command-Line Mode

Action Example
Generate random MAC for eth0 sudo ./Mac_Changer.py -i eth0 -r
Set custom MAC address sudo ./Mac_Changer.py -i wlan0 -m 00:11:22:33:44:55
Vendor-specific MAC (e.g., Apple) sudo ./Mac_Changer.py -i eth0 -v Apple
Restore original MAC sudo ./Mac_Changer.py -i eth0 --restore
List interfaces ./Mac_Changer.py -l
Generate 5 random MACs ./Mac_Changer.py -g -c 5
Show history ./Mac_Changer.py --history

Use --no-banner to skip the animated ASCII banner.


Configuration

The tool stores configuration in:

  • ~/.mac_changer_config.json

You can toggle:

  • Auto backup
  • Warning messages
  • Default interface
  • Vendor preferences

History

Change logs are stored in:

  • ~/.mac_changer_history.json

The interactive and CLI modes can display the last 10 changes, showing:

  • Old MAC → New MAC
  • Interface used
  • Timestamp

Requirements

  • Python 3.6+
  • Linux OS
  • iproute2 installed (ip command)
  • sudo privileges

Legal Notice

This tool is designed strictly for ethical and educational use. Changing your MAC address can interfere with network policies and may be illegal in some jurisdictions.

YOU are responsible for how you use this tool.


Author

  • Name: Zohir
  • GitHub: ZX41R
  • Tool Version: 2.0

Star This Repo

If you found this project useful, consider giving it a ⭐️ to support future development!


📄 License

This project is licensed under the MIT License. See LICENSE for details.

About

Python-based MAC address changer for Linux – spoof, randomize, and restore MAC addresses easily.

Topics

Resources

Stars

Watchers

Forks

Languages