Рейтинг:
10
Jochen Arndt
Вы не можете создать таблицу ARP. Они управляются операционной системой для каждого сетевого адаптера. Но вы можете написать утилиту, которая читает и изменяет существующие таблицы ARP.
Потому что такие утилиты уже существуют (Windows: Arp[^], Linux: arp(8): изменение системного кэша ARP - man-страница Linux[^]), вы можете просто вызвать соответствующую команду из вашей программы на языке Си или взглянуть на Linux Арп источники, чтобы увидеть, как это можно сделать.
[РЕДАКТИРОВАТЬ]
Самым простым решением было бы использование system()
прохождение вызова Арп команда.
Для Linux взгляните на источник Арп польза: сетка-инструменты: Арп.с[^]
Для Windows см. Функция CreateIpNetEntry (Windows)[^].
[/РЕДАКТИРОВАТЬ]
Peng Zhang-0717
Прежде всего, Большое вам спасибо! Возможно, я не совсем ясно представляю себе свою проблему. Я хочу использовать код C для реализации таких операций , как” ARP-s IP Mac " под интерфейсом cmd, другими словами, добавить статическую запись ARP под ARPTable.У вас есть хороший способ?
Jochen Arndt
Смотрите мой обновленный ответ.
Peng Zhang-0717
Еще раз спасибо за вашу помощь, я успешно написал программу. Спасибо Вам за рекомендацию сайта, который очень полезен для меня.Самое лучшее пожелание для вас!