如何在C中的/ proc / net / arp中添加arp地址

时间:2011-06-08 14:03:42

标签: c linux arp

我想在/proc/net/arp的{​​{1}}中添加arp绑定。不允许写入文件,因此尝试以其他方式执行此操作。有什么建议?我已经了解网络工具,但尚未尝试

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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包的一部分。