【问题标题】:How to add arp addresses into /proc/net/arp in C如何在 C 中将 arp 地址添加到 /proc/net/arp
【发布时间】:2011-06-08 22:15:57
【问题描述】:

我想将 arp 绑定添加到 /proc/net/arp 中的 C。不允许写入文件,因此尝试以其他方式进行。有什么建议么?我已经知道net-tools,但还没有尝试过

【问题讨论】:

    标签: c linux arp


    【解决方案1】:

    您需要使用netlink protocollibnetlink。我建议查看arp 命令的源代码,以了解它是如何做到的。

    【讨论】:

      【解决方案2】:

      ip neigh add 可以这样做:

      例如:

      root@refactor:~# ip neigh show
      192.168.1.1 dev wlan0 lladdr 00:1b:da:29:3a:87 REACHABLE
      root@refactor:~# ip neigh add 192.168.1.2 dev wlan0 lladdr 00:1b:da:29:3a:89
      root@refactor:~# ip neigh show
      192.168.1.2 dev wlan0 lladdr 00:1b:da:29:3a:89 PERMANENT
      192.168.1.1 dev wlan0 lladdr 00:1b:da:29:3a:87 REACHABLE
      

      这是你想做的吗?

      如果您想直接在 C 中执行此操作,请查看 ip 工具的源代码,它是 iproute2 包的一部分。

      【讨论】:

      • 谢谢,但我想直接在 C 中完成。感谢提示
      • 与其查看源代码,不如运行strace ip ...
      • ltrace 更好,它告诉你它使用的更高级别的 API。
      猜你喜欢
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      相关资源
      最近更新 更多