A felállás a következő: adott A és B gép, illetve C a támadó, aki át akarja venni B szerepét.
Az első esetben az ICMP redirect-tel foglalkozunk. C, amennyiben képes figyelni B szegmensét (mert pl. már betört valamelyik lokális hálózaton lévő gépre), a megfelelő pillanatban A routerének küld egy ICMP redirect csomagot B routere nevében. Ezután A routere úgy tudja majd, hogy B - akivel kommunikálni akar - a C routerének irányában van.
Nem ismerek konkrétan kidolgozott védelmet a támadás ellen, de firewall használata a helyi és a külső hálózat között sokat segíthet. Így akár ki is tiltható a kívülről érkező ICMP forgalom.
A következő eset, amikor C (a támadó) nem tudja figyelni a hálózat forgalmát.
Ilyenkor valahogy meg kell bolondítania A routerét, hogy az úgy tudja, hogy B routere C irányában van, tehát A C felé fogja a kapcsolatot kezdeményezni. C gépe természetesen B gépének IP címét veszi fel. Ez általában a routing táblák valamilyen módon való átírását jelenti. Ez lehetséges úgy, hogy a támadó A routerébe tör be először és ott írja át, de ha A routere SNMP-vel menedzselt, (hibás vagy rosszul beállított SNMP szoftver esetén) lehetséges átkonfigurálni betörés nélkül is. Egy jól beállított router az ilyen jellegű támadások nagy részét megfogja.
A harmadik esetben B A szegmensén van.
Ekkor C, miután sikeresen kiiktatta B-t (azaz valamilyen formában elérte, hogy B leszakadjon a hálóról), átveszi B hardware címét is. Ezután A B helyett C-vel fog kommunikálni.
Nem tudok megfelelő védelemről, de ha ez a veszély fennáll, hasznos lehet a helyi hálózatot firewall-lal elválasztott részekre szabdalni. A kritikus hálózatrészekre csak megbízható host-ok kerülhetnek. Így C csak akkor érhet el eredményt, ha B szegmensén van. Ekkor viszont sokat segíthet, ha B jól karbantartott gép, azaz nem könnyű kiiktatni. Mindenesetre érdemes arpwatch-ot használni. Ez a program figyeli a hálózati forgalmat és a detektált IP és hadver címeket kiírja. Így észlelhető, ha valaki a lokális hálózaton egy eszköz hadver címét állítgatja.