{"id":49284993,"url":"https://github.com/danielkirshner/macspoofer","last_synced_at":"2026-05-05T01:01:36.360Z","repository":{"id":116439267,"uuid":"495996418","full_name":"DanielKirshner/MacSpoofer","owner":"DanielKirshner","description":"CLI to randomize your MAC address on Linux","archived":false,"fork":false,"pushed_at":"2026-05-04T23:14:10.000Z","size":1619,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-05-04T23:37:43.459Z","etag":null,"topics":["linux","mac-address","mac-address-changer","mac-address-spoofing","mac-changer","media-access-control","network-security","terminal-app","wifi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DanielKirshner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-24T21:42:21.000Z","updated_at":"2026-05-04T23:02:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"dac6453b-c327-49ea-8708-146953146ad7","html_url":"https://github.com/DanielKirshner/MacSpoofer","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/DanielKirshner/MacSpoofer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielKirshner%2FMacSpoofer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielKirshner%2FMacSpoofer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielKirshner%2FMacSpoofer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielKirshner%2FMacSpoofer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanielKirshner","download_url":"https://codeload.github.com/DanielKirshner/MacSpoofer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanielKirshner%2FMacSpoofer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32631058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux","mac-address","mac-address-changer","mac-address-spoofing","mac-changer","media-access-control","network-security","terminal-app","wifi"],"created_at":"2026-04-25T21:04:53.346Z","updated_at":"2026-05-05T01:01:36.339Z","avatar_url":"https://github.com/DanielKirshner.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MAC Address Spoofer\n\n![CI (master)](https://github.com/DanielKirshner/MacSpoofer/actions/workflows/linux-ci.yml/badge.svg?branch=master)\n![PyPI Version](https://img.shields.io/pypi/v/macspoofer)\n![PyPI Downloads](https://img.shields.io/pypi/dm/macspoofer)\n\nA command-line tool to spoof your network interface's MAC address on Linux systems.\n\n![MacSpoofer Demo](https://raw.githubusercontent.com/DanielKirshner/MacSpoofer/master/demo/demo.gif)\n\n## What is a MAC Address?\n\nA **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.\n\nChanging your MAC address can be useful for:\n- **Privacy** - Prevent tracking across networks\n- **Testing** - Simulate different network devices\n- **Bypassing restrictions** - Some networks filter by MAC address\n\n## MAC Address Structure\n\nA MAC address is a **12-digit hexadecimal number** (6 bytes), typically represented in colon-hexadecimal notation (e.g., `00:1A:2B:3C:4D:5E`).\n\n| Bytes | Name | Description |\n|-------|------|-------------|\n| First 3 bytes | **OUI** (Organizationally Unique Identifier) | Identifies the manufacturer |\n| Last 3 bytes | **NIC** (Network Interface Controller) | Device-specific identifier |\n\n## Features\n\n- 🎲 **Random MAC generation** - Generate safe, locally-administered unicast addresses\n- 🏭 **Vendor spoofing** - Mimic devices from Samsung, Apple, Intel, Microsoft, Huawei, Google, or Cisco\n- 🖥️ **Interactive TUI** - Easy to use text interface\n- ⚡ **Auto mode** - Non-interactive operation for scripts\n- 🔧 **CI mode** - Designed for automated testing pipelines\n\n## Compatibility\n\nThe tool is compatible with **Linux distributions only**.\n\nTested on:\n- **Ubuntu** - 16.04.7, 18.04.6, 20.04.6, 22.04.5, 24.04.2\n- **Debian** - 8, 9, 10, 11, 12\n- **Kali** - 2021.4a, 2022.4, 2023.4, 2024.4, 2025.1\n- **Raspbian** - 8, 9, 10, 11, 12\n\n## Installation\n\n### Via pip (recommended)\n\n```bash\npip install macspoofer\n```\n\n### From source\n\n```bash\nchmod +x setup.sh\nsudo ./setup.sh\n```\n\n## Usage\n\n### Find Your Interface Name\n\n```bash\nifconfig -a\n# or\nip link show\n```\n\n### Interactive Mode (TUI)\n\n```bash\nsudo -E macspoofer -i \u003cinterface\u003e\n# or\nsudo -E python3 main.py -i \u003cinterface\u003e\n```\n\n### Auto Mode (Non-Interactive)\n\n```bash\nsudo -E macspoofer -i \u003cinterface\u003e --auto\n# or\nsudo -E python3 main.py -i \u003cinterface\u003e --auto\n```\n\n### Command Line Options\n\n| Option | Description |\n|--------|-------------|\n| `-i \u003cinterface\u003e` | Network interface name (e.g., `wlan0`, `eth0`) **[Required]** |\n| `--auto` | Non-interactive mode: generate and apply a random unicast MAC |\n| `--ci` | CI mode: for automated testing |\n| `--help` | Show help message and usage examples |\n| `--version` | Show version information |\n\n### Programmatic Usage\n\nYou can also use `macspoofer` as a Python library:\n\n#### Generate a Random MAC Address\n\n```python\nfrom macspoofer.utils.random_utils import generate_safe_unicast_mac\n\nmac = generate_safe_unicast_mac()\nprint(mac)  # e.g. \"a6:3f:12:cb:90:01\"\n```\n\n#### Search \u0026 Browse Vendors\n\n```python\nfrom macspoofer.utils.vendors import VendorRegistry\n\n# Total vendors in the database\nprint(VendorRegistry.vendor_count())\n\n# Search by name (case-insensitive)\nresults = VendorRegistry.search(\"Raspberry\")\nprint(results)\n\n# Get OUI prefixes for a specific vendor\nouis = VendorRegistry.get_ouis_for_vendor(\"Apple\")\nprint(ouis[:3])  # ['58:e6:ba', '8c:98:6b', ...]\n```\n\n#### Generate a Vendor-Specific MAC\n\n```python\nfrom macspoofer.spoofer import generate_mac_for_vendor\n\nmac = generate_mac_for_vendor(\"Samsung\")\nprint(mac)  # e.g. \"e4:7a:11:2f:c8:5d\"\n```\n\n#### Spoof an Interface (requires root)\n\n```python\nimport asyncio\nfrom macspoofer.modules.interface import NetworkInterface\nfrom macspoofer.spoofer import spoof_mac_address\nfrom macspoofer.utils.random_utils import generate_safe_unicast_mac\n\nasync def main():\n    interface = NetworkInterface(\"wlan0\")\n    mac = generate_safe_unicast_mac()\n    await spoof_mac_address(interface, mac, require_confirmation=False)\n\nasyncio.run(main())\n```\n\n## License\n\n[MIT License](LICENSE)\n\n---\n\n**© 2022-2026 Daniel Kirshner. All rights reserved.**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielkirshner%2Fmacspoofer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielkirshner%2Fmacspoofer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielkirshner%2Fmacspoofer/lists"}