/ GUIDE — NETWORK SECURITY

How do you detect IPv6 address starvation?

An attacker can answer every address you try to claim with “that’s mine” — until your PC has no IPv6 at all. Here’s the signal that actually shows up on Windows.

You detect IPv6 address starvation by catching an adapter that had IPv6 and now holds none — while the network is still offering an IPv6 router. Before a device uses an IPv6 address it asks “is anyone already using this?” — and an attacker answers every time with a spoofed “yes.” Your PC backs off, and quietly ends up with no IPv6 at all.

Every address you try to claim, someone else says they already own.
/ THE BASICS

What starvation actually does

IPv6 address starvation is a denial attack on Duplicate Address Detection (DAD). DAD is the polite check every host runs before using an IPv6 address: it asks the local network whether that address is already taken, and steps aside if someone says yes.

The attacker abuses that politeness. Using a tool like THC-IPv6’s atk6-dos-new-ip6, they watch for DAD probes and answer all of them as taken. Your device honestly gives up on every address it tries — so it never gets a working IPv6 address. It’s the flip side of a noisy flood: the symptom is silence, an adapter with no IPv6 where there should be plenty.


# conceptual — the attacker's stance, not a runnable exploit
for each DAD probe seen on the segment:
    reply "that address is already mine"   # spoofed Neighbor Advertisement
# real tool: THC-IPv6  ->  atk6-dos-new-ip6 <interface>
/ THE SIGNS

What it looks like on your PC

The frustrating part is what you won’t see. Windows does not keep a DAD-failed address around labelled Duplicate — it discards it outright. We confirmed this on real hardware. So the tell is indirect:

  • No global IPv6 address — your 2xxx: addresses are simply gone.
  • But a router is still there — a default IPv6 route (::/0) is still being offered.
  • It sticks — the loss holds for minutes, not the second-or-two of a sleep/wake or roam.
  • IPv6 sites fail while IPv4 works — you fall back to IPv4, possibly onto a path someone’s watching.
/ DETECTION

Check it yourself on Windows

You can surface the same signal by hand with two PowerShell commands. The first asks whether your adapter still holds a global IPv6 address; the second asks whether the network is still offering an IPv6 router. Zero global addresses but a router still present is the starvation fingerprint.


# Do you still have any global (2xxx) IPv6 addresses? (router-assigned / SLAAC)
Get-NetIPAddress -AddressFamily IPv6 | Where-Object PrefixOrigin -eq 'RouterAdvertisement'

# Is an IPv6 router still being offered? (default route ::/0)
Get-NetRoute -AddressFamily IPv6 -DestinationPrefix ::/0

# Quick sanity check of the whole IPv6 picture
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv6Address, IPv6DefaultGateway

If Get-NetRoute ::/0 returns a gateway but Get-NetIPAddress shows no 2xxx global address on that same working adapter — and it stays that way — the network is offering you IPv6 that you’re somehow never allowed to keep.

/ WHY IT’S HARD

Why a single snapshot lies

The honest caveat: losing IPv6 for a moment is normal. Sleep/wake, roaming between access points, and router reboots all drop IPv6 briefly, and plenty of networks don’t offer IPv6 at all. Catch any of those in a single snapshot and you’d cry wolf constantly.

That’s why the reliable detector holds the condition across several minutes and requires a router to still be present. A network that simply turned IPv6 off has no router to point at; a starvation attack leaves the router plainly visible while every address you try is denied. The gap between “router offered” and “address held” is the whole signal — and it only means something when it persists.

/ THE TOOL

Catching it automatically

WifiThreatWatch watches your physical adapters for exactly this: one that was IPv6-capable now holding zero global addresses while a default IPv6 router is still on offer, held long enough to rule out an ordinary blip. It reports which adapter lost its addresses so you can tell a real denial from a router quirk. The detector was rebuilt around what Windows actually shows after hardware validation. Detection is free.

FREE FOREVERIPv6 starvation detection is free, for Windows.

Go deeper: how we detect IPv6 starvation · detecting a rogue DHCP server · the threats library

/ FAQ

IPv6 starvation: quick answers

How do I detect IPv6 address starvation?

Watch for a working network adapter that had IPv6 and now holds no global (2xxx) address, while the network is still offering an IPv6 router. On Windows, run “Get-NetIPAddress -AddressFamily IPv6” to see whether your global addresses are gone, and “Get-NetRoute -AddressFamily IPv6 -DestinationPrefix ::/0” to confirm a router is still being offered. A router present but zero addresses held, for minutes, is the tell.

What is IPv6 address starvation?

It is a denial attack on Duplicate Address Detection (DAD). Before your device uses an IPv6 address it asks whether anyone already has it; an attacker answers every such probe with a spoofed “that one is mine.” Your device politely backs off, so it can never claim any IPv6 address — knocking it off IPv6 or onto a path the attacker can watch. The classic tool is THC-IPv6’s atk6-dos-new-ip6.

Why doesn’t Windows just show a “duplicate address” error?

Because Windows does not keep a DAD-failed address visible as Duplicate — it discards it outright. We tested this on real hardware, so there is no tidy duplicate flag to read. That is why the honest signal is indirect: a physical adapter that lost all its IPv6 while a router is still present, held over time rather than caught in a single snapshot.

Could losing IPv6 just be a normal glitch?

Yes, briefly. Sleep/wake, roaming between access points, or a router reboot can drop IPv6 for a moment, and some networks simply do not offer IPv6 at all. That is why the condition has to hold for several minutes and requires an IPv6 router to still be on offer — a network that turned IPv6 off has no router to point at, while a starvation attack leaves the router visible but every address denied.

Does this need special hardware or monitor mode?

No. The detection reads your own adapter’s IPv6 state and routing table — information Windows already exposes to you. It does not require monitor mode or a second radio. WifiThreatWatch watches this continuously so you do not have to run the commands yourself.

The router’s still there.
Your address keeps disappearing.