在大多数情况下,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