Запись части фильтра ADDRESSTABLE
Фильтр адресов уведомляет драйвер сетевого монитора о принятии кадров, имеющих один из множества указанных типов MAC-адресов (Ethernet, маркерный круг и FDDI). Можно указать не более восьми пар адресов. В паре адресов можно указать источник, назначение или ни то, ни другое.
Адресная часть фильтра состоит из двух структур: ADDRESSTABLE и ADDRESSPAIR.
Если указать нет адресов, все кадры будут проходить фильтр адресов. Однако если указать какие-либо адреса, будут проходить только те кадры, которые проходят заданный фильтр адресов.
Создание фильтра адресов включает выделение структуры ADDRESSTABLE и заполнение членов структуры ADDRESSPAIR .
Создание адресной части фильтра записи
Используйте флаг CAPTUREFILTER_FLAGS_LOCAL_ONLY структуры CAPTUREFILTER , чтобы ограничить запись трафиком на локальный компьютер и с локального компьютера.
Установка этого флага не приведет к перебору сетевого адаптера в неразборчивый режим; Файл записи будет записывать только локальный трафик.
Используйте следующий пример кода, чтобы определить структуру ADDRESSTABLE :
typedef struct _ADDRESSTABLE { DWORD nAddressPairs; DWORD nNonMacAddressPairs; ADDRESSPAIR AddressPair[MAX_ADDRESS_PAIRS]; } ADDRESSTABLE; typedef ADDRESSTABLE *LPADDRESSTABLE; typedef struct _ADDRESSPAIR { WORD AddressFlags; WORD NalReserved; ADDRESS DstAddress; ADDRESS SrcAddress; } ADDRESSPAIR; typedef ADDRESSPAIR *LPADDRESSPAIR;
Используйте сведения, перечисленные в следующей таблице, чтобы выбрать тип флага ADDRESSPAIR .
Flag Значение ADDRESS_FLAGS_MATCH_DST Соответствует целевому адресу. ADDRESS_FLAGS_MATCH_SRC Соответствует исходному адресу ADDRESS_FLAGS_EXCLUDE Исключает кадр, если этот адрес найден (определенный источник или назначение). ADDRESS_FLAGS_DST_GROUP_ADDR Соответствует биту группы (адреса назначения) только для широковещательных сообщений. ADDRESS_FLAGS_MATCH_BOTH Соответствует адресам назначения и исходного адреса. Введите адрес назначения, который вычисляется по выбранному флагу ADDRESSPAIR .
Введите исходный адрес, который вычисляется по выбранному флагу ADDRESSPAIR .
Заполните структуру ADDRESSTABLE массивом структур ADDRESSPAIR , который включает пары адресов, оцениваемые драйвером. Все пары адресов оцениваются как логическая инструкция ИЛИ (ADDRESSPAIR 1 || ADDRESSPAIR 2). В фильтр отслеживания можно включить не более восьми пар адресов.