编程使用ARP

编程使用ARP

问题描述:

我需要一些可在Linux下编译的C或C++代码,以便能够获取任意数量的远程主机计算机的IP地址列表并获取每个计算机的以太网MAC地址。这些主机可能在同一个子网上,或者它们可能位于路由器后面的不同子网中。如果某些或全部远程主机的MAC地址是路由器上接口的地址,则可以。最终,我想将IP地址和MAC地址交给FPGA,FPGA将使用这些信息格式化并通过以太网将UDP/IP数据包发送到主机。显然,FPGA也将被赋予其自己的MAC地址和IP地址以填充数据包中的源MAC和源IP地址。编程使用ARP

是否有一些代码我可以指出,可以创建和广播ARP数据包到这些远程计算机并接收ARP响应数据包,以便可以提取目标MAC地址?

+0

请参阅UNIX网络编程。 – 2010-03-16 03:11:28

你想要做的一部分需要一些原始套接字编程。

http://mixter.void.ru/rawip.html

来源为Linux arp命令会给你所需要休息。这里有一个链接:

http://www.comp.nus.edu.sg/~cs4236/readings/out/html/arp_8c-source.html

我建议寻找到的arping这是做一个有点相同的作业。它需要IP和MAC,并试图接收额外的信息。或者只是打他们。

http://freshmeat.net/projects/arping/