Не могу добавить программу в исключения брандмауэра - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. using WindowsFirewallHelper;
  2. using System.Reflection;
  3. IRule rule = FirewallManager.Instance.CreateApplicationRule(FirewallManager.Instance.GetProfile().Type, AppName, FirewallAction.Allow, Assembly.GetExecutingAssembly().Location);
  4. rule.Direction = FirewallDirection.Outbound;
  5. FirewallManager.Instance.Rules.Add(rule);
  6. IRule rulePort = FirewallManager.Instance.CreatePortRule(FirewallManager.Instance.GetProfile().Type, AppName + " Port " + Nat0.Port.ToString(), FirewallAction.Allow, (ushort)Nat0.Port, FirewallProtocol.TCP);
  7. FirewallManager.Instance.Rules.Add(rulePort);
Правило добавляется, проверял через список
Листинг программы
  1. foreach (IRule qwe in FirewallManager.Instance.Rules.ToArray())
  2. {
  3. if (qwe.Name.IndexOf(AppName) >= 0)
  4. {
  5. MessageBox.Show(qwe.Name);
  6. //FirewallManager.Instance.Rules.Remove(qwe);
  7. }
  8. }
но почему то не работает... Когда я пытаюсь принять Tcp соединение, брандмауэр блокирует трафик ... (При выключенном брандмауэре трафик нормально проходит) 1) Подскажите мож есть другие работоспособные библиотеки?? (WindowsFirewallHelper) 2) И есть ли у кого то отказоустойчивая библиотека для проброса портов в NAT? (пользуюсь Mono.Nat, она бывает ошибки выкидывает вместо проброса портов)
посмотрел в список брандмауэра, у меня на против моего правила стоит галочка только в столбце частный, а в столбце публичный не стоит, как поставить с помощью этой библиотеке?
нашёл я что искал, нужно будет протестить
Листинг программы
  1. rule.Profiles = FirewallProfiles.Public | FirewallProfiles.Private;

Решение задачи: «Не могу добавить программу в исключения брандмауэра»

textual
Листинг программы
  1. IRule rule = FirewallManager.Instance.CreateApplicationRule(FirewallManager.Instance.GetProfile().Type, AppName, FirewallAction.Allow, Assembly.GetExecutingAssembly().Location);
  2.             rule.Profiles = FirewallProfiles.Public | FirewallProfiles.Private;
  3.             FirewallManager.Instance.Rules.Add(rule);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы