Network programming 如何从C程序发送ARP数据包?

Network programming 如何从C程序发送ARP数据包?,network-programming,Network Programming,我正在用C语言开发一个嵌入式linux系统,我正在寻找与Windows中的SendARP相当的源代码。有什么指针吗?这可能会引起兴趣: 这是Bourne Shell脚本中的一个实现。我从未见过专门针对ARP的任何东西,但我认为您可以使用任何类型的数据包和适当的RFC发送数据包。请看一看。发送arp的快速而肮脏的方式是: foo = system("/somepath/arping somehost"); 但是浏览一下arping源代码应该可以为您提供更好的解决方案 不过,对于全面解决方案,您

我正在用C语言开发一个嵌入式linux系统,我正在寻找与Windows中的SendARP相当的源代码。有什么指针吗?

这可能会引起兴趣:


这是Bourne Shell脚本中的一个实现。

我从未见过专门针对ARP的任何东西,但我认为您可以使用任何类型的数据包和适当的RFC发送数据包。

请看一看。发送arp的快速而肮脏的方式是:


foo = system("/somepath/arping somehost");
但是浏览一下arping源代码应该可以为您提供更好的解决方案

不过,对于全面解决方案,您可以手工构建自己的套接字,并使用原始套接字或发送它


顺便说一句,如果你想做的只是强制发送一个arp(但必须是你自己发送的),你可以通过删除你已经为你的主机准备的任何arp条目来实现。下一次访问该地址需要发送arp

例如/usr/sbin/arp-d目的地\主机\ ip