Я должен получить отображение MAC к IP, сохраненному на сервере DHCP, или через программу, работающую на самом сервере или предпочтительно через программу, работающую на одном из клиентов DHCP.
Я понимаю, что netsh утилита может использоваться для получения дампа однако, я не имел большого успеха с этим.
Какие-либо рабочие примеры или подсказка на этом?
У меня есть права администратора на сервере DHCP
Править
Я не хочу использовать кэш ARP, поскольку это потребовало бы меня к любому широковещательному ping (который не позволяется на окнах), или проверьте с помощью ping-запросов весь возможный IP-адрес подсети (который берет партию времени).
Я уверен, что сервер DHCP хранит отображение MAC к IP, как я могу использовать ту информацию, для отображения MAC на IP-адрес?
Можно ли с помощью arp -a
сделать трюк ... на моей машине я получаю следующий результат:
У меня есть mac / ip-адрес заменен поддельными значениями для отображения результатов ...
C:\Documents and Settings\Tom>arp -a Interface: 10.203.24.196 --- 0xf0007 Internet Address Physical Address Type 10.203.24.198 02-50-f3-10-14-06 dynamic C:\Documents and Settings\Tom>
Выполняя шеллинг с использованием System.Diagnostics.Process
, вы можете перенаправить вывод во входной поток и читать из него ...
Надеюсь, это поможет, С уважением, Том.
Для этого можно использовать компонент DHCP Objects из Windows 2000 Resource Kit . Несмотря на то, что компонент трудно найти, он создан для Windows 2000, в июле 2010 года, по данным Microsoft, перестает поддерживать жизнь и имеет очень мало документации, он действительно работает.
DHCPOBJS.DLL
в regsvr32
или создайте для него приложение COM +. Что применимо, зависит от того, как компонент COM будет использоваться в вашей системе. tlbimp.exe
, чтобы создать управляемую оболочку вокруг DHCPOBJS.DLL
теперь, когда он зарегистрирован в системе. DhcpObjects.dll
. Теперь вы можете написать такой код для компонента:
using DhcpObjects;
class Program {
static void Main(string[] args) {
var manager = new Manager();
var server = dhcpmgr.Servers.Connect("1.2.3.4");
// query server here
}
}
Программа установки также предоставляет файл справки Windows, который содержит дополнительную документацию о том, как запрашивать и управлять DHCP-сервером. Раздел «Объектная модель» очень полезен.