有没有一种简单的方法可以通过 IP 地址(不知道 MAC)从网络应用程序发送数据包?

Is there an easy way to send a packet by IP address(without knowing MAC) from a network application?

我正在使用 DPDK 开发一个小型 NAT 应用程序。目前,我使用 pcap_pmd 驱动程序,因此设备对于 ifconfig 和配合仍然可见。现在我想通过特定的 IP 地址发送一个数据包,但我不想 运行 ARP,并且自己修改路由 tables。

有没有办法只给接口一个数据包,然后让它知道如何自动传递它? 如果不是,通过已知 IP 查询 MAC 地址的最简单方法是什么? 该设备仍然由内核管理,所以也许我可以以某种方式查询它的路由 table?

如果我使用较低级别的驱动程序(如 e1000),它将设备与内核管理解除绑定,我是否仍然可以避免实现自己的路由?

一种方法是使用广播 MAC 地址:ff-ff-ff-ff-ff-ff,如果其他人知道预期的 IP 地址位于何处,请让他们注意。