适用于Linux的SendARP等效项

时间:2016-07-26 13:47:58

标签: c linux linux-kernel mac-address arp

Windows API包含一个非常方便的函数SendARP。您可以为其提供一些源IP和目标IP,并为您提供具有该目标IP的客户端的MAC地址。此外,Windows上的标准用户可以使用此功能,即不需要管理员权限。

Linux API是否具有与SendARP一样简单的功能?

我已经考虑过像ping -c 1 xxx.xxx.xxx.xxx之类的调用,然后解析arp -a -v的输出(当然在将这些命令包装在popen中时),但这似乎相当不方便,更不用说了调用外部程序可能出现的安全问题。遗憾的是,Wine也缺少SendARP,标记为as a stub in iphlpapi

请注意,答案应该也可以作为普通用户执行,即没有root权限(否则我可以创建一个原始套接字并自己构建ARP数据包,但这要求可执行文件具有CAP_NET_RAW功能,需要由root分配给它,解释here)。

0 个答案:

没有答案