具体来说,我正在尝试编写一个应用程序以在Java的IPv6中同时充当路由器和DHCPv6服务器。
应用程序定期发送路由器广告(RA),并且还响应来自客户端的路由器请求数据包。然后,它可以依次响应DHCP请求信息。
我知道在DHCPv4中,DHCP发现,请求...数据包都在UDP上并且具有特定端口,因此我可以打开UDP套接字来侦听那些数据包。 但是UDP套接字无法捕获路由器和主机之间的通信所使用的ICMPv6数据包。
因此,我想知道如何在JAVA上侦听ICMPv6数据包或IPv6多播(因为目标数据包的目标地址为:FF01:0:0:0:0:0:0:0:2)
注意:经过一段时间的搜索,我意识到纯JAVA仅支持向下传输层(TCP,UDP)的网络接口。我现在想知道是否有什么方法可以解决这个问题?