测试常见通信量类型的网络路径 - cunshen
本页内容
简介 | |
用于测试特定的通信量类型的网络路径的工具 | |
常见通信量类型问题 | |
更多信息 |
简介
当网络基础结构包含基于路由器的防火墙时,悄悄丢弃没有配置为防火墙要转发的通信量这一防火墙功能会削弱特定的网络功能。例如,如果两个 Microsoft® Windows® Active Directory® 目录服务域控制器之间的防火墙没有配置为允许域控制器用于同步 Active Directory 数据库的所有不同类型的通信量,那么复制会失败。
在对网络功能和连通性进行疑难解答时,常用的一个步骤是使用 Ping 工具 (Ping.exe) 从一台计算机对另一台计算机发出 ping 命令。不过,Ping 工具使用 Internet 控制消息协议 (ICMP) Echo 和 Echo Reply 消息,通常情况下,这种通信量与用于被削弱的网络功能的通信量不同。两台计算机之间的防火墙可能允许 ICMP 通信量,也可能会丢弃这种通信量。因为被削弱的网络功能没有使用 ICMP Echo 通信量,所以,不论是哪一种情况,使用 Ping 工具进行的连接测试都无法提供有关被中间防火墙丢弃的通信量的明确诊断信息。
要获取明确的诊断信息,您必须使用某种能够报告连接成功或失败的工具来复制被削弱的网络功能的确切通信量类型。一旦您确定了中间防火墙丢弃的通信量类型,您就可以配置防火墙来转发被丢弃的通信以便恢复被削弱的网络功能的连接。
本文介绍了一组可用于测试特定通信量类型的网络路径的工具,并介绍了如何使用这些工具来确定 Windows 网络基础结构中安装的防火墙丢弃的最常见的通信量类型。
用于测试特定的通信量类型的网络路径的工具
Microsoft 提供了下列用于测试特定通信量类型的网络路径的工具:
• |
Port Query |
• |
PPTP Ping |
• |
Test TCP |
Port Query(Portqry.exe 和 Portqueryui.exe)
Port Query 是 Microsoft 提供的一个免费工具,可用于帮助对特定类型的传输控制协议 (TCP) 和用户数据报协议 (UDP) 通信量的 TCP/IP 连接问题进行疑难解答。Port Query 有一个命令行版本 (Portqry.exe)(可通过以下链接获取:PortQry Command Line Port Scanner Version 2.0)和一个图形用户界面版本 (Portqueryui.exe)(可通过以下链接获取:PortQryUI – User Interface for the PortQry Command Line Port Scanner)。这两个版本都可在基于 Windows 2000、Windows XP 和 Windows Server™ 2003 的计算机上运行。
Portqry.exe 具有以下功能:
• |
命令行模式。可用于向 TCP 或 UDP 或者同时向 TCP 和 UDP 查询单个端口、一列有序的端口或一个连续范围内的端口。 |
• |
交互模式。使用该模式,您可以更轻松地发出连续命令,并可为域名系统 (DNS) 或轻量目录访问协议 (LDAP) 等常见通信量使用一系列快捷方式或预定义查询。 |
• |
本地主机模式。可用于获取运行 Portqry.exe 的本地计算机上使用的 TCP 和 UDP 端口的详细信息。 |
有关这三种不同模式和命令语法的详细信息,请参阅 PortQry 2.0 版中的新增特性和功能。该 Microsoft 知识库文章包含示例命令和示例输出。
Portqueryui.exe 可让您使用基于 Windows 的图形用户界面更轻松地查询端口。下图显示了一个“Port Query”窗口示例。
从该窗口中,您可以指定要查询的计算机的名称或 IP 地址,可以选择一个预定义的服务,可以按指定的顺序手动指定要查询的一个或多个端口或者端口范围,并可指定要查询的协议(TCP 或 UDP 或两者同时查询)。当您单击“Query”(查询)时,结果便显示在窗口中的“Query Result”(查询结果)部分。
若要确定要向其查询预定义服务的端口集合,请单击“Help”(帮助),然后单击“Predefined Services”(预定义服务)。您可以为每个预定义服务修改要查询的端口集合,还可以通过修改 Config.xml 文件的内容来创建自己的预定义服务。有关用于在 Config.xml 文件中指定端口的语法的信息,请参阅 Portqueryui.doc 文件。Config.xml 和 Portqueryui.doc 文件都存储在 Portqueryui.exe 安装文件夹中。
使用 Port Query 工具的任一版本查询某个端口时,它都将端口的状态报告为以下状态之一:
• |
LISTENING Port Query 接收到一个积极响应,某个进程正在侦听被查询的 TCP 或 UDP 端口。 |
• |
NOT LISTENING Port Query 接收到一个消极响应,没有任何进程正在侦听被查询的 TCP 或 UDP 端口。如果是 TCP 端口,则 Port Query 会收到一个 TCP 连接复位段。如果是 UDP 端口,则 Port Query 会收到一条 ICMP Destination Unreachable-Port Unreachable(ICMP 目标无法访问-端口无法访问)消息。 |
• |
FILTERED Port Query 没有接收到对查询的响应。可能有进程在侦听端口,也可能没有。FILTERED 状态表明查询通信量可能已被中间防火墙丢弃。默认情况下,Port Query 会尝试对 TCP 端口查询三次,对 UDP 端口查询一次。 |
PPTP Ping(Pptpsrv.exe 和 Pptpclnt.exe)
PPTP Ping 是 Windows 2000 或 Windows Server 2003 支持工具中包含的两种工具(Pptpsrv.exe 和 Pptpclnt.exe)组成的一个工具集,位于 Windows 2000 或 Windows Server 2003 产品 CD-ROM 的 Support\Tools 文件夹中。安装支持工具后,Pptpsrv.exe 和 Pptpclnt.exe 便存储在 Windows 系统驱动器上的 Program Files\Support Tools 文件夹中。
PPTP Ping 可用于测试是否能够成功地在客户端和服务器计算机之间发送和接收点对点隧道协议 (PPTP) 通信量;点对点隧道协议通信量包括用于 PPTP 隧道维护的 TCP 端口 1723 通信量和 PPTP 隧道数据的用于通用路由封装 (GRE) 的 IP 协议 47 通信量。PPTP Ping 不验证是否可以建立成功的 PTPP 连接(这需要运行用户身份验证过程),只验证是否可以与指定的目标交换 PPTP 通信量。
对于 PPTP 通信量,问题通常是由筛选 GRE 通信量的防火墙造成的。若要解决这个问题,请配置您的防火墙以便将 GRE 通信量(IP 协议 47)转发到 VPN 服务器计算机。
Test TCP (Ttcp.exe)
Test TCP (Ttcp.exe) 是一种可用于在两个节点间侦听和发送 TCP 段数据或 UDP 消息的工具。Ttcp.exe 附带在 Windows Server 2003 中,位于 Windows Server 2003 产品 CD-ROM 的 Valueadd\Msft\Net\Tools 文件夹中。
Test TCP 与 Port Query 有以下不同:
• |
使用 Test TCP,您可以将计算机配置为侦听特定的 TCP 或 UDP 端口而无须在计算机上安装应用程序或服务。这允许您在服务就绪之前测试特定通信量的网络连接。例如,您可以在将一台计算机变为域控制器之前,使用 Test TCP 来测试到该计算机的域复制通信量。 |
• |
Test TCP 还支持 Internet 协议版本 6 (IPv6) 通信量。 |
侦听节点(接收节点)上的 Ttcp.exe 的基本语法如下:
ttcp -r –pPort (要侦听 TCP 端口)
ttcp –r –pPort–u (要侦听 UDP 端口)
发送节点(传送节点)上的 Ttcp.exe 的基本语法如下:
ttcp -t –pPort (要发送到 TCP 端口)
ttcp -t –pPort-u (要发送到 UDP 端口)
若要获得其他命令行选项,请在命令提示符下键入“ttcp”。
Ttcp.exe 只能侦听单个端口或向单个端口进行发送。若要将计算机配置为侦听多个端口,请在不同的命令提示符窗口中运行 Ttcp.exe。
常见通信量类型问题
防火墙阻止的那些会削弱 Windows 网络功能的最常见通信量类型有以下几种:
• |
Active Directory 域通信量 |
• |
DNS 通信量 |
• |
VPN 通信量 |
• |
ICMP 通信量 |
• |
其他通信量 |
Active Directory 域通信量
Active Directory 域通信量包括以下域操作:
• |
域控制器之间的 Active Directory 复制 |
• |
使用 Dcpromo.exe 工具进行的新域控制器的升级 |
• |
域登录 |
• |
域身份验证 |
• |
建立域信任关系 |
如何为域和信任关系配置防火墙这篇 Microsoft 知识库文章详细介绍了用于这些类型的域操作的通信量,这包括以下几种通信量:
• |
TCP 端口 135 用于远程过程调用 (RPC) 通信量 |
• |
TCP 端口 398 和 UDP 端口 389 用于 LDAP 通信量 |
• |
TCP 端口 636 用于 LDAP over Secure Sockets Layer (SSL) 通信量 |
• |
TCP 端口 3268 用于 LDAP 全局编录 (GC) 通信量 |
• |
TCP 端口 3269 用于 LDAP GC SSL 通信量 |
• |
TCP 端口 53 和 UDP 端口 53 用于 DNS 通信量 |
• |
TCP 端口 88 和 UDP 端口 88 用于 Kerberos 通信量 |
• |
TCP 端口 445 用于服务器消息块 (SMB)(亦称公共 Internet 文件系统 [CIFS])通信量 |
您可以使用 Portqry.exe 工具逐个测试各个端口上的域通信量的网络路径(如果域控制器已就位),也可以使用 Ttcp.exe 工具来侦听和发送域通信量(如果正在升级为域控制器的计算机还未完成升级)。
通过一次操作测试所有这些端口的最简单方法是使用 Portqueryui.exe 和“Domains and Trusts”预定义服务,它们默认情况下查询下列端口集合:
• |
TCP 端口 135(RPC 通信量) |
• |
TCP 端口 398 和 UDP 端口 389(LDAP 通信量) |
• |
TCP 端口 636(LDAP over SSL 通信量) |
• |
TCP 端口 3268(LDAP GC 通信量) |
• |
TCP 端口 3269(LDAP GC SSL 通信量) |
• |
TCP 端口 53 和 UDP 端口 53(DNS 通信量) |
• |
TCP 端口 88 和 UDP 端口 88(Kerberos 通信量) |
• |
TCP 端口 445(SMB 通信量) |
• |
UDP 端口 137(网络基本输入/输出系统 [NetBIOS] 名称服务通信量) |
• |
UDP 端口 138(NetBIOS NetLogon and Browsing 通信量) |
• |
TCP 端口 139(NetBIOS 会话通信量) |
• |
TCP 端口 42(Windows Internet 名称服务 [WINS] 复制通信量) |
使用“Domains and Trusts”预定义服务查询的端口集合包括 如何为域和信任关系配置防火墙这篇 Microsoft 知识库文章中列出的所有端口。
DNS 通信量
要测试 DNS 通信量,您可以使用以下方法:
• |
使用以下语法的 Portqry.exe: portqry -n DNS_server_name_or_IP_address –p BOTH –e 53 您也可以在 Portqry.exe 交互命令提示符下使用 q dns 快捷方式命令。 |
• |
使用 Portqueryui.exe 和“Networking”预定义服务,该服务查询 DNS 和其他网络协议。 |
VPN 通信量
要使用 PPTP Ping 测试基于 PPTP 的 VPN 通信量,请执行以下操作:
1. |
在 VPN 服务器计算机上: 如有必要,使用“Routing and Remote Access”或“Services”管理单元来停止“Routing and Remote Access”服务。此步骤可确保 Pptpsrv.exe 能够使用 TCP 端口 1723 和 IP 协议 47。 运行 Pptpsrv.exe。 |
2. |
在 VPN 客户端计算机上: 使用以下语法运行 Pptpclnt.exe: pptpclnt.exe servername_or_IP_Address 收到提示后,键入要发送到 VPN 服务器计算机的一些文本,然后按 ENTER。 |
如果能够成功地在 VPN 服务器和 VPN 客户端计算机之间交换 PPTP 通信量,则 VPN 服务器计算机上的 Pptpsrv.exe 将显示由 VPN 客户端计算机发送的文本,并显示五条 GRE 消息的交换。如果不成功,Pptpsrv.exe 将指明何种类型的 PPTP 通信没有成功。
如果您使用一个站点到站点 VPN 连接(亦称路由器到路由器 VPN 连接)来连接您的组织的两个站点,且两台路由和远程访问服务器计算机都能够发起该 VPN 连接,请再次使用以上过程,但颠倒两台计算机的角色。因为任一服务器计算机都能够发起连接,所以您必须确保这两台服务器都能够充当 VPN 客户端和 VPN 服务器。
ICMP 通信量
ICMP 通信量被协议堆栈组件、系统服务和应用程序用于各种网络功能。下面是一些使用 ICMP 通信量的 Windows 网络功能的示例。
• |
若要确定到 Active Directory 域控制器的链路是快速链路还是慢速链路以便下载组策略设置,Active Directory 客户端可发送 ICMP Echo 消息。 |
• |
若要自动确定两个对等方之间的路径最大传输单位 (PMTU),Windows TCP/IP 堆栈可使用接收的 ICMP Destination Unreachable-Fragmentation Needed 和 Don\’t Fragment Set 消息。有关详细信息,请参阅 2004 年 7 月的“网络专家”专栏文章 Path Maximum Transmission Unit (PMTU) Black Hole Routers(路径最大传输单位 (PMTU) 黑洞路由器)。 |
在这两种情况下,您都可以使用 Ping 工具测试那些阻止 ICMP 通信量的中间防火墙。
其他通信量
对于其他类型的通信量,您可以使用以下方法:
• |
使用 Portqry.exe 在命令行下分别指定各个端口或者在交互模式下使用快捷方式。 |
• |
使用 Portqueryui.exe 分别指定各个端口或使用预定义的服务。 |
• |
使用 Ttcp.exe 来设置侦听和发送节点。 |
有关 Windows 应用程序和服务使用的 TCP 和 UDP 端口的信息,请参阅 TCP and UDP Port Assignments(TCP 和 UDP 端口分配)或查询 Microsoft 知识库。