Everything you need to install, configure, and run IPNetShift, the free Windows 10/11 tool that automatically rotates your local IP address on every restart.
- Introduction
- Requirements
- Installation
- Quick Start
- Rotation Modes
- Auto-run on Boot
- Settings Reference
- How It Works
- Step 1: Generate new MAC address
- Step 2: Write to Windows registry
- Step 3: Disable and re-enable adapter
- Step 4: Release + renew DHCP lease
- File Reference
- FAQ
- Does IPNetShift change my public IP address?
- Will antivirus flag IPNetShift?
- My router keeps giving me the same IP. Why?
- Does it work on Wi-Fi adapters?
- Is it safe to use the MAC prefix 02:AB:CD?
- Can I run IPNetShift without a GUI (headless/silent)?
- Troubleshooting
Introduction
IPNetShift is a free Windows utility built by KentDevTools that automatically changes your local IP address on every restart. It does this by rotating your network adapter’s MAC address before each DHCP request, causing your router to treat your PC as a new device and assign the next available IP.
The core idea: Your router assigns the same IP every time because it recognizes your MAC address. By changing the MAC address before connecting, IPNetShift appears as a new device, and your router assigns a fresh IP from its pool. 192.168.2.50 → restart → 192.168.2.51 → restart → 192.168.2.52.
Requirements
| Requirement | Minimum | Notes |
|---|---|---|
| operating_system | Windows 10 or Windows 11 | 64-bit recommended |
| python_version | Python 3.8+ | Free at python.org must be in PATH |
| privileges | Administrator | Required for registry writes and netsh |
| network_adapter | Ethernet or Wi-Fi | Ethernet has better MAC spoof support |
| python_library | Pillow (auto-installed) | Only needed for logo/icon display |
| disk_space | ~10 MB | Including Python if not installed |
Installation
1
Download the zip.
Download ipnetshift.zip from the download page. It contains all files; no installer is required.
2
Extract to a permanent folder
Right-click the ZIP → Extract All. Place the folder somewhere permanent, like do not run it from your downloads folder.
3
Install Python 3.8+ (if needed)
Download Python from python.org/downloads. During installation, tick “Add Python to PATH”; this is essential for the launcher to find Python.
4
Launch via Run IPNetShift.bat
Double-click Run IPNetShift.bat. It will automatically request administrator rights (click “Yes”) and silently install Pillow on the first run. The app will open within a few seconds.
⚠ Administrator rights required: IPNetShift needs administrator privileges to write to the network adapter registry key and manage the adapter via netsh. The launcher handles UAC elevation automatically; just approve the prompt.
Quick Start
1
Select your network adapter
In the Network Adapter dropdown, select your active adapter. Choose Ethernet a wired connection or Wi-Fi a wireless one. Click ↻ to refresh the list if needed.
2
Choose Sequential or Random mode
Select Sequential for a predictable .50 → .51 → .52 rotation, or Random for a random IP each run. Sequential is recommended for most users.
3
Click ⚡ CHANGE IP NOW
The button turns amber, and the log updates in real time. The process takes about 10 seconds: MAC write → adapter reset → DHCP renewal. Your new IP appears at the top when done.
Rotation Modes
IPNetShift offers two modes that control how the new MAC address (and therefore new IP) is generated each run.
Recommended
Sequential
Increments the last 3 bytes of the MAC by 1 on each run. Your router assigns IPs in order: .50 → .51 → .52 predictable, clean, and easy to track.
Random
Random
Generates a completely random MAC suffix each run. Your router assigns whatever free IP is available next, different and unpredictable each time.
ℹ The MAC prefix stays the same Both modes use the same prefix (default). The 02 first byte marks it as a “locally administered” address, the standard range for software-assigned MACs that won’t conflict with real hardware.
Auto-run on Boot
To have IPNetShift automatically rotate your IP every time Windows starts silently, with no window or interaction:
1
Open IPNetShift as administrator.
Use Run IPNetShift.bat which handles elevation automatically.
2
Tick the startup checkbox
Check “Automatically rotate IP on every Windows startup.” IPNetShift creates a task scheduler task named IPNetShiftAutoRun.
3
Verify in Task Scheduler (optional)
Search for “Task Scheduler” in the Start menu. You can also modify, disable, or delete the task from there manually.
To disable auto-run, uncheck the same box in the app. The task is deleted automatically.
Settings Reference
Settings are saved automatically ipnetshift_config.json in the app folder. You can also edit this file in any text editor.
| Key | Default | Description |
|---|---|---|
| adapter_name | “” | Windows adapter name (e.g., Ethernet, Wi-Fi). Set by the dropdown. |
| mode | “sequential” | Rotation mode. Values: sequential or random. |
| mac_prefix | “02:AB:CD” | First 3 bytes of the spoofed MAC. Keep the first byte as is. |
| last_mac_suffix | [0, 0, 0] | Internal sequential counter. Do not edit manually. |
| startup_enabled | false | Whether the Task Scheduler auto-run is active. |
How It Works
IPNetShift uses three Windows mechanisms in sequence to reliably obtain a new IP address from your router.
Step 1: Generate new MAC address
A new MAC address is computed using the configured prefix (02:AB:CDby default) and either an incremented suffix (sequential) or random 3-byte suffix (random mode). The 02 prefix byte sets the “locally administered” bit, which is the standard marker for software-assigned MACs.
Step 2: Write to Windows registry
The new MAC (without colons) is written to the NetworkAddress registry value under the adapter’s driver class key:
Registry PathHKLM\SYSTEM\CurrentControlSet\Control\Class
\{4D36E972-E325-11CE-BFC1-08002BE10318}
\{adapter_subkey}
\NetworkAddress = "02ABCDXXXXXX"
Step 3: Disable and re-enable adapter
The adapter is disabled via the command line and then re-enabled after 2 seconds. This forces the Windows network driver to reload the MAC address from the registry into hardware-level registers.
Step 4: Release + renew DHCP lease
With the new MAC active, it ipconfig /release drops the existing DHCP lease and ipconfig /renew sends a fresh DHCPDISCOVER broadcast. Your router sees the new MAC, treats it as a new device, and assigns the next available IP from its pool.
Why does the order matter? The registry write alone isn’t enough; you must cycle the adapter for the driver to pick up the new MAC. And the DHCP renewal must happen after the adapter is back online with the new MAC loaded. IPNetShift handles all of this in the correct sequence automatically.
File Reference
ipnetshift.py Main Python application. Contains all logic: GUI, MAC rotation, registry writes, adapter management, and DHCP renewal.
Run IPNetShift.batLauncher batch file. Auto-requests UAC elevation, checks for Python, installs Pillow on first run, then starts the app.
IPNetShift_Logo.jpg: Header logo displayed at the top of the app window.
IPNetShift_Icon.jpg: Window icon shown in the Windows taskbar and title bar.
ipnetshift_config.json Auto-created on first run. Stores your adapter name, mode, MAC prefix, sequential counter, and startup setting.
ipnetshift_log.txt Auto-created on first run. Timestamped log of every IP change operation, including MAC values, commands, and resulting IPs.
README. mdPlain-text quick-start guide bundled with the download.
FAQ
Does IPNetShift change my public IP address?
No. IPNetShift changes your local (LAN) IP, the one assigned by your router within your home network (e.g., 192.168.2.50). Your public internet IP is assigned by your ISP and is unaffected. For public IP changes, use a VPN service.
Will antivirus flag IPNetShift?
Some security tools may flag MAC-spoofing software as a PUP (Potentially Unwanted Program). This is a false positive. IPNetShift only modifies your own adapter using standard Windows APIs. The source code in ipnetshift.py is fully visible for inspection. Add the IPNetShift folder as an antivirus exclusion if needed.
My router keeps giving me the same IP. Why?
Your router likely has a static DHCP reservation that maps your old MAC to a fixed IP. Log into your router admin page (192.168.1.1 or 192.168.2.1); find DHCP Reservations or Static Leases; and delete the entry for your PC. After that, IPNetShift will work reliably.
Does it work on Wi-Fi adapters?
It works on most Wi-Fi adapters, but driver support for MAC spoofing varies. Ethernet adapters are more reliable. If Wi-Fi doesn’t work, open Device Manager → your adapter → Properties → Advanced tab and look for “Network Address” or “Locally Administered Address.” Enabling this setting manually may help.
Is it safe to use the MAC prefix 02:AB:CD?
Yes. The first byte value of 02 sets the “Locally Administered” bit, which is the standard convention for software-defined MAC addresses. This prefix will never conflict with real hardware vendor MACs (which use even first bytes with the LA bit clear). You can change the prefix to any value starting with 02, 06, 0A, or 0E.
Can I run IPNetShift without a GUI (headless/silent)?
Yes. Run the app with the --silent flag. This performs the IP rotation without opening any window. The auto-startup Task Scheduler task uses this flag automatically.
Troubleshooting
IP did not change after clicking the button
Ensure you launched it via the handler Run IPNetShift.bat that handles administrator elevation. Check the log panel for “Access denied” errors. If present, close the app and re-run via the .bat file.
“Could not find registry key” in the log
This is a warning, not a fatal error the app falls back to the netsh method. If the IP still doesn’t change, try going to Device Manager → your adapter → Properties → Advanced tab and look for a “Network Address” field. Setting it once manually confirms your adapter supports MAC spoofing.
App won’t open / crashes immediately
Open Command Prompt and run it python --version to confirm Python is installed. If not found, reinstall Python and tick “Add Python to PATH.” Then run python ipnetshift.py directly in the terminal to see the full error message.
Startup task not created / deleted after unticking
The Task Scheduler write requires administrator privileges. Confirm the app is running as administrator. You can also create or delete the task manually: open Task Scheduler, create a basic task named IPNetShiftAutoRun “Trigger On Log On,” action: pythonw.exe "C:\IPNetShift\ipnetshift.py" --silent.
ℹ Check the log file Open ipnetshift_log.txt in the app folder. Every operation is logged with a timestamp, command, and output. Most issues are visible there within seconds of running the tool.
READY TO DOWNLOAD?
IPNetShift is free. No account, no ads, no limits.