Home

Page 257
Page 257
background image

250 Глава 5

Самое интересное находится в самом начале процедуры и спрятано под

вызовом функции

 Она возвращает нам в первом параметре

ARP-таблицу. Но когда она вызывается в первый раз, мы указываем nil.

Если указать нулевое значение, то функция возвращает размер необходимой

памяти для хранения ARP-таблицы. После получения размера ARP-таблицы
мы выделяем память с помощью функции

 для переменной

NetTable.

После получения ARP-таблицы необходимо узнать IP-адреса, которые
надлежат компьютеру. Возможно, что на компьютере установлены две сете-

вые карты, и тогда мы должны будем отсортировать записи из таблицы ARP
строк по соответствующим сетевым интерфейсам. Интерфейс будет опреде-

ляться по IP-адресу. IP-адреса мы узнаем с помощью функции

 которая выглядит следующим образом:

function GetipAddrTabieWithAiloc:

var

Size:

begin

Size

 0;

 Size, True);

Result

if

 Size, True) <>

 then

begin

Result := nil;

end;

end;

Когда мы получим все необходимые данные, то готовы приступить к про-

цессу вывода информации об ARP-таблице. В самом начале выводим
информацию о первом найденном интерфейсе, для которого есть записи

в кэше ARP:

 :

 на интерфейсе

 IP-адрес Физический адрес


Copyright © 2020 Файлообменник files.d-lan.dp.ua

Использование любых материалов сайта возможно только с разрешения автора.