A command-line tool to spoof your network interface's MAC address on Linux systems.
Project description
MAC Address Spoofer
A command-line tool to spoof your network interface's MAC address on Linux systems.
What is a MAC Address?
A Media Access Control (MAC) address is a unique identifier assigned to a network interface controller (NIC) for use as a network address in communications within a network segment. This identifier is used in most IEEE 802 networking technologies, including Ethernet, Wi-Fi, and Bluetooth.
Changing your MAC address can be useful for:
- Privacy - Prevent tracking across networks
- Testing - Simulate different network devices
- Bypassing restrictions - Some networks filter by MAC address
MAC Address Structure
A MAC address is a 12-digit hexadecimal number (6 bytes), typically represented in colon-hexadecimal notation (e.g., 00:1A:2B:3C:4D:5E).
| Bytes | Name | Description |
|---|---|---|
| First 3 bytes | OUI (Organizationally Unique Identifier) | Identifies the manufacturer |
| Last 3 bytes | NIC (Network Interface Controller) | Device-specific identifier |
Features
- 🎲 Random MAC generation - Generate safe, locally-administered unicast addresses
- 🏭 Vendor spoofing - Mimic devices from Samsung, Apple, Intel, Microsoft, Huawei, Google, or Cisco
- 🖥️ Interactive TUI - Easy to use text interface
- ⚡ Auto mode - Non-interactive operation for scripts
- 🔧 CI mode - Designed for automated testing pipelines
Compatibility
The tool is compatible with Linux distributions only.
Tested on:
- Ubuntu - 16.04.7, 18.04.6, 20.04.6, 22.04.5, 24.04.2
- Debian - 8, 9, 10, 11, 12
- Kali - 2021.4a, 2022.4, 2023.4, 2024.4, 2025.1
- Raspbian - 8, 9, 10, 11, 12
Installation
Via pip (recommended)
pip install macspoofer
From source
chmod +x setup.sh
sudo ./setup.sh
Usage
Find Your Interface Name
ifconfig -a
# or
ip link show
Interactive Mode (TUI)
sudo -E macspoofer -i <interface>
# or
sudo -E python3 main.py -i <interface>
Auto Mode (Non-Interactive)
sudo -E macspoofer -i <interface> --auto
# or
sudo -E python3 main.py -i <interface> --auto
Command Line Options
| Option | Description |
|---|---|
-i <interface> |
Network interface name (e.g., wlan0, eth0) [Required] |
--auto |
Non-interactive mode: generate and apply a random unicast MAC |
--ci |
CI mode: for automated testing |
--help |
Show help message and usage examples |
--version |
Show version information |
Resources
- MAC Vendor Lookup API - Look up manufacturer by MAC address
- Wireshark Vendor Database - Comprehensive list of known manufacturers
💡 Want more vendors? Feel free to open a PR to add more vendor OUIs!
License
© 2022-2026 Daniel Kirshner. All rights reserved.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file macspoofer-1.0.3.tar.gz.
File metadata
- Download URL: macspoofer-1.0.3.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9df68f3c582e58e42f05e5dab8dca0c5da02bfdf2add47edc2c282d4064b86d
|
|
| MD5 |
ce069ae0a19c53897b772163788c4653
|
|
| BLAKE2b-256 |
8feedfd1685a7297cfed4697a8c5f8ad1362cb59131ddce7d10ba35fbdc0ee54
|
Provenance
The following attestation bundles were made for macspoofer-1.0.3.tar.gz:
Publisher:
publish.yml on DanielKirshner/MacSpoofer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
macspoofer-1.0.3.tar.gz -
Subject digest:
c9df68f3c582e58e42f05e5dab8dca0c5da02bfdf2add47edc2c282d4064b86d - Sigstore transparency entry: 1228543198
- Sigstore integration time:
-
Permalink:
DanielKirshner/MacSpoofer@7e7685922cfcf0521d7bc418eb543c767de99dd3 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/DanielKirshner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7e7685922cfcf0521d7bc418eb543c767de99dd3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file macspoofer-1.0.3-py3-none-any.whl.
File metadata
- Download URL: macspoofer-1.0.3-py3-none-any.whl
- Upload date:
- Size: 349.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7d3386df39df16ae75d737a7806d2cddd2f3e723ac5f88625022fed9445d8b8
|
|
| MD5 |
0ff9b87bfa9d7f4235864e3513433343
|
|
| BLAKE2b-256 |
0eae8a0baa71e09cd42f362aa091772cc2d3f7a13175ff995f9d901f18770f7f
|
Provenance
The following attestation bundles were made for macspoofer-1.0.3-py3-none-any.whl:
Publisher:
publish.yml on DanielKirshner/MacSpoofer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
macspoofer-1.0.3-py3-none-any.whl -
Subject digest:
f7d3386df39df16ae75d737a7806d2cddd2f3e723ac5f88625022fed9445d8b8 - Sigstore transparency entry: 1228543205
- Sigstore integration time:
-
Permalink:
DanielKirshner/MacSpoofer@7e7685922cfcf0521d7bc418eb543c767de99dd3 -
Branch / Tag:
refs/tags/v1.0.3 - Owner: https://github.com/DanielKirshner
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7e7685922cfcf0521d7bc418eb543c767de99dd3 -
Trigger Event:
push
-
Statement type: