SP2防火墙引起程序出错的解决方法

安装Microsoft Windows XP Service Pack 2 (SP2)后, 一些应用程序可能无法在更新的操作系统上运行 。这是因为默认情况下,Windows Firewall 为启用状态并屏蔽未被认可的外来连接 。本文讨论了如何建立一个防火墙例外项,通过将一个应用程序加入例外列表从而允许这个程序继续运行 。为了提高基于Windows XP SP2的计算机的安全性能,Windows Firewall 屏蔽了未被认可的外来连接 。但是有时我们还是需要建立一个例外规则来允许一些入站的连接 。例如,在下列情况下:
通过Internet进行多人联网游戏时;
要从即时通讯软件接收文件;
安装了Windows XP SP2后,客户端应用程序可能不能够成功的从服务器接收数据,以下是一些例子:
FTP 客户端;
流媒体M播放软件;
邮件客户端的新邮件提醒;
同样,运行在Windows XP SP2上的服务器端的应用程序也可能不能成功的回应客户端请求,以下是一些例子:
Web服务器,如IIS;
远程桌面;
文件共享;
Windows XP SP2在默认情况下使用下面的交互式组件来实现这个例外规则:
Windows Firewall 安全提醒
有时Windows Firewall在屏蔽一个应用程序的运行时,会出现一个Windows Firewall 安全提醒 对话框 。这个对话框包含以下信息:
...to help protect your computer, Windows Firewall has blocked this program from receiving unsolicited information from the Internet or a network
这个提醒信息显示了程序的名称和程序的开发者 。这个对话框包含3个选择:
Unblock the program
Keep blocking this program
Keep blocking this program, but ask me again later
下面说明如何使用这个对话框来允许这个程序运行 。

允许程序运行一些程序为了能够正常运行,必须从网络上接收信息 。这些信息通过入站端口进入计算机 。Windows Firewall 要允许这些信息进入,必须在计算机上打开正确的入站端口 。要使程序和未装SP2之前一样的进行通信来允许程序正常的运行,可以使用以下的任何一个方法:
通过安全提醒来允许程序运行
在 安全提醒 对话框中,选择 Unblock this program.
单击确定.
通过Windows防火墙设置来允许程序运行
如果你在安全提醒对话框中没有选择 Unblock the program,这个程序将被禁止运行 。你可以通过配置Windows Firewall 来同样达到这个目的:
点击开始,运行,在打开输入框中输入 wscui.cpl,然后点击确定
点击Windows Firewall
在Windows Firewall对话框中,选择例外选项卡,然后选择添加程序
在添加程序的对话框中,选择列表中的程序或者通过浏览来选定一个程序
如果你不能确定这个需要设定的程序的具体名称,参见后面所述
选定程序后,确定

在例外列表中,确定你选中的程序项前面的选择框为选中状态,确定
注意 如果你以后不想将这个程序作为例外,只需要清除这个程序项的选择框.
把程序添加到例外列表中有以下好处:
你不需要知道程序具体使用的哪一个端口(与此相比,当你想通过打开端口方式来达到目的,你必须知道程序所使用的端口号,这将在后面详述)
例外列表中的程序所使用的端口仅在等待接收一个连接的时候才会打开
确定并打开端口
如果将程序加入到例外列表之后还是不能够正常运行,或者是在选定例外程序时无法确定程序名称,你可以手工打开端口 。在手工打开端口之前,必须先确定程序使用了哪些端口 。确定程序使用端口的可靠方法当然是联系程序开发或支持厂商以获得所需的信息 。但这种方法多数情况下不是那么方便,而且有时程序所用端口的列表不可提供时,你可以使用 Netstat.exe 来确定这些端口 。

推荐阅读