Здраствуйте.
Может кто знает, как в пограмме реализовать аналог команды "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 ...-s 192.168.1.1
>00:01:02:03:04:05" и "arp -a"В книге Стивенса написано про ioctl с SIOSARP/SIOCDARP/SIOCGARP и про sysctl с CTL_NET (о втором, правда, почти ничего не сказано применительно к ARP).
>Здраствуйте.
>Может кто знает, как в пограмме реализовать аналог команды "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.