我的linux主机上有一个应用程序,它通过UDP通过10G以太网与另一台机器通信。另一端的机器不响应ARP请求。我可以通过其他方式(不同的界面,
)获取它的MAC地址有没有办法以编程方式将此信息输入arp表w / out特权状态?
我知道每次启动时我都可以在命令行问题“sudo arp -s 1.2.3.4 AA:BB:CC:DD:EE:FF”。
我知道我可以将“1.2.3.4 AA:BB:CC:DD:EE:FF”添加到etc / ethers
我知道作为一个特权的usr /进程,我可以向SIOCSARP发出一个ioctl。
所有这些机制都需要sudo / root访问权限。我读了一些关于赋予应用程序“CAP_NET_ADMIN”权限的内容。
我正在寻找此功能,以便最终用户不需要执行上述任何操作。看起来,如果我,w / out sudo / root,可以打开一个确定需要这个网络信息的套接字,那么我应该有一种方法可以提供sudo / root。