在大多數情況下,window操作系統軟都會默認開啓防火牆配置,用於保護網絡安全。
在項目上,我們會開發一些軟件涉及到網絡通信,會因爲防護牆導致數據無法接收;下面從工程角度添加防火牆例外,而且xp系統和win7系統配置方式還有所不同,win8/win10和win7一致。
手動添加防火牆例外
首先從直觀角度看下win7系統下面的防火牆配置,要關閉或者添加某個程序的防火牆例外,入口如下:
控制面板->所有控制面板項(點擊小圖標)->Windows防火牆
,如下圖所示:
添加例外效果如下:
命令行方式添加防火牆例外
在項目上,如果某個程序需要添加防火牆例外,我們是不能通過手動方式執行的,我們必須使用命令行,這裏涉及到netsh命令,win7和xp使用的命令還有區別
- xp系統 使用
netsh firewall
- win7系統 使用
netsh advfirewall firewall
netsh advfirewall firewall
命令在xp系統執行不成功,而netsh firewall
命令在win7系統中只會在一種網絡模式中生效,可以是公用網絡或者是專用網絡。
win7系統添加或刪除例外
添加例外:
netsh advfirewall firewall add rule name="win7" dir=in action=allow program="E:\xxx\aLittleCode.exe" enable=yes
刪除例外:
netsh advfirewall firewall delete rule name="win7"
winxp系統添加例外
netsh firewall set allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE
netsh firewall
和netsh advfirewall firewall
命令區別見這篇文章:
http://go.microsoft.com/fwlink/?linkid=121488