ID-Spoofer v2.0.5

February 28, 2026 · View on GitHub

ID-Spoofer Logo

ID-Spoofer v2.0.5

License Version Platform Language Status Go Reference

A cross-platform identity spoofing toolkit for penetration testing and security assessments. Written in Go, ID-Spoofer randomizes MAC addresses and projects a convincing OS network persona (Windows, macOS, or iOS) at the wire level — without touching the system hostname or breaking internal configuration. Optional protocol encapsulation routes traffic through Tor, WireGuard, I2P, Shadowsocks, QUIC tunnels, or layered combinations.

Demo

ID-Spoofer interactive TUI demo
ID-Spoofer — Multi-OS TCP/IP identity projection + protocol encapsulation, wire-level, zero hostname changes  ·  idarti.com

Screenshots

New Dashboard 2.0.5 New dashboard showing active connections for ease of management


Applying Network Persona Applying network persona — DHCP hostname, TTL, MSS=1460, NFQUEUE active

DHCP hostname injected, TTL set, MSS=1460, NFQUEUE rewriting IP ID + TCP options. System hostname unchanged.


Status — Persona Active Status view showing IDSPOOF_NETEMU iptables chain and active NFQUEUE rewriter

idspoof status after apply: IDSPOOF_NETEMU chain dumped, NFQUEUE rewriter confirmed active on queue 42.


Status — Clean State Status view before apply — no iptables rules, NFQUEUE not active

Before apply: sysctl already at Windows values (TTL=128, timestamps=0) but no iptables rules and NFQUEUE not running.

How it works

The key design principle: your system hostname is never modified. Instead, ID-Spoofer manipulates the network stack so that passive observers (p0f, Nmap, Wireshark) see a different operating system.

Network personas

Five personas are available, each projecting a different OS identity at the wire level:

PersonaTTLTCP TimestampsWindow ScaleTCP Options OrderDHCP Vendor ClassmDNS
Windows (default)128Disabled8MSS, NOP, WS, NOP, NOP, SOKMSFT 5.0Avahi stopped
macOS64Enabled8MSS, NOP, WS, NOP, NOP, TS, SOKNoneAvahi left running
Linux64Enabled7MSS, SACK, TS, NOP, WSNoneAvahi left running
iOS64Enabled16MSS, NOP, WS, NOP, NOP, TS, SOKNoneAvahi left running
Android64Enabled8MSS, SACK, TS, NOP, WSNoneAvahi left running

Network persona layers

When you run idspoof apply, five layers activate simultaneously:

LayerWhat changesEffect
sysctlTTL, tcp_timestamps, tcp_sack, tcp_ecn, window buffersKernel-level TCP/IP parameters matching the selected OS
iptablesIDSPOOF_NETEMU mangle chainForces correct TTL on outgoing packets, clamps MSS=1460 on SYN
NFQUEUE (queue 42)Intercepts outgoing SYN packetsRewrites IP ID (Linux=0 → incrementing) and reorders TCP options to match OS layout
DHCPOption 12 (hostname) + Option 60 (vendor class, Windows only)Router sees appropriate hostname (e.g., DESKTOP-A1B2C3D or Admins-MacBook-Pro)
mDNSStops Avahi (Windows) or leaves it running (macOS/iOS)Controls hostname visibility on local network

The NFQUEUE rewriter is pure Go with no CGo and no external C libraries. It builds TCP options in the exact order the target OS uses, including Timestamps for macOS/iOS personas.

p0f signatures after apply:

  • Windows: *:128:0:*:65535,8:mss,nop,ws,nop,nop,sok:df,id+:0
  • macOS: *:64:0:*:65535,8:mss,nop,ws,nop,nop,ts,sok,eol+1:df,id+:0
  • Linux: *:64:0:*:29200,7:mss,sackOK,ts,nop,ws:df,id+:0
  • iOS: *:64:0:*:65535,16:mss,nop,ws,nop,nop,ts,sok,eol+1:df,id+:0
  • Android: *:64:0:*:65535,8:mss,sackOK,ts,nop,ws:df,id+:0

Protocol encapsulation

Optional tunnel support routes all traffic through an encrypted protocol. Each tunnel wraps an existing system binary — ID-Spoofer manages lifecycle and iptables rules.

TunnelBinary RequiredTransparent ModeSOCKS ModeNotes
Tortoriptables redirect to TransPort 9040SOCKS5 on 127.0.0.1:9050Anonymity network, multi-hop onion routing
WireGuardwg-quickDefault route via wg0N/AFast kernel-level VPN
I2Pi2pdHTTP/HTTPS via outproxySOCKS5 on :4447, HTTP on :4444Garlic routing, hidden services
Shadowsockssslocal or ss-localiptables redirect to redir :1081SOCKS5 on 127.0.0.1:1080AEAD proxy, censorship evasion
QUIChysteriaiptables redirect via tproxySOCKS5 on 127.0.0.1:1080Hysteria2 UDP tunnel, anti-DPI
LWOwg-quick + obfs4proxyDefault route via wg-obfs0N/AWireGuard with obfuscation headers
Tor over VPNtor + wg-quickVPN first → Tor through itISP sees VPN, VPN sees Tor entry
VPN over Tortor + wg-quickTor first → VPN through TorISP sees Tor, VPN never knows real IP

Tunnels run in two modes:

  • Transparent (default): all system traffic is automatically redirected through the tunnel via iptables
  • SOCKS: a local SOCKS5 proxy is exposed; configure applications manually

Requirements

  • Linux (Phases 5–6 will add macOS and Windows support)
  • Root privileges
  • iproute2 — interface management
  • iptables — packet mangling rules
  • NetworkManager or dhclient — DHCP hostname injection
  • Optional: avahi-daemon (stopped during Windows persona)

For tunnels (install only what you need):

  • tor — Tor anonymity network
  • wg-quick — WireGuard VPN
  • i2pd — I2P garlic routing
  • sslocal or ss-local — Shadowsocks proxy
  • hysteria — QUIC tunnel (Hysteria2)
  • obfs4proxy — LWO obfuscation layer

Installation

# Download the latest release for your platform
curl -sL https://github.com/NubleX/ID-Spoofer/releases/latest/download/idspoof_linux_amd64 -o idspoof
chmod +x idspoof
sudo mv idspoof /usr/local/bin/

Build from source

git clone https://github.com/NubleX/ID-Spoofer.git
cd id-spoofer/idspoof
make build
sudo cp bin/idspoof /usr/local/bin/

Go 1.22+ required. If Go is not installed:

curl -sL https://go.dev/dl/go1.22.4.linux-amd64.tar.gz | tar -xz -C ~/.go --strip-components=1
export PATH="$HOME/.go/bin:$PATH"

Usage

All commands require root.

# Full identity spoof: MAC + Windows network persona + sysinfo
sudo idspoof apply

# Choose a different persona
sudo idspoof apply --persona macos
sudo idspoof apply --persona linux
sudo idspoof apply --persona ios

# MAC addresses only
sudo idspoof apply --mac-only

# Network persona only (TCP/IP + DHCP + NFQUEUE)
sudo idspoof apply --netident-only

# Add a tunnel (transparent mode by default)
sudo idspoof apply --tunnel tor
sudo idspoof apply --tunnel wireguard --tunnel-config /etc/wireguard/wg0.conf
sudo idspoof apply --tunnel shadowsocks --tunnel-config ~/ss.json --tunnel-mode socks

# Layered tunnels
sudo idspoof apply --tunnel tor-over-vpn --tunnel-config /etc/wireguard/wg0.conf
sudo idspoof apply --tunnel vpn-over-tor --tunnel-config /etc/wireguard/wg0.conf

# Preview changes without applying
sudo idspoof apply --dry-run

# Show current state vs saved originals
sudo idspoof status

# Roll back everything (persona + MAC + tunnel)
sudo idspoof restore

# Roll back only MAC addresses
sudo idspoof restore --mac

# Roll back only network persona
sudo idspoof restore --netident

# Interactive TUI menu
sudo idspoof menu

# Version info
idspoof version

Apply flags

--persona windows|macos|linux|ios|android   Network persona to project (default: windows)
--tunnel PROTOCOL             Tunnel protocol: tor, wireguard, i2p, shadowsocks, quic, lwo,
                              tor-over-vpn, vpn-over-tor
--tunnel-mode MODE            transparent (default) or socks
--tunnel-config PATH          Config file for the tunnel (WireGuard .conf, Shadowsocks .json, etc.)

Global flags

--quiet        Suppress output, skip confirmations
--debug        Verbose logging
--log FILE     Log to file
--state-dir    State directory (default: /var/log/idspoof)

Verifying the persona

Use tcpdump or Wireshark to capture a SYN packet and inspect:

  • Windows: TTL=128, no timestamps, options: MSS → NOP → WScale → NOP → NOP → SACKPermitted
  • macOS: TTL=64, timestamps present, options: MSS → NOP → WScale → NOP → NOP → Timestamps → SACKPermitted
  • Linux: TTL=64, timestamps present, options: MSS → SACK → Timestamps → NOP → WScale (kernel default order)
  • iOS: Same as macOS but window scale factor 16 instead of 8
sudo tcpdump -i any -nn 'tcp[tcpflags] & tcp-syn != 0' -X

State management

State is stored in /var/log/idspoof/state.env — an atomic key=value file backward-compatible with the v1 Bash format. Keys include ORIG_MACS, ORIG_TTL, ORIG_TCP_TIMESTAMPS, and related sysctl originals. restore uses these to fully roll back.

Architecture

The Go rewrite (idspoof/) replaces the original Bash scripts with a structured, cross-platform binary:

cmd/idspoof/          CLI commands (cobra): apply, restore, status, menu, version
internal/
  mac/                MAC generation and Linux interface manipulation
  netident/           Multi-OS network persona: sysctl, iptables, NFQUEUE, DHCP, mDNS
  tunnel/             Protocol encapsulation: Tor, WireGuard, I2P, Shadowsocks, QUIC, combos
  spoofer/            Orchestrator: runs selected operations, collects results
  state/              Atomic key=value state file (bash v1 compatible)
  platform/           Platform abstraction + privilege checks
  ui/                 Banner, colors, confirm prompt, progress
  sysinfo/            Fake hardware profile generation (display-only)
legacy/               Original Bash scripts preserved for reference

The original Bash toolkit is preserved in legacy/ and in the master branch history.

Roadmap

  • Phase 1–2: Go core + Linux MAC/netident/sysinfo
  • Phase 3: CLI commands (apply, restore, status, menu)
  • Phase 4: Multi-OS personas (Windows, macOS, iOS, Android) + protocol encapsulation (8 tunnel protocols)
  • Phase 5: macOS native (ifconfig, scutil, sysctl net.inet.ip.ttl)
  • Phase 6: Windows native (registry MAC, WMI hostname, Tcpip\Parameters)
  • Phase 7: GitHub Actions CI + goreleaser multi-platform releases

Acknowledgements

Thanks to the teams whose open-source work makes this possible:

  • CharmBubble Tea and Lip Gloss power the interactive TUI. Genuinely excellent libraries.
  • spf13/cobra — the CLI framework behind every subcommand.
  • pythops/oryx — TUI network traffic monitor whose design inspired the Traffic tab's live bandwidth and connection display.

For penetration testing on systems you own or have explicit written permission to test, security research, and authorized red team assessments only. Users are responsible for compliance with applicable laws.


Visit https://www.idarti.com