我需要一些可在 Linux 下编译的 C 或 C++ 代码,以便能够获取任意数量的远程主机的 IP 地址列表,并为每个主机获取以太网 MAC 地址。这些主机可能位于同一子网上,也可能位于路由器后面的不同子网上。如果部分或全部远程主机的MAC地址是路由器上接口的地址,则可以。最终,我想将 IP 地址和 MAC 地址交给 FPGA,后者将使用这些信息来格式化并通过以太网将 UDP/IP 数据包发送到主机。显然,FPGA 也会被赋予自己的 MAC 地址和 IP 地址,以便在数据包中填写源 MAC 和源 IP 地址。
是否有一些我可以指出的代码可以创建并向这些远程机器广播 ARP 数据包并接收回 ARP 响应数据包,以便可以提取目标 MAC 地址?