一、 添加 COM 引用
在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可
二、 添加允许通过防火墙的例外程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NetFwTypeLib;
namespace Common
{
public static class INetFwManger
{
/// <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 exist = false;
//加入到防火墙的管理策略
foreach (INetFwOpenPort mPort in netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts)
{
if (objPort == mPort)
{
exist = true;
break;
}
}
if (!exist) netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add(objPort);
}
/// <summary>
/// 将应用程序添加到防火墙例外
/// </summary>
/// <param name="name">应用程序名称</param>
/// <param name="executablePath">应用程序可执行文件全路径</param>
public static void NetFwAddApps(string name, string executablePath)
{
//创建firewall管理类的实例
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(
Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));
//在例外列表里,程序显示的名称
app.Name = name;
//程序的路径及文件名
app.ProcessImageFileName = executablePath;
//是否启用该规则
app.Enabled = true;
//加入到防火墙的管理策略
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);
bool exist = false;
//加入到防火墙的管理策略
foreach (INetFwAuthorizedApplication mApp in netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications)
{
if (app == mApp)
{
exist = true;
break;
}
}
if (!exist) netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);
}
/// <summary>
/// 删除防火墙例外端口
/// </summary>
/// <param name="port">端口</param>
/// <param name="protocol">协议(TCP、UDP)</param>
public static void NetFwDelApps(int port,string protocol)
{
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
if (protocol == "TCP")
{
netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Remove(port, NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP);
}
else
{
netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Remove(port, NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_UDP);
}
}
/// <summary>
/// 删除防火墙例外中应用程序
/// </summary>
/// <param name="executablePath">程序的绝对路径</param>
public static void NetFwDelApps(string executablePath)
{
INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Remove(executablePath);
}
}
}
分享到:
相关推荐
c# 网络通讯会遇到端口被防火墙屏蔽的问题,或者端口长时间不交互也会被防火墙屏蔽,此类可加入exe或者端口到防火墙例外,程序要以管理员运行,亲测有效
针对将特定端口加入到windows系统的防火墙中,使其允许或禁止通过防火墙。... /// 添加防火墙例外端口 /// /// 名称 /// 端口 /// 协议(TCP、UDP) /// 范围类型 /// 自定义范围时的IP地址范围</p
对于某些程序,我们只允许它使用某些特定端口、网络类型或者特定IP类型等信息。这时候,需要使用到防火墙里面的“高级.../// 为WindowsDefender防火墙添加一条通信端口出站规则 /// /// 规则类型 /// <param nam
在Windows操作系统中,为了增强系统的安全性,有时需要禁用一些高危端口,这些端口通常与不安全的服务或常见的...如果需要允许某些特定服务通过这些端口,可以创建例外规则,以确保系统在保持安全的同时保持功能正常。
要使用本工具,必须进行必要的设置,包括:1、在windows中防火墙的设置例外(sqlserver程序例外和1433端口例外);2、在sql2005配置管理器中,打开TCP/IP,在IP地址中的TCP端口号设为1433;3、sql server外围配置中...
(2)在防火墙中添加,orcale端口1521例外。 您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法...
- **Windows防火墙设置**:确保1433端口未被防火墙阻止,可以添加端口例外。 最后,我们提到了SQL Server连接中的常见问题: 6. **SQL Server连接错误**: - "SQL Server不存在或访问被拒绝":这个错误可能是由...
防火墙例外帮助类 提供添加防火墙例外的简单接口,用于添加或移除基于应用程序或端口的例外。 如何下载 Nuget地址: 如何使用 以下是两种方式的使用方法。
2. 调整Windows防火墙设置:添加ArcGIS Server所需的服务和端口例外,如Web Port (HTTP)的80端口,DCOM (ArcGIS Server)的135端口,以及ArcSOM.exe和ArcSOC.exe作为例外程序。 3. 解决IIS配置问题:如果Manager程序...