Как добавить arp-адреса в / proc / net / arp в C - PullRequest
0 голосов
/ 08 июня 2011

Я бы хотел добавить привязки arp в /proc/net/arp в C. Запись в файл запрещена, поэтому попробуйте сделать это другим способом. Какие-либо предложения? Я уже знаю про net-tools, но еще не пробовал

Ответы [ 2 ]

1 голос
/ 08 июня 2011

ip adj 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.

1 голос
/ 08 июня 2011

Вам нужно будет использовать протокол netlink или libnetlink . Я бы порекомендовал посмотреть на источник для команды arp, чтобы точно узнать, как она это делает.

...