Дело в том что
1) Статический ARP на шлюзе не защищает от односторонней атаки против клиентов; он спасает только шлюз
2) ARP-ответы ettercap'ом и dsfniff'ом отправляются не на запросы, а всё время; каждые несколько секунд в цикле
Что касается анонса чужих адресов шлюзом,
да это он это делает, но не всегда,
а только в том случае, если вы ставите напротив адреса
флаг pub (в FreeBSD).