Вопрос № 165190: Здравствуйте, уважаемые Эксперты. Есть задача, определить какой фаервол запущен на машине. Сделал так: взял список exe файлов известных фаерволов и при загрузке программы смотрю в процессах что есть. Но вот проблема - определить стандартный фаерво...
Вопрос № 165.190
Здравствуйте, уважаемые Эксперты. Есть задача, определить какой фаервол запущен на машине. Сделал так: взял список exe файлов известных фаерволов и при загрузке программы смотрю в процессах что есть. Но вот проблема - определить стандартный фаервол Windows не получается, т.е. запущен он или не запущен. Интересуют фаерволы на XP и на Висте. Не могу понять что смотреть.
Отправлен: 17.04.2009, 11:02
Вопрос задал: Baduin (статус: 1-й класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Тимошенко Дмитрий
Здравствуйте, Baduin!
Стандартный фаервол реализован в виде службы, которая является частью, если мне не изменяет память, svchost.exe. И вот что накопал по этому поводу: "... Получить список служб и драйверов можно через функцию EnumServicesStatus. Возвращаемый результат зависит от использованного флага, отвечающего за тип службы. Чтобы получить информацию о сервисах, надо использовать флаг SERVICE_WIN32. В буфер будет помещена информация о сервисах, как работающих в своем процессе, так и
делящих свое адресное пространство с другими службами (дело в том, что один исполняемый файл может содержать несколько параллельно работающих служб). Также интересно посмотреть и на загруженные драйвера - SERVICE_DRIVER, многие фаерволы реализуются в виде драйверов-фильтров TCP/IP. ..." Вот. Надеюсь это поможет.
С уважением, Дмитрий.
Дело в том, что svchost.exe запускает великое множество сервисов, но за работу системного файрвола отвечает один единственный и вполне определённый файл. Какой - Вы не назвали. Никакого секрета Microsoft из этого не делает. Вы не объяснили, каким образом необходимо применить системную функцию EnumServicesStatus(), чтобы увидеть именно то, о чём спрашивалось в вопросе. А применение этой функции дело отнюдь не тривиальное. Мало того, её объявление в Delphi дано с ошибкой о которой Вы не потрудились рассказать.
--------
∙ Отредактировал: sir Henry, Академик
∙ Дата редактирования: 18.04.2009, 18:27 (время московское)
Ответ отправил: Тимошенко Дмитрий (статус: 6-й класс)
Ответ отправлен: 18.04.2009, 08:37
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 247761 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.