Как использовать интерфейсы INetFw для нескольких сетевых подключений?
Windows XP машина имеет проводной и Wi-Fi интерфейсы одновременно. Мой код должен управлять настройками брандмауэра только для соединения WiFi и игнорировать настройки для проводного соединения.
Я использую интерфейсы INetFw из C#. Я могу перечислить открытые порты и службы, как это...
INetFwMgr manager = GetFirewallManager();
INetFwPolicy policy = manager.LocalPolicy;
INetFwProfile profile = policy.CurrentProfile;
foreach (INetFwOpenPort p in profile.GloballyOpenPorts)...
foreach (INetFwService s in services)...
foreach (INetFwOpenPort p in s.GloballyOpenPorts)
Когда я добавляю исключения в панель управления для всех соединений, я вижу их в своем коде. Но исключения, добавленные для определенного соединения на вкладке "Дополнительно" панели управления, не видны моему коду.
Я не вижу, как убедиться, что отверстия в проводном соединении не открыты в соединении WiFi. Я хочу открыть только несколько портов в соединении WiFi.
Я что-то упускаю в API-интерфейсах INetFw, чтобы выбрать, каким соединением я хочу управлять?
1 ответ
Нашел ответ...
INetFwMgr предоставляет только глобальные настройки брандмауэра.
Настройки, соответствующие вкладке "Дополнительно" панели управления, отображаются в интерфейсе INetSharingManager.
Очевидно, мне нужно использовать оба интерфейса, чтобы знать полную конфигурацию брандмауэра.