代码之家  ›  专栏  ›  技术社区  ›  Jeff

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

  •  1
  • Jeff  · 技术社区  · 16 年前

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

    3 回复  |  直到 16 年前
        1
  •  3
  •   Andrew Edgecombe    16 年前

    看看 arping . 发送arp的快速而肮脏的方式是:

    
    foo = system("/somepath/arping somehost");
    

    但是浏览一下arping源代码应该可以为您提供更好的解决方案。

    不过,对于全面解决方案,您可以手动构造自己的,并使用原始套接字或 libpcap


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

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

        2
  •  0
  •   mmattax    16 年前
        3
  •  0
  •   Jeremy Bourque    16 年前

    libpcap 以及适当的RFC。