1.如果你用的是Framwork框架
重点在于c:/Windows/Systm32/FirewallAPI.dll,要将这个dll复制并引用到自己的项目中
ZNetFwMangerHelper.NetFwAddPorts("8001", 8001, "TCP");
public class ZNetFwMangerHelper
{
/// <summary>
/// 添加防火墙例外端口
/// </summary>
/// <param name="name">
/// 名称
/// </param>
/// <param name="port">
/// 端口
/// </param>
/// <param name="protocol">
/// 协议(TCP、UDP)
/// </param>
public static void NetFwAddPorts(string name, int port, string protocol)
{
//创建firewall管理类的实例
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
INetFwOpenPort objPort = (INetFwOpenPort)Activator.CreateInstance(
Type.GetTypeFromProgID("HNetCfg.FwOpenPort"));
objPort.Name = name;
objPort.Port = port;
if (protocol.ToUpper() == "TCP")
{
objPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
}
else
{
objPort.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_UDP;
}
objPort.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
objPort.Enabled = true;
bool e

文章提供了在.NETFramework和.NET6框架下管理Windows防火墙的方法,包括添加和删除端口例外以及应用程序例外。在.NETFramework中,通过引用FirewallAPI.dll来操作,而在.NET6中,使用netsh命令行工具来创建和检查入站规则。
最低0.47元/天 解锁文章
1183

被折叠的 条评论
为什么被折叠?



