Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2014, 10:48   #1
mysqld1
 
Регистрация: 13.08.2014
Сообщений: 3
По умолчанию Добавить правило блокировки IP адреса через API Windows Firewall

Добрый день.
Никто не сталкивался с добавлением правил в Windows Firewall в делфи?
Мне нужно запретить входящие и исходящие соединения с определенных IP адресов.
Этот код у меня вываливает приложение при запуске с ошибкой.
Есть у кого, какие варианты?

Код:
procedure TForm1.FormCreate(Sender: TObject);
Const
 NET_FW_IP_PROTOCOL_TCP = 6;
 NET_FW_IP_PROTOCOL_UDP = 17;
 NET_FW_ACTION_ALLOW = 1;
 NET_FW_RULE_DIR_in = 1;

var
 CurrentProfiles : OleVariant;
 fwPolicy2       : OleVariant;
 RulesObject     : OleVariant;
 NewRule         : OleVariant;
 txtAddress      : OleVariant;
 NET_FW_ACTION_  : OleVariant;
 NET_FW_RULE_DIRECTION_: OleVariant;

begin
  // Create the FwPolicy2 object.
  fwPolicy2   := CreateOleObject('HNetCfg.FwPolicy2');
  RulesObject := fwPolicy2.Rules;
  CurrentProfiles := fwPolicy2.CurrentProfileTypes;
   txtaddress.text:='192.168.1.33';
  //Create a Rule Object.
  NewRule := CreateOleObject('HNetCfg.FWRule');

        newrule.Name:= 'BrutalNT: IP Access Block ' + txtAddress.Text;
        newrule.Description := 'Block Incoming Connections from IP Address.';
        newrule.Action := 1;
        newrule.Direction := NET_FW_RULE_DIR_IN;
        newrule.Enabled := true;
        newrule.InterfaceTypes := 'All';
        newrule.RemoteAddresses := txtAddress.Text;

  //Add a new rule
  RulesObject.Add(NewRule);
end;

Последний раз редактировалось Stilet; 13.08.2014 в 12:06.
mysqld1 вне форума Ответить с цитированием
Старый 13.08.2014, 12:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Никто не сталкивался с добавлением правил в Windows Firewall в делфи?
Я столкнулся. Написал батник
Код:
netsh firewall delete portopening TCP 8056
netsh firewall add portopening TCP 8056 Прога ENABLE CUSTOM 1.1.1.1,1.1.1.2
del firewall.bat
И потом вызвал через WinExec() в делфи.
Так проще оказалось.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2014, 12:12   #3
mysqld1
 
Регистрация: 13.08.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я столкнулся. Написал батник
Код:
netsh firewall delete portopening TCP 8056
netsh firewall add portopening TCP 8056 Прога ENABLE CUSTOM 1.1.1.1,1.1.1.2
del firewall.bat
И потом вызвал через WinExec() в делфи.
Так проще оказалось.
Проще, то проще, но если нужно добавить много IP адресов - присутствует ограничение на их количество. Думал, можно через API больше добавить.
mysqld1 вне форума Ответить с цитированием
Старый 13.08.2014, 12:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
присутствует ограничение на их количество.
Маской попробуй. 1.1.1.*
Посмотри хелп по команде, кажется там что-то такое было.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.08.2014, 12:25   #5
mysqld1
 
Регистрация: 13.08.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Маской попробуй. 1.1.1.*
Посмотри хелп по команде, кажется там что-то такое было.
Маской не вариант. У меня есть список IP ботов порядка 50 тыс. Мне нужно их добавить в правило.
mysqld1 вне форума Ответить с цитированием
Старый 13.08.2014, 12:27   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А-а-а... Ну я только такой способ проруливал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.08.2014, 11:02   #7
astecenko
Homo Interneticus
Форумчанин
 
Аватар для astecenko
 
Регистрация: 04.03.2011
Сообщений: 611
По умолчанию

Нагуглил вроде то что надо
astecenko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
правило Саррюса (правило треугольников) C++ или Delphi carrie bradshaw Помощь студентам 6 28.04.2014 23:36
windows firewall f.hump Безопасность, Шифрование 0 02.06.2012 14:17
как создать (написать) программу Firewall для windows???? Захаров Андрей Общие вопросы Delphi 1 19.02.2012 17:57
Firewall for Windows, handsmake BOBAH13 Безопасность, Шифрование 28 12.12.2010 16:48