安装Microsoft Windows XP Service Pack (SP)后 一些应用程序可能无法在更新的操作系统上运行 这是因为默认情况下 Windows Firewall 为启用状态并屏蔽未被认可的外来连接 本文讨论了如何建立一个防火墙例外项通过将一个应用程序加入例外列表从而允许这个程序继续运行 为了提高基于Windows XP SP的计算机的安全性能Windows Firewall 屏蔽了未被认可的外来连接但是有时我们还是需要建立一个例外规则来允许一些入站的连接例如在下列情况下 通过Internet进行多人联网游戏时 要从即时通讯软件接收文件 安装了Windows XP SP后客户端应用程序可能不能够成功的从服务器接收数据以下是一些例子 FTP 客户端 流媒体M播放软件 邮件客户端的新邮件提醒 同样运行在Windows XP SP上的服务器端的应用程序也可能不能成功的回应客户端请求以下是一些例子 Web服务器 如IIS 远程桌面 文件共享 Windows XP SP在默认情况下使用下面的交互式组件来实现这个例外规则 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 这个提醒信息显示了程序的名称和程序的开发者这个对话框包含个选择 Unblock the program Keep blocking this program Keep blocking this program but ask me again later 下面说明如何使用这个对话框来允许这个程序运行 允许程序运行 一些程序为了能够正常运行必须从网络上接收信息这些信息通过入站端口进入计算机Windows Firewall 要允许这些信息进入必须在计算机上打开正确的入站端口要使程序和未装SP之前一样的进行通信来允许程序正常的运行可以使用以下的任何一个方法 通过安全提醒来允许程序运行 在 安全提醒 对话框中选择 Unblock this program 单击确定 通过Windows防火墙设置来允许程序运行 如果你在安全提醒对话框中没有选择 Unblock the program这个程序将被禁止运行你可以通过配置Windows Firewall 来同样达到这个目的: 点击开始运行在打开输入框中输入 wscuicpl然后点击确定 点击Windows Firewall 在Windows Firewall对话框中选择例外选项卡然后选择添加程序 在添加程序的对话框中选择列表中的程序或者通过浏览来选定一个程序 如果你不能确定这个需要设定的程序的具体名称参见后面所述 选定程序后确定 在例外列表中确定你选中的程序项前面的选择框为选中状态确定 注意 如果你以后不想将这个程序作为例外只需要清除这个程序项的选择框 把程序添加到例外列表中有以下好处: 你不需要知道程序具体使用的哪一个端口(与此相比当你想通过打开端口方式来达到目的你必须知道程序所使用的端口号这将在后面详述) 例外列表中的程序所使用的端口仅在等待接收一个连接的时候才会打开 确定并打开端口 如果将程序加入到例外列表之后还是不能够正常运行或者是在选定例外程序时无法确定程序名称你可以手工打开端口在手工打开端口之前必须先确定程序使用了哪些端口确定程序使用端口的可靠方法当然是联系程序开发或支持厂商以获得所需的信息但这种方法多数情况下不是那么方便而且有时程序所用端口的列表不可提供时你可以使用 Netstatexe 来确定这些端口 用 Netstatexe 来确定端口 要使用 Netstateexe 来确定程序所使用的端口按照以下步骤: 运行这个出问题的程序并试图使用其网络功能如对于媒体播放程序打开一个音频流对于Web服务器启动Web服务 点击开始运行输入 cmd 确定 获取监听端口列表 - 在命令提示行中输入以下命令并回车: netstat –ano > etstattxt 获取进程标识符来确定正在运行的进程 - 在命令提示行中输入以下命令并回车: tasklist > tasklisttxt 注意 如果问题程序是作为服务运行的需要在输入的命令中加入 /svc 开关来得到每个进程中加载的服务: tasklist /svc > tasklisttxt 打开 Tasklisttxt定位到需要诊断的那个问题程序记下这个进程的进程标识符 打开 Netstattxt记下关联到那个进程标识符的的所有入口同时记下所使用的通信协议(TCP或UDP) 这个进程所使用的端口号将影响到如何解决这个问题: 如果进程使用大于的端口这些端口号可能不能改变 如果端口号小于这个程序可能使用的是一个端口范围因此仅仅打开某些单独的端口可能没法解决这个问题 用 Windows Firewall 手工打开端口 要确定确切的端口号可以联系程序开发或支持厂商以获得所需的信息或者查看用户文档确定端口需要打开的端口后按以下步骤: 单击开始运行输入 wscuicpl 确定 选择 Windows Firewall 选择例外选项卡单击添加端口 在添加端口对话框中在端口号栏中输入需要打开的端口号并选择 TCP 或 UDP 类别 输入端口名称然后确定例如输入 GamePort 要显示或设定这个端口例外的范围点击改变范围然后确定 在例外选项卡中注意到新的服务已经列出要打开这个端口选中这个服务前面的选择框然后确定 |