Модераторы: marykone
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> функции winapi rras(pfCreate Interface и тд), пытаюсь сделать фаервол, не рабоатет 
:(
    Опции темы
Guest
Дата 7.1.2006, 16:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Использую функцию PfAddFiltersToInterface для добавления правил фильтрации сетевому интерфейсу(фаервол пишу). Фаервол не работает, помогите найти ощибку.

вот вся софтина http://users.oskol.ru/~maximoff/firewall.rar

DWORD PfAddFiltersToInterface(
INTERFACE_HANDLE ih,
DWORD cInFilters,
PPF_FILTER_DESCRIPTOR pfiltIn,
DWORD cOutFilters,
PPF_FILTER_DESCRIPTOR pfiltOut,
PFILTER_HANDLE pfHandle
);
Парметры PPF_FILTER_DESCRIPTOR pfiltIn и PPF_FILTER_DESCRIPTOR pfiltOut указетли на массивы входных и выходных правил, соответсвенно (это вольный первод, вот оригинал Pointer to an array of filter descriptions to use as input(output) filters MSDN).

Для организации массивов использую DynamicArray(Borland C++Builder6):
DynamicArray <PF_FILTER_DESCRIPTOR> pfiltIn;
DynamicArray <PF_FILTER_DESCRIPTOR> pfiltOut;
Затем передаю в функцию:
PfAddFiltersToInterface(
*ppInterface,
pfiltIn.Length,
(PPF_FILTER_DESCRIPTOR)&(pfiltIn[0]),
pfiltOut.Length,
(PPF_FILTER_DESCRIPTOR)&(pfiltOut[0]),
NULL);

Естественно, фаервол не работает, точнее он либо только все запрещает, либо все разрешает: не получается привязать правила интерфейсу. Может быть это из-за DynamicArray?
Далее: в структуре правила мне понятно поле dwRule - определяет правило для фильтра, что ему присваивать? У меня dwRule=0.
typedef struct _PF_FILTER_DESCRIPTOR {
DWORD dwFilterFlags;
DWORD dwRule;//Specifies the rule for the filter.
PFADDRESSTYPE pfatType;
PBYTE SrcAddr;
PBYTE SrcMask;
PBYTE DstAddr;
PBYTE DstMask;
DWORD dwProtocol;
DWORD fLateBound;
WORD wSrcPort;
WORD wDstPort;
WORD wSrcPortHighRange;
WORD wDstPortHighRange;
} PF_FILTER_DESCRIPTOR
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Сетевые технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 18 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.