Оскільки питання було позначене IPv6, я відповім за це, оскільки IPv6 сильно відрізняється від IPv4.
Для початку не існує такого поняття, як ARPv6. Відображення між шаром 2 та IPv6 адресами проводиться за допомогою протоколу сусіднього виявлення (NDP), який надсилається через ICMPv6. Таким чином, ви не повинні ігнорувати ICMPv6 і відфільтровувати його, як це прийнято у застарілому IP. NDP надає два типи повідомлень, які тут цікавлять: Прохання про сусід та рекламу сусіда. Вузол, який хоче дізнатися адресу рівня посилання для певної IP-адреси, надсилає розмову про сусіда згідно з адресою багатоадресної передачі локального запитуваного вузла - більше немає трансляції для IPv6.
Наприклад, якщо 2001:db8::0011:2233:4455:6677
вказана адреса, то адреса багатоадресної передачі запитуваного вузла є ff02::1:ff55:6677
, а адреса багатоадресної передачі Ethernet є 33:33:ff:55:66:77
. Усі вузли з адресою, що закінчується, *55:6677
належать до цієї групи багатоадресних повідомлень і слухатимуть її - це, швидше за все, лише сама цільова система. Сусідське прохання містить також одноадресні IPv6 адреси та MAC-адресу системи запиту.
Після отримання цільовий вузол відповідає своїм рекламним сусідом, який надсилається на одноадресну адресу (рівень зв'язку та IPv6) вузла, що вимагає. Таким чином, вузол, що вимагає, дізнається MAC-адресу цільового вузла.
І так, NDP-спуфінг працює так само, як ARP-підробка. І ні, IPsec - це не відповідь.