Peng Zhang-0717 Ответов: 1

АРП? Как добавить arptable по C?


Я хочу добавить arptable by C, например, тип likes static, добавить ip и mac. затем, в случае успеха, wa может получить новую arptable.

Что я уже пробовал:

У меня нет хорошего способа решить эту проблему.Поэтому мне нужна помощь.

1 Ответов

Рейтинг:
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

Еще раз спасибо за вашу помощь, я успешно написал программу. Спасибо Вам за рекомендацию сайта, который очень полезен для меня.Самое лучшее пожелание для вас!