KempDec.NetWindowsFirewall 1.3.2

dotnet add package KempDec.NetWindowsFirewall --version 1.3.2
NuGet\Install-Package KempDec.NetWindowsFirewall -Version 1.3.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KempDec.NetWindowsFirewall" Version="1.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KempDec.NetWindowsFirewall --version 1.3.2
#r "nuget: KempDec.NetWindowsFirewall, 1.3.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KempDec.NetWindowsFirewall as a Cake Addin
#addin nuget:?package=KempDec.NetWindowsFirewall&version=1.3.2

// Install KempDec.NetWindowsFirewall as a Cake Tool
#tool nuget:?package=KempDec.NetWindowsFirewall&version=1.3.2

NetWindowsFirewall

NetWindowsFirewall é uma micro biblioetca com métodos auxiliares para gerenciar o Firewall do Windows.

A biblioteca COM NetFwTypeLib é usada para gerenciar o Firewall do Windows pelo NetWindowsFirewall.

Veja NetWindowsFirewall Legacy para .NET Framework 4.8

Instalação

  1. Instale a biblioteca a partir do NuGet.
Install-Package KempDec.NetWindowsFirewall
  1. Altere o "SO de Destino" do seu projeto para Windows.

Para alterar pelo Visual Studio, clique com o botão direito no seu projeto e vá em Propriedades (Alt + Enter). SO de Destino no Visual Studio

Para alterar por código, abra o arquivo com extensão .csproj do seu projeto e adicione -windows após a versão do framework, dentro da tag <TargetFramework/>. Exemplo:


<TargetFramework>net8.0</TargetFramework>

<TargetFramework>net8.0-windows</TargetFramework>

Como usar

Você pode usar a instância estática, obtida através de NetWindowsFirewall.Instance, como no exemplo abaixo:

var ipAddress = IPAddress.Parse("127.0.0.1");

// Adiciona uma regra de bloqueio (de entrada) para o endereço de IP "127.0.1" no Firewall do Windows.
NetWindowsFirewall.Instance.AddBlockInIpRule($"IP {ipAddress} bloqueado", ipAddress);

// Adiciona uma regra de bloqueio (de saída) para o endereço de IP "127.0.0.1" no Firewall do Windows.
NetWindowsFirewall.Instance.AddBlockOutIpRule($"IP {ipAddress} bloqueado", ipAddress);

Ou você pode usar a partir de uma nova instância criada manualmente:

var ipAddress = IPAddress.Parse("127.0.0.1");
var netWindowsFirewall = new NetWindowsFirewall();

// Adiciona uma regra de bloqueio (de entrada) para o endereço de IP "127.0.1" no Firewall do Windows.
netWindowsFirewall.AddBlockInIpRule($"IP {ipAddress} bloqueado", ipAddress);

// Adiciona uma regra de bloqueio (de saída) para o endereço de IP "127.0.0.1" no Firewall do Windows.
netWindowsFirewall.AddBlockOutIpRule($"IP {ipAddress} bloqueado", ipAddress);

Métodos disponíveis

Os métodos disponíveis são:

// Adiciona uma nova regra de permissão (de entrada) para um endereço de IP no Firewall do Windows.
public void AddAllowInIpRule(string name, IPAddress ipAddress);

// Adiciona uma nova regra de permissão (de entrada e saída) para um endereço de IP no Firewall do Windows.
public void AddAllowIpRule(string name, IPAddress ipAddress);

// Adiciona uma nova regra de permissão para um endereço de IP no Firewall do Windows.
public void AddAllowIpRule(string name, IPAddress ipAddress, NET_FW_RULE_DIRECTION_ direction);

// Adiciona uma nova regra de permissão (de saída) para um endereço de IP no Firewall do Windows.
public void AddAllowOutIpRule(string name, IPAddress ipAddress);

// Adiciona uma nova regra de bloqueio (de entrada) para um endereço de IP no Firewall do Windows.
public void AddBlockInIpRule(string name, IPAddress ipAddress);

// Adiciona uma nova regra de bloqueio (de entrada e saída) para um endereço de IP no Firewall do Windows.
public void AddBlockIpRule(string name, IPAddress ipAddress);

// Adiciona uma nova regra de bloqueio para um endereço de IP no Firewall do Windows.
public void AddBlockIpRule(string name, IPAddress ipAddress, NET_FW_RULE_DIRECTION_ direction);

// Adiciona uma nova regra de bloqueio (de saída) para um endereço de IP no Firewall do Windows.
public void AddBlockOutIpRule(string name, IPAddress ipAddress);

// Adiciona a regra especificada para o Firewall do Windows.
public void AddRule(INetFwRule rule);

// Obtém uma nova regra do Firewall do Windows.
public static INetFwRule GetNewRule();

// Obtém as regras do Firewall do Windows.
public static INetFwRules GetRules();

// Adiciona o endereço de IP especificado para a regra especificada.
public static void AddIpToRule(string ruleName, IPAddress ipAddress);

// Remove o endereço de IP especificado para a regra especificada.
public static void RemoveIpToRule(string ruleName, IPAddress ipAddress);

Colaboração

Ajude-nos a deixar a biblioteca de código aberto cada vez melhor, criando um pull request.

Autores

Licença

MIT

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0-windows7.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on KempDec.NetWindowsFirewall:

Package Downloads
TankShield

TankShield é uma pequena biblioteca que pode ser usada para evitar ataques no jogo DDTank.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.2 89 4/27/2024
1.3.1 95 4/8/2024
1.3.0 93 4/8/2024
1.2.0 89 4/8/2024
1.1.0 91 4/5/2024
1.0.0 101 2/9/2024
0.1.0 102 1/20/2024