Windows: Что будет связано с созданием нашего собственного брандмауэра для распространения с нашим продуктом? - PullRequest
0 голосов
/ 27 сентября 2011

Мне поручено определить, что будет связано с созданием нашего собственного брандмауэра.

Что-то, что может перехватывать каждое соединение, и решить, следует ли разрешить его на основе того, какой exe-файл инициирует соединение.Мы либо заблокируем, либо повесим соединение, пока пользователь не скажет, разрешить или запретить.

Я заинтересован в XP, Vista, Win7.

Я знаю, как программировать на Java, Perl и JavaScript,Я предполагаю, что мне понадобится заставить Java взаимодействовать с некоторым исполняемым файлом C или C #, чтобы эта работа работала.Я ожидаю, что предупреждения GUI будут основаны на Java, но главное знать, какие интерфейсы с Windows понадобятся, и если между XP и Vista / 7 будет существенная разница.

Я предполагаю, что есть определенные решениясделать, возможно, некоторые проблемы с совместимостью.Пожалуйста, опишите, что будет происходить.

Я также опубликовал связанный вопрос о возможности простого подключения к встроенному брандмауэру Windows , потому что я хочу услышать об обоих вариантах по отдельности.

Ответы [ 3 ]

1 голос
/ 27 сентября 2011

См. этот вопрос о переполнении стека. Чтобы перефразировать ответ, приведенный в этом посте, вам потребуется использовать Windows Filtering Platform API. Поскольку он основан на ОС, вам нужно будет либо написать, либо найти API-оболочки, которые переводят C / C ++ в то, что Java может вызвать, если вы хотите пойти по этому пути.

Если вам нужен брандмауэр сетевого уровня, вы можете начать с поиска ipcop или Symantec Endpoint для бесплатных и коммерческих решений соответственно. Конечная точка обеспечивает защиту на стороне клиента, и существуют другие продукты, такие как Avast или ESET / NOD32 , которые предоставляют возможности брандмауэра бесплатно или по приемлемой цене.

Если это не является абсолютной необходимостью, я бы посоветовал изучить коммерчески доступные варианты, прежде чем углубляться в написание своих собственных.

1 голос
/ 27 сентября 2011

Написание драйвера на C, другими словами, не на Java.

0 голосов
/ 27 сентября 2011

Вы действительно уверены, что ваши единственные два варианта - это кодировать один или использовать один из Microsoft?

Есть и другие, вы знаете: http://lifehacker.com/5061933/five-best-windows-firewalls

...