超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

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

C#如何禁止指定的IP連接本機(jī)指定的端口?例如不允許194.16.5.13連接3389端口,但允許他做其他訪問IIS網(wǎng)站等操作

admin
2025年3月13日 16:31 本文熱度 806

在C#中可以通過Windows防火墻規(guī)則實(shí)現(xiàn)該需求,以下是分步解決方案:

  1. 原理說明

  • 通過操作Windows防火墻的入站規(guī)則

  • 針對特定IP和端口創(chuàng)建阻止規(guī)則

  • 不影響其他端口(如IIS的80/443端口)

  1. 實(shí)現(xiàn)代碼

using System.Diagnostics;


public class FirewallHelper

{

    // 創(chuàng)建阻止規(guī)則

    public static void BlockIPPort(string ip, int port)

    {

        string ruleName = $"Block_{ip}_Port_{port}";

        string command = $"advfirewall firewall add rule name=\"{ruleName}\" " +

                          $"dir=in action=block protocol=TCP " +

                          $"remoteip={ip} localport={port}";


        ExecuteNetshCommand(command);

    }


    // 刪除規(guī)則(可選)

    public static void RemoveBlockRule(string ip, int port)

    {

        string ruleName = $"Block_{ip}_Port_{port}";

        string command = $"advfirewall firewall delete rule name=\"{ruleName}\"";


        ExecuteNetshCommand(command);

    }


    private static void ExecuteNetshCommand(string command)

    {

        ProcessStartInfo psi = new ProcessStartInfo

        {

            FileName = "netsh",

            Arguments = command,

            Verb = "runas", // 請求管理員權(quán)限

            WindowStyle = ProcessWindowStyle.Hidden,

            UseShellExecute = true

        };


        try

        {

            Process.Start(psi)?.WaitForExit();

        }

        catch (Exception ex)

        {

            Console.WriteLine($"執(zhí)行命令失敗: {ex.Message}");

        }

    }

}


// 使用示例

FirewallHelper.BlockIPPort("194.16.5.13", 3389);

  1. 使用說明

  • 需要以管理員權(quán)限運(yùn)行程序

  • 規(guī)則將永久生效直到手動(dòng)刪除

  • 可通過Windows防火墻設(shè)置界面查看規(guī)則:

    1. 打開"高級安全Windows Defender防火墻"

    2. 在"入站規(guī)則"中查找規(guī)則名稱(例如:Block_194.16.5.13_Port_3389)

  1. 驗(yàn)證方法

# 查看所有防火墻規(guī)則

netsh advfirewall firewall show rule name=all


# 測試端口連通性(從被禁IP執(zhí)行)

telnet 目標(biāo)服務(wù)器IP 3389

  1. 注意事項(xiàng)

  • 確保程序以管理員身份運(yùn)行(可在項(xiàng)目屬性中設(shè)置)

  • 規(guī)則名稱需要唯一,避免重復(fù)創(chuàng)建

  • 不會(huì)影響目標(biāo)IP訪問其他端口(如80端口)

  • 實(shí)際部署時(shí)建議添加異常處理機(jī)制

  1. 替代方案
    如果希望僅在應(yīng)用程序運(yùn)行時(shí)生效,可以使用Socket層過濾(需要處理網(wǎng)絡(luò)驅(qū)動(dòng)開發(fā)),但推薦使用防火墻方案,因?yàn)椋?/p>

  • 系統(tǒng)級防護(hù)更可靠

  • 無需保持應(yīng)用程序運(yùn)行

  • 性能影響更小

此方案通過系統(tǒng)防火墻實(shí)現(xiàn)精準(zhǔn)的IP+端口過濾,同時(shí)保持其他端口的正常訪問權(quán)限,滿足需求中的訪問控制要求。


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