我正在使用C语言编写嵌入式Linux系统,我正在寻找Windows中SendARP的等效源代码。有什么指针吗?
答案 0 :(得分:3)
看看arping。发送arp的快速而肮脏的方法是:
foo = system("/somepath/arping somehost");
但是看看arping来源应该能够给你一个更好的解决方案。
对于全面解决方案,您可以手动构建自己的解决方案,并使用原始套接字或libpcap发送它。
顺便说一句。如果你要做的就是强制发送一个arp(但必然是你的),你可以通过删除你已经为你的主机拥有的任何arp条目来实现。下一次访问该地址将需要发送arp。
例如。 / usr / sbin / arp -d destination_host_ip
答案 1 :(得分:0)
这可能是有意义的:http://cvs.linux-ha.org/viewcvs/viewcvs.cgi/linux-ha/resources/heartbeat/SendArp.in?rev=1.4
这是Bourne Shell脚本中的一个实现。
答案 2 :(得分:0)
我从未见过任何专门针对ARP的内容,但我认为您可以使用libpcap和相应的RFC发送任何类型的数据包。