狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# 防火墻操作之特定端口

admin
2021年3月24日 22:59 本文熱度 2486

針對將特定端口加入到windows系統(tǒng)的防火墻中,使其允許或禁止通過防火墻。其大概思路是:

/// <summary>

 /// 添加防火墻例外端口

 /// </summary>

 /// <param name="name">名稱</param>

 /// <param name="port">端口</param>

 /// <param name="protocol">協(xié)議(TCPUDP)</param>

 /// <param name="scope">范圍類型</param>

 /// <param name="remoteAddresses">自定義范圍時的IP地址范圍</param>

 public static void AllowPortsUseFirewall(string name, int port, string protocol, NET_FW_SCOPE_ scope,string remoteAddresses)

 {

     //創(chuàng)建firewall管理類的實例: TypeGetTypeFromProgID是通過注冊表信息項目創(chuàng)建實例類型

     INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));

 

     //判斷網(wǎng)絡(luò)類型,是TCP還是UDP

     NET_FW_IP_PROTOCOL_ protocolType = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_UDP;

     if (protocol.ToUpper() == "TCP")

     {

         protocolType = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;

     }

     //查找以前是否有相同的規(guī)則創(chuàng)建,如果有則不再創(chuàng)建新的規(guī)則

     foreach (INetFwOpenPort mPort in netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts)

     {

         if (mPort.Protocol == protocolType && mPort.Port == port)

         {

             return;

         }

     }

     //創(chuàng)建一個防火墻端口管理實例

     INetFwOpenPort objPort = (INetFwOpenPort)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwOpenPort"));

     //設(shè)置端口實例名稱

     objPort.Name = name;

     //設(shè)置端口信息

     objPort.Port = port;

     //端口管理的網(wǎng)絡(luò)類型

     objPort.Protocol = protocolType;

     /*

      *      NET_FW_SCOPE_ALL  范圍是所有地址。

      *      NET_FW_SCOPE_CUSTOM 自定義范圍。

      *      NET_FW_SCOPE_LOCAL_SUBNET 范圍是本地子網(wǎng)。

      *      NET_FW_SCOPE_MAX  使用僅用于測試。不意味著為應(yīng)用程序?qū)崿F(xiàn)。

      */

      //端口的范圍,針對哪類或哪個IP地址

     objPort.Scope = scope;

     //此處可以指定IP地址版本信息

     //objPort.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_V4;

     //自定義IP地址范圍

     if (objPort.Scope == NET_FW_SCOPE_.NET_FW_SCOPE_CUSTOM)

     {

         //這而需要移除多個地址之間的空白字符串,有空白字符串會出現(xiàn)設(shè)置異常

         objPort.RemoteAddresses = remoteAddresses.Replace(" ", ""); ;//"192.168.1.10,192.168.1.12.......";

     }

     //是否啟用規(guī)則

     objPort.Enabled = true;

     //加入到本地防火墻管理規(guī)則中。

     netFwMgr.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add(objPort);

 }


刪除規(guī)則比較簡單:創(chuàng)建防火墻實例,直接移除某種通信類型的端口就行:

/// <summary>
/// 刪除防火墻例外端口
/// </summary>
/// <param name="port">端口</param>
/// <param name="protocol">協(xié)議(TCPUDP</param>
public static void DeletePortsUseFirewall(int port, string protocol)
{
    //創(chuàng)建firewall管理類的實例: TypeGetTypeFromProgID是通過注冊表信息項目創(chuàng)建實例類型
    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);
    }
}

該文章在 2021/3/24 22:59:16 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved