URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7107
[ Назад ]

Исходное сообщение
"arp & netlink"

Отправлено Evil_Genius , 16-Янв-08 16:32 
Здраствуйте.
Может кто знает, как в пограмме реализовать аналог команды "arp -s 192.168.1.1 00:01:02:03:04:05" и "arp -a"
Посмотрел я маны netlink(7) и netlink(3) и понял что можно реализовать через такой сокет: socket(PF_NETLINK, SOCK_DGRAM, NETLINK_ARPD); Но как дальше с ним работать, не совсем понял. Может кто сталкивался?

Содержание

Сообщения в этом обсуждении
"arp & netlink"
Отправлено Michelnok , 16-Янв-08 17:18 
>Может кто знает, как в пограмме реализовать аналог команды "arp ...-s 192.168.1.1
>00:01:02:03:04:05" и "arp -a"

В книге Стивенса написано про ioctl с SIOSARP/SIOCDARP/SIOCGARP и про sysctl с CTL_NET (о втором, правда, почти ничего не сказано применительно к ARP).


"arp & netlink"
Отправлено anonymous , 16-Янв-08 20:42 
>Здраствуйте.
>Может кто знает, как в пограмме реализовать аналог команды "arp -s 192.168.1.1
>00:01:02:03:04:05" и "arp -a"
>Посмотрел я маны netlink(7) и netlink(3) и понял что можно реализовать через
>такой сокет: socket(PF_NETLINK, SOCK_DGRAM, NETLINK_ARPD); Но как дальше с ним работать,
>не совсем понял. Может кто сталкивался?

1. в большинстве случаев не имеет смысла реализовывать "аналог", который потом будет работать не на каждой системе и то через раз.  Это не UNIX-way.  Просто вызывайте готовую программу.
2. если всё-таки очень нужно встроить эту функциональность в свою программу (например, потому что такие запросы должны выполняться по 100 штук в секунду), то просто почитайте исходники самой программы arp.