gpt4 book ai didi

c - ARP 的编程使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:38 27 4
gpt4 key购买 nike

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

我可以指出一些代码可以创建 ARP 数据包并将其广播到这些远程机器并接收回 ARP 响应数据包,以便可以提取目标 MAC 地址吗?

最佳答案

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

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

linux arp 命令的源代码将提供您需要的其余部分。这是一个链接:

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

关于c - ARP 的编程使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451737/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com