文章编号: 875357 - 查看本文应用于的产品
注意
本文适用于高级计算机用户。如果您对高级问题诊断感到困惑,您可能希望向其他人寻求帮助或联系支持部门。有关如何操作的信息,请访问以下 Microsoft 网站:
http://support.microsoft.com/contactus/?ln=zh-cn
展开全部 | 关闭全部

本文内容

概要

Windows XP Service Pack 2 (SP2) 包括 Microsoft Windows 防火墙,此更新的防火墙软件将替代 Internet 连接防火墙 (ICF)。如果 Microsoft Windows 防火墙阻止某个服务或程序所使用的端口,您可以配置 Windows 防火墙以创建一个例外项。如果出现下列情况,则 Windows 防火墙可能阻止了某个程序或服务:
  • 程序不响应客户端的请求。
  • 客户端程序无法从服务器接收数据。
Windows 防火墙安全警报可能会通知您 Windows 防火墙阻止了某个特定程序。发生这种情况时,您可以选择“安全警报”对话框中的“取消阻止该程序”来取消阻止该程序。为帮助确定阻止了哪些程序和端口,您可以配置 Windows 防火墙来记录被丢弃的数据包。通过使用 Windows 防火墙 Netsh 帮助程序,您可以在命令提示符下配置 Windows 防火墙和 Windows 防火墙日志记录。问题并不总是由程序兼容性造成的。组策略设置也可能会禁止运行程序。Windows XP Service Pack 2 (SP2) 包含多个实用工具,您可以使用这些工具来解决 Windows 防火墙问题。

简介

解决防火墙阻止问题的最好方法是修改程序,使其与有状态的筛选防火墙一起使用。如果无法修改程序,则可以配置 Windows 防火墙,以便为特定端口和程序添加例外项。本文讨论与 Windows XP Service Pack 2 防火墙的默认配置有关的故障症状,如何配置例外端口和程序,以及如何对防火墙设置执行某些故障排除方法。

更多信息

与防火墙的默认配置有关的故障有两种表现形式。客户端程序无法从服务器接收数据。在基于 Windows XP 的计算机上运行的服务器程序无法响应客户端请求。
如果某个程序被阻止,您可能会收到以下 Windows 防火墙安全警报:
收起这个图片展开这个图片
2869119
有关这些症状的信息以及用于解决它们的高级故障排除步骤,请参阅“高级故障排除”部分。

使用 Windows 防火墙安全警报来配置 Windows 防火墙

要取消阻止该程序,可在“安全警报”对话框中单击“取消阻止”。

使用 Windows 安全中心来配置 Windows 防火墙

添加例外程序

在将程序添加到例外列表中后,防火墙就可以打开多个端口范围,每次运行该程序时,这些端口范围都可能会发生变化。要添加例外程序,请按照下列步骤操作:
  1. 使用管理员帐户登录。
  2. 单击“开始”,单击“运行”,键入 wscui.cpl,然后单击“确定”。
  3. 在 Windows 安全中心内单击“Windows 防火墙”。
  4. 在“例外”选项卡上,单击“添加程序”。
  5. 在程序列表中,单击要添加的程序的名称,然后单击“确定”。如果您的程序名不在程序列表中,请单击“浏览”以查找该程序,然后单击“确定”。注意:如果不知道该程序的位置,请与程序供应商联系以确定程序位置。

    有关硬件制造商的详细信息,请访问以下网站:
    http://support.microsoft.com/gp/oemcontact/zh-cn
  6. 单击“确定”。
  7. 测试该程序以检查防火墙设置是否正确。
如果您仍然遇到问题,则可能需要寻求他人的帮助或联系支持部门。有关如何操作的更多信息,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus?ln=zh-cn#tab0

高级故障排除

本部分适用于高级计算机用户。如果不熟悉高级疑难解答,您可以向认识的人寻求帮助,或者联系支持部门。有关如何操作的更多信息,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus

识别故障症状

与防火墙的默认配置有关的故障有两种表现形式:
  • 客户端程序无法从服务器接收数据。例如,下列客户端程序无法接收数据:
    • FTP 客户端
    • 多媒体流软件
    • 某些电子邮件程序中的新邮件通知
  • 在基于 Windows XP 的计算机上运行的服务器程序无法响应客户端请求。例如,下列服务器程序无法响应:
    • Web 服务器程序,如 Internet 信息服务 (IIS)
    • 远程桌面
    • 文件共享
    注意:
    • 网络程序中的故障不只限于防火墙问题。RPC 或 DCOM 的安全更改也可能会导致出现这些故障。因此,您必须确定该故障是否与指示某个程序被阻止的 Windows 防火墙安全警报一起出现。
    • 服务故障不会与 Windows 防火墙安全警报一起出现,因为服务通常与用户登录会话无关。如果故障与服务相关,可按照“使用 Windows 安全中心来配置 Windows 防火墙”一节中讨论的方法来配置防火墙。

添加例外端口

如果通过将程序添加到例外列表中不能解决此问题,则可以手动添加端口。为此,您必须首先确定该程序所使用的端口。确定所使用端口的可靠方法是与程序供应商取得联系。如果无法联系供应商,或者找不到端口列表,则可以使用 Netstat.exe 工具来确定所使用的端口。
确定端口
  1. 启动该程序,并尝试使用其网络功能。例如,对于多媒体程序,尝试启动音频流。对于 Web 服务器,尝试启动服务。
  2. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
  3. 在命令提示符处,键入 netstat –ano > netstat.txt,然后按 Enter 键。此命令可创建 Netstat.txt 文件。该文件会列出所有侦听端口。

    收起这个图片展开这个图片
    2869120


  4. 在命令提示符处,键入 tasklist > tasklist.txt,然后按 ENTER。如果该程序作为服务运行,请键入 tasklist /svc > tasklist.txt ,而不是 tasklist > tasklist.txt,以便列出每个进程中加载的服务。

    收起这个图片展开这个图片
    2869121


    收起这个图片展开这个图片
    2869122


  5. 打开 Tasklist.txt 文件,然后找到要排查其问题的程序。记下进程的进程标识符,然后打开 Netstat.txt 文件。记下与该进程标识符关联的任何条目和所使用的协议。

    收起这个图片展开这个图片
    2869123
如果进程的端口号小于 1024,则端口号可能不会发生变化。如果使用的端口号大于 1024,则程序可能会使用某个范围内的端口。因此,打开个别端口可能无法解决此问题。

添加例外端口
  1. 单击“开始”,单击“运行”,键入 wscui.cpl,然后单击“确定”。
  2. 在 Windows 安全中心内单击“Windows 防火墙”。

    收起这个图片展开这个图片
    2869124


  3. 单击“例外”选项卡,然后单击“添加端口”以显示“添加端口”对话框。

    收起这个图片展开这个图片
    2869125


  4. 为例外端口键入一个描述性名称以及程序使用的端口号,然后使用 TCP 或 UDP 协议。

    收起这个图片展开这个图片
    2869126


  5. 单击“更改范围”。

    收起这个图片展开这个图片
    2869127
  6. 查看或设置例外端口的范围,然后单击“确定”。

    收起这个图片展开这个图片
    2869128


  7. 单击“确定”以关闭“添加端口”对话框。

    收起这个图片展开这个图片
    2869129


  8. 要验证程序的端口设置是否正确,请测试该程序。

使用日志记录

您可以启用日志记录,以帮助确定入站通信的来源,并提供有关被阻止的通信的详细信息。%Windir%\pfirewall.log 是默认的日志文件。要启用日志记录,请按照下列步骤操作:
  1. 单击“开始”,单击“运行”,键入 firewall.cpl,然后单击“确定”。
  2. 单击“高级”选项卡。

    收起这个图片展开这个图片
    2869130


  3. 在“安全日志记录”区域,单击“设置”。

    收起这个图片展开这个图片
    2869131


  4. 单击以选中“记录被丢弃的数据包”复选框,然后单击“确定”。

    收起这个图片展开这个图片
    2869132


  5. 单击“确定”。

    收起这个图片展开这个图片
    2869133

注意:不会记录成功的出站通信。也不会记录未被阻止的出站通信。


解释日志文件
对于记录的每个数据包,都会收集以下日志信息:

收起该表格展开该表格
字段说明示例
Date显示记录的事务发生时的年、月和日。日期的记录格式为 YYYY-MM-DD,其中 YYYY 表示年,MM 表示月,DD 表示天。2001-01-27
Time显示记录的事务发生时的小时、分钟和秒。时间的记录格式为:HH:MM:SS,其中 HH 是以 24 小时格式表示的小时,MM 表示分钟数,SS 表示秒数。21:36:59
Action指示防火墙观察到的操作。防火墙的可用选项有 OPEN、CLOSE、DROP 和 INFO-EVENTS-LOST。INFO-EVENTS-LOST 操作指示已发生但未记录在日志中的事件数。OPEN
Protocol显示通信时所使用的协议。协议条目也可以是一个数字,用来表示不使用 TCP、UDP 或 ICMP 的数据包。TCP
src-ip显示源 IP 地址,即尝试建立通信的计算机的 IP 地址。192.168.0.1
dst-ip显示通信尝试的目标 IP 地址。192.168.0.1
src-port显示发送计算机的源端口号。src-port 条目以 1 到 65,535 之间的整数形式记录。只有 TCP 和 UDP 会显示有效的 src-port 条目。所有其他协议的 src-port 条目均显示为“-”。4039
dst-port显示目标计算机的端口号。dst-port 条目以 1 到 65,535 之间的整数形式记录。只有 TCP 和 UDP 会显示有效的 dst-port 条目。所有其他协议的 dst-port 条目均显示为“-”。53
size显示以字节表示的数据包大小。60
tcpflags显示 IP 数据包 TCP 报头中的 TCP 控制标志:
  • Ack:确认字段有效
  • Fin:没有来自发送方的其他数据
  • PSH:推入功能
  • Rst:重置连接
  • Syn:同步序列号
  • Urg:紧急指针字段有效
标志均采用大写字母形式。
AFP
tcpsyn显示数据包中的 TCP 序列号。1315819770
tcpack显示数据包中的 TCP 确认号。0
tcpwin显示数据包中用字节表示的 TCP 窗口大小。64240
icmptype显示一个数字,表示 ICMP 消息的“类型”字段。8
icmpcode显示一个数字,表示 ICMP 消息的“代码”字段。0
info显示一个信息条目,具体取决于执行的操作类型。例如,INFO-EVENTS-LOST 操作为以下事件个数创建一个条目:从该事件类型最后一次发生后发生但未记录到日志中的事件。23

注意 连字符 (-) 用于其中没有条目信息的字段。

使用命令行支持

Windows 防火墙 Netsh 帮助程序已添加到 Windows XP 的 Microsoft Advanced Networking Pack 中。此命令行帮助程序以前适用于 IPv6 Windows 防火墙。在 Windows XP Service Pack 2 中,该帮助程序现在支持对 IPv4 进行配置。

通过使用 Netsh 帮助程序,您现在可以:
  • 配置 Windows 防火墙的默认状态。(选项包括“关闭”、“启用”和“启用并且没有例外”。)
  • 配置必须打开的端口。
  • 配置端口以启用全局访问,或限制对本地子网的访问。
  • 将端口设置为在所有接口上打开,或者仅在特定接口上打开。
  • 配置日志记录选项。
  • 配置 Internet 控制消息协议 (ICMP) 处理选项。
  • 在例外列表中添加或删除程序。
这些配置选项适用于 IPv4 Windows 防火墙和 IPv6 Windows 防火墙,但 Windows 防火墙版本中不存在的特定功能除外。
收集诊断数据
可以使用 Netsh.exe 工具,在命令行中检索 Windows 防火墙的配置和状态信息。此工具将 IPv4 防火墙支持添加到以下 Netsh 上下文中:
netsh firewall
要使用此上下文,请在命令提示符下键入 netsh firewall,然后根据需要使用其他 Netsh 命令。以下命令对于收集防火墙状态和配置信息非常有用:
  • Netsh firewall show state
  • Netsh firewall show config

可以将这些命令的输出与 netstat –ano 命令的输出进行比较,确定可能打开侦听端口并且在防火墙配置中无相应例外项的程序。下表列出了受支持的数据收集和配置命令。

注意:只有管理员能够修改设置。

数据收集
收起该表格展开该表格
命令说明
show allowedprogram显示允许的程序。
show config显示详细的本地配置信息。
show currentprofile显示当前配置文件。
show icmpsetting显示 ICMP 设置。
show logging显示日志记录设置。
show opmode显示操作模式。
show portopening显示例外端口。
show service显示服务。
show state显示当前的状态信息。
show notifications显示当前通知设置。

配置
收起该表格展开该表格
命令说明
add allowedprogram用于通过指定程序的文件名来添加例外通信。
set allowedprogram用于修改现有允许的程序的设置。
delete allowedprogram用于删除现有允许的程序。
set icmpsetting用于指定允许的 ICMP 通信。
set logging用于为 Windows 防火墙指定全局日志记录选项,或为特定连接(接口)指定日志记录选项。
set opmode用于为 Windows 防火墙指定全局操作模式,或为特定连接(接口)指定操作模式。
add portopening用于通过指定 TCP 或 UDP 端口来添加例外通信。
set portopening用于修改现有打开的 TCP 或 UDP 端口的设置。
delete portopening用于删除现有打开的 TCP 或 UDP 端口。
set service用于启用或丢弃 RPC 和 DCOM 通信、文件和打印机共享以及 UPnP 通信。
set notifications用于指定当程序试图打开端口时是否通知用户。
reset将防火墙配置重置为默认设置。它提供与“Windows 防火墙”界面中的“还原为默认值”按钮相同的功能。

解决防火墙问题

除程序兼容性问题外,Windows 防火墙还可能会出现其他问题。请按照下列步骤操作来诊断问题:
  1. 要检查 TCP/IP 是否正常工作,请使用 ping 命令测试环回地址 (127.0.0.1) 和分配的 IP 地址。
  2. 检查用户界面中的配置,确定是否误将防火墙设置为“关闭”或“启用并且没有例外”。
  3. 使用 netsh 命令收集防火墙状态和配置信息,以查找无意中设定的可能妨碍防火墙正常运行的设置。
  4. 在命令提示符下键入以下命令来确定“Windows 防火墙/Internet 连接共享”服务的状态:
    sc query sharedaccess
    (该服务的简称是 SharedAccess。)如果此服务未启动,请根据 Win32 退出代码来排查服务启动问题。
  5. 在命令提示符下键入以下命令来确定 Ipnat.sys 防火墙驱动程序的状态:
    sc query ipnat
    此命令还会返回上一次启动尝试的 Win32 退出代码。如果驱动程序未启动,请使用适用于任何其他驱动程序的故障排查步骤。
  6. 如果该驱动程序和服务均在运行,而且事件日志中没有相关的错误,请使用“Windows 防火墙”属性“高级”选项卡上的“还原为默认值”选项来消除任何可能有问题的配置。
  7. 如果问题仍未解决,请查找可能产生异常行为的策略设置。为此,请在命令提示符下键入 GPResult /v > gpresult.txt,然后检查生成的文本文件以查找与防火墙有关的配置策略。

配置 Windows 防火墙组策略

请与您的网络管理员联系,确定组策略设置是否禁止程序和方案在企业环境中运行。

Windows 防火墙组策略设置位于以下“组策略对象编辑器”管理单元路径中:
  • 计算机配置/管理模板/网络/网络连接/Windows 防火墙
  • 计算机配置/管理模板/网络/网络连接/Windows 防火墙/域配置文件
  • 计算机配置/管理模板/网络/网络连接/Windows 防火墙/标准配置文件

从这些位置,您可以配置以下组策略设置:
  • Windows 防火墙:允许已验证的 Internet 协议安全 (IPsec) 绕过
  • Windows 防火墙:保护所有网络连接
  • Windows 防火墙:不允许例外
  • Windows 防火墙:定义例外程序
  • Windows 防火墙:允许本地程序例外
  • Windows 防火墙:允许远程管理例外
  • Windows 防火墙:允许文件和打印共享例外
  • Windows 防火墙:允许 ICMP 例外
  • Windows 防火墙:允许远程桌面例外
  • Windows 防火墙:允许通用即插即用 (UpnP) 框架例外
  • Windows 防火墙:禁止通知
  • Windows 防火墙:允许日志记录
  • Windows 防火墙:禁止对多播或广播请求进行单播响应
  • Windows 防火墙:定义例外端口
  • Windows 防火墙:允许本地端口例外

有关 Windows 防火墙组策略设置的更多信息,请下载下面的白皮书:

参考

843090 Windows XP Service Pack 2 中的 Windows 防火墙功能介绍
892199 Windows XP 安全指南中的某些管理模板可能会阻止您启动 Windows XP Service Pack 2 中的 Windows 防火墙服务
920074 无法在 Windows XP SP2 中启动 Windows 防火墙服务
886257 在 Windows XP Service Pack 2 中 Windows 防火墙对 UPnP 框架有何影响

如果这些文章无法帮助您解决问题,或者您遇到的症状与本文所述的症状不同,请搜索 Microsoft 知识库以获取更多信息。要搜索 Microsoft 知识库,请访问下面的 Microsoft 网站:
http://support.microsoft.com/?ln=zh-cn
接着,在“搜索支持(KB)”字段中键入您收到的错误消息的文本,或者键入对问题的描述。
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款

属性

文章编号: 875357 - 最后修改: 2013年7月4日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Home Edition
关键字:?
kbresolve kbgraphxlink kbnomt kbscreenshot kbtshoot kbhowtomaster KB875357
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com