Как слушать пакеты ICMPv6 в JAVA?

Если быть точным, я пытаюсь написать приложение, которое будет выполнять роль маршрутизатора и сервера DHCPv6 в IPv6 с Java.

Приложение периодически отправляет объявление маршрутизатора (RA), а также отвечает на пакеты запроса маршрутизатора от клиента. Затем он может, в свою очередь, ответить на информацию запроса DHCP.

Я знаю, что в DHCPv4 все пакеты DHCP обнаруживают, запрашивают... все по UDP и имеют определенный порт, так что я могу открыть сокет UDP для прослушивания этих пакетов. Но сокет UDP не может перехватывать пакеты ICMPv6, используемые для связи между маршрутизаторами и хостами.

Поэтому мне интересно, как я могу прослушивать пакеты ICMPv6 или многоадресную рассылку IPv6 на JAVA (поскольку целевые пакеты имеют адрес назначения:FF01:0:0:0:0:0:0:2)

Примечание. После поиска я понял, что чистый JAVA поддерживает только сетевой интерфейс вплоть до транспортного уровня (TCP, UDP). Мне вот интересно, есть ли способ решить эту проблему?

0 ответов

Другие вопросы по тегам