C # — Как проверить, включен ли внешний брандмауэр?

#c# #windows #firewall #cisco

#c# #Windows #брандмауэр #cisco

Вопрос:

Мы хотим использовать Cisco NAC и должны проверить, установлен ли брандмауэр на рабочем столе клиента. Возможно, это не брандмауэр Windows по умолчанию.

Есть ли какой-нибудь раздел реестра Windows, который можно проверить?

Ответ №1:

Может быть, просто проверьте, можете ли вы установить соединение, если не можете — выведите сообщение о том, что пользователь должен проверить брандмауэр, если он установлен?

Комментарии:

1. Хорошая идея, но это не тот случай. Это должно быть сделано на клиентском компьютере.

Ответ №2:

Для брандмауэров, отличных от Windows, вы можете использовать WMI API для определения наличия брандмауэра, если он зарегистрирован в Windows.

 Namespace = "RootSecurityCenter2"  (might be "RootSecurityCenter" on pre-vista)
Query = "SELECT * From FirewallProduct"
  

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

Для обнаружения брандмауэра Windows это INetFwMgr и друзья.