{"id":15028436,"url":"https://github.com/feross/spoofmac","last_synced_at":"2025-05-14T19:03:08.014Z","repository":{"id":40284430,"uuid":"2300485","full_name":"feross/SpoofMAC","owner":"feross","description":":briefcase: Change your MAC address for debugging","archived":false,"fork":false,"pushed_at":"2018-01-27T08:46:55.000Z","size":135,"stargazers_count":3073,"open_issues_count":19,"forks_count":272,"subscribers_count":90,"default_branch":"master","last_synced_at":"2025-04-13T13:57:37.655Z","etag":null,"topics":["address","ifconfig","ip","ipconfig","mac","mac-address","python","spoofmac","wi-fi","wifi"],"latest_commit_sha":null,"homepage":"https://feross.org/spoofmac/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feross.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-31T08:43:43.000Z","updated_at":"2025-04-11T01:47:03.000Z","dependencies_parsed_at":"2022-06-28T18:03:09.931Z","dependency_job_id":null,"html_url":"https://github.com/feross/SpoofMAC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feross%2FSpoofMAC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feross%2FSpoofMAC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feross%2FSpoofMAC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feross%2FSpoofMAC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feross","download_url":"https://codeload.github.com/feross/SpoofMAC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248724587,"owners_count":21151559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["address","ifconfig","ip","ipconfig","mac","mac-address","python","spoofmac","wi-fi","wifi"],"created_at":"2024-09-24T20:08:19.214Z","updated_at":"2025-04-13T13:57:44.714Z","avatar_url":"https://github.com/feross.png","language":"Python","readme":"# SpoofMAC - Spoof your MAC address\n\n### *NOTE: Consider using [spoof](https://github.com/feross/spoof), a node.js port of this package.*\n\n### For OS X, Windows, and Linux (most flavors)\n\nI made this because changing your MAC address in Mac OS X is harder than it\nshould be. The biggest annoyance is that the Wi-Fi card (Airport) needs to be\n*manually* disassociated from any connected networks in order for the change\nto be applied correctly. Doing this manually every time is tedious and lame.\n\nInstead of doing that, just run this Python script and change your MAC address\nin one command. *Now for Windows and Linux, too!*\n\n**Note for Windows 10:** While it may appear that this script does not work anymore, it does. The reason for this is that the change only appears in the Network Adapter properties in the Control Panel. Commands such as getmac or ipconfig will still show the original MAC address even though it has been changed. (**Note:** this actually appears to depend on the NIC (Network Interface Card). I tested it with my desktop and ipconfig showed the change, however it does not show the change on my laptop)\n\nTo see this for yourself, follow the below steps:\n\n1. Open Control Panel\n2. Click 'Network and Internet'\n3. Click 'Network and Sharing Center'\n4. On the panel to the left, click 'Change adapter settings'\n5. A new window will appear showing all of the network adapters. Right-click the one that is currently active/enabled, and click 'Properties'\n6. Near the top, click the button that says 'Configure'\n7. Another window will open. At the top, click the 'Advanced' tab.\n8. In the list to the left, select either 'Network Address' or 'Locally Administered Address'. This will depend on your system. You should see your MAC address in the text box to the right. This MAC address should change when you run this script on Windows 10. If the text box is empty and 'Not Present' is selected, run the script once to generate a new MAC address and follow the above steps. The 'Value' checkbox should now be selected and there should be a new MAC address in the text box.\n\n## Installation\n\nYou can install from [PyPI](https://pypi.python.org/pypi/SpoofMAC/) using `pip` or `easy_install`:\n\n```\npip install SpoofMAC\neasy_install SpoofMAC\n```\n\nor clone/download the repository and install with `setup.py`. Ex:\n\n```\ngit clone git://github.com/feross/SpoofMAC.git\ncd SpoofMAC\npython setup.py install\n```\n\nIf you're not using the system Python (because you use Homebrew, for example), make sure you add '/usr/local/share/python/' (or equivalent) to your path.\n\nOr, consider using **[spoof](https://github.com/feross/spoof)**, a node.js port of this package.\n\n## Usage\n\nSpoofMAC installs a command-line script called `spoof-mac.py`. You can always\nsee up-to-date usage instructions by typing `spoof-mac.py --help`.\n\n### Examples\n\nSome short usage examples.\n\n#### List available devices:\n\n```bash\nspoof-mac.py list\n- \"Ethernet\" on device \"en0\" with MAC address 70:56:51:BE:B3:00\n- \"Wi-Fi\" on device \"en1\" with MAC address 70:56:51:BE:B3:01 currently set to 70:56:51:BE:B3:02\n- \"Bluetooth PAN\" on device \"en1\"\n```\n\n#### List available devices, but only those on wifi:\n\n```bash\nspoof-mac.py list --wifi\n- \"Wi-Fi\" on device \"en0\" with MAC address 70:56:51:BE:B3:6F\n```\n\n#### Randomize MAC address *(requires root)*\n\nYou can use the hardware port name, such as:\n\n```bash\nspoof-mac.py randomize wi-fi\n```\n\nor the device name, such as:\n\n```bash\nspoof-mac.py randomize en0\n```\n\n#### Set device MAC address to something specific *(requires root)*\n\n```bash\nspoof-mac.py set 00:00:00:00:00:00 en0\n```\n\n#### Reset device to its original MAC address *(requires root)*\n\nWhile not always possible (because the original physical MAC isn't\navailable), you can try setting the MAC address of a device back\nto its burned-in address using `reset`:\n\n```bash\nspoof-mac.py reset wi-fi\n```\n\n(older versions of OS X may call it \"airport\" instead of \"wi-fi\")\n\nAnother option to reset your MAC address is to simply restart your computer.\nOS X doesn't store changes to your MAC address between restarts. If you want\nto make change your MAC address and have it persist between restarts, read\nthe next section.\n\n\n## Optional: Run automatically at startup\n\nOS X doesn't let you permanently change your MAC address. Every time you restart your computer, your address gets reset back to whatever it was before. Fortunately, SpoofMAC can easily be set to run at startup time so your computer will always have the MAC address you want.\n\n### Startup Installation Instructions\n\nFirst, make sure SpoofMAC is [installed](#installation). Then, run the following commands in Terminal:\n\n```bash\n# Download the startup file for launchd\ncurl https://raw.githubusercontent.com/feross/SpoofMAC/master/misc/local.macspoof.plist \u003e local.macspoof.plist\n\n# Customize location of `spoof-mac.py` to match your system\ncat local.macspoof.plist | sed \"s|/usr/local/bin/spoof-mac.py|`which spoof-mac.py`|\" | tee local.macspoof.plist\n\n# Copy file to the OS X launchd folder\nsudo cp local.macspoof.plist /Library/LaunchDaemons\n\n# Set file permissions\ncd /Library/LaunchDaemons\nsudo chown root:wheel local.macspoof.plist\nsudo chmod 0644 local.macspoof.plist\n```\n\nBy default, the above will randomize your MAC address on computer startup. You can change the command that gets run at startup by editing the `local.macspoof.plist` file.\n\n```bash\nsudo vim /Library/LaunchDaemons/local.macspoof.plist\n```\n\n## Changelog\n\n- 2.1.1 - Use `ip` command when available, in more situations\n- 2.1.0 - Use `ip` command when available; `ifconfig` is deprecated on Arch Linux\n- 2.0.6 - Increase MAC address randomness\n- 2.0.5 - Allow 2nd character in MAC address to be a letter\u2029\n- 2.0.4 - Warn when trying to use a multicast address\n- 2.0.3 - More Python 2.7 compatibility fixes\n- 2.0.2 - Python 2.7 compatibility fixes\n- **2.0.0 - Python 3 support**\n- 1.2.2 - Fix for Ubuntu 14.04\n- 1.2.1 - Fix line endings (dos2unix)\n- **1.2.0 - Add Windows and Linux support (thanks CJ!)**\n- 1.1.1 - Fix \"ValueError: too many values to unpack\" error\n- 1.1.0 - Fix regression: List command now shows current MAC address\n- **1.0.0 - Complete rewrite to conform to PEP8 (thanks Tyler!)**\n- **0.0.0 - Original version (by Feross)**\n\n## Contributors\n\n- Feross Aboukhadijeh [http://feross.org]\n- Tyler Kennedy [http://www.tkte.ch]\n- CJ Barker [cjbarker@gmail.com]\n\n*Improvements welcome! (please add yourself to the list)*\n\n## Ports\n\n- [spoof](https://github.com/feross/spoof) - node.js\n\n## MIT License\n\nCopyright (c) 2011-2017\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeross%2Fspoofmac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeross%2Fspoofmac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeross%2Fspoofmac/lists"}