10.1
ISA Server 的故障排除工具
要检查出ISA Server 中的连接、安全和服务等方面的故障,您必须全面了解所有可用的网络故障排除工具。这些故障排除工具包括ISA Server指定的特性,TCP/IP命令以及Windows2000实用程序。本节介绍了其中的部分工具,并详细讨论了如何使用这些工具来诊断和修复ISA Server安装过程中出现的错误。
本节学习目标
l
使用一些工具来排除ISA Server 错误
l
验证和修改路由表
l
使用Netstat和Telnet验证端口状态
估计学习时间:45分钟
10.1.1
故障排除工具
如果在ISA Server 安装中出现了意外的故障,此时就可以利用故障排除工具来确定故障原因。根据要排除的故障的类型,可以组合使用下列故障排除工具:
l
ISA Server 报告
l
事件查看器
l
性能监视器
l
Netstat
l
Telnet
l
网络监视器
l
路由表
10.1.1.1 ISA Server 报告
作为故障排除的第一步,ISA Server报告非常有用。这些报告可以单个或一起查看来找出造成性能问题的原因。例如,如果用户抱怨Web性能缓慢,可以先检查通信和使用Traffic and Utilization报告文件中的缓存性能报告。如图 10.1所示。然而,即使报告说明缓存单击率很低,还是应当参照其他报告来决定Web响应缓慢是否由于缓存使用不够充分造成的。如果禁用了活动缓存,且如果没有安排下载作业,ISA Server就不能从缓存中频繁地检索HTTP请求,终端用户就会遇到网络性能缓慢的问题。不过,如果报告说明缓存利用率很高,响应缓慢则是由于网络饱和造成的,而网络饱和可能是由于下载作业太频繁或TTL参数设置太短造成的。
注意
因为缓存点击率低造成的网络性能差可以通过在工作时间以外的时间配置更频繁或更广泛的下载作业,或者是延长Cache Configuration Properties对话框中的TTL参数来改进。
10.1.1.2 事件查看器
在排除与ISA Server服务功能相关的错误时,可以利用Microsoft Windows 2000事件查看器。Windows2000事件查看器显示了ISA Server服务生成的所有事件消息。这些消息可能是警报、错误通知,或者只是个报告。当发现了要进行故障排除的服务所报告的特殊事件消息时,双击它,记下它的事件ID。利用事件ID,就可以查找ISA Server帮助或本书附录C,学习其中推荐的方法来补救与事件消息相关的问题。
10.1.1.3 性能监视器
ISA Server性能监视器对解决与网络使用、硬件、配置相关的问题很有帮助。例如,在确定缓存性能缓慢的原因时,可能会发现%Disk Time很高。另外,如果Disk Bytes/sec计数器指示的往返磁的数据传输率很低,您可能会添加新磁盘来改进缓存性能。另一方面,如果Disk Bytes/sec读数不低于正常值,但Pages/sec计数器指示的页失误率很高,您可能通过增加系统的物理内存的数量或者提高用于缓存的物理内存百分比来改进缓存性能。
使用ISA Server性能监视器成功地排除故障,要在问题发生之前建立计数器基准。这样,发现某个计数器的值明显地偏离它的基准时,您可以确定某个特殊的系统单元出现了问题。
10.1.1.4 Netstat
Netstat是一个命令行工具。它可以用来排除安全和连接问题。在命令行中输入netstat,就可以检查ISA Server计算机的端口配置以及查看进出计算机的连接。
注意
TCP和UDP中使用端口来命名逻辑连接终端。端口号从0到65535,分成以下3种:熟知端口、注册端口、动态/或专用端口。熟知端口从0到1023,注册端口从1024到49151,动态/或专用端口从49151到65535。相关更多详细信息,请参考Web站点
http://www.idi.edu/in-notes/ assignments/port-numbers
上的端口数。
利用Netstat命令-a选项,可以接受到所有活动连接和侦听端口的输出信息。使用-n选项时,地址和端口号不转换成字符名称。这样就可将ISA Server计算机上的外部和内部IP的连接区别开来,并可确定在某个特殊接口上在任何给定时间哪个端口是开放的。可以通过比较-an和-a选项可以知道在哪个特殊端口上哪个服务是活动的。用-p TCP或-p UDP选项指定一个特殊的协议可以限定netstat -an的输出。例如,Netstat ?an ?p TCP命令将打印所有活动TCP连接和侦听端口的输出信息。Netstat ?an ?p UDP命令将只打印UDP端口状态的输出信息。
此外,了解端口配置可以检查连接问题、端口冲突和安全漏洞。例如,如果连接不到远程服务器,netstat输出信息可能确定这不是本地网络的问题,而是远程计算机拒绝连接请求。同时,每一次连接时,还可以确认本地机是否收到TCP重置或ICMP Port Unreachable数据包的信息。
最后,Netstat可以用来诊断对系统的攻击。例如, SYN攻击通过创建大量的半公开TCP连接从而使服务器瘫痪。在这种情况下,外部地址通常是一个伪地址,并且有以增量方式增加的端口号。因此,根据SYN攻击的这一显著特性,可以从下面的netstat输出信息里把它识别出来。
c:\net stat -a
c:\netstat -n -p TCP
Active Connections
Proto
Local Address
Foreign Address
State
TCP
127.0.0.1:1030
127.0.0.1:1032
ESTABLISHED
TCP
127.0.0.1:1032
127.0.0.1:1030
ESTABLISHED
TCP
10.1.1.5:21
192.168.0.1:1025
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1026
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1027
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1028
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1029
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1030
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1031
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1032
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1033
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1034
SYN-RECEIVD
TCP
10.1.1.5:21
192.168.0.1:1035
SYN-RECEIVD
10.1.1.5 Telnet
在Telnet命令后面指定端口号,可以测试服务器是否通过此端口接收命令。例如,在运行Netstat -an -p TCP 命令后,发现端口3149是用来侦听传入请求的。然后,在命令行中输入telnet external_ip_address 3149,可以确定ISA Server是否允许用户telnet到该端口。这里external_ip_Address指分配给ISA Server计算机的公共IP地址。如果返回的是空白屏幕或者不是连接失败的响应输出,那么理论上外部用户直接输入服务命令就可以和位于该端口的服务通信。注意,通常此状态并不能说明存在安全漏洞,但如果给定服务存在安全弱点的话,黑客通常会用Telnet来开发这些弱点。
Telnet还可以用来断定计算机上的服务是否活动的。例如, 如果能Telnet ISA Server计算机的端口25,说明SMTP服务正在运行,且对外部用户是可访问的。如果要阻止外部用户访问SMTP服务,您可以选择来改正该情形。您可以通过关掉此项服务,可以验证启动了ISA Server上的数据包过滤作用,可以且/或确保ISA Server上没有启动允许入站通信通过端口25的IP数据数据包筛选器。另一方面,如果要发布服务器并测试外部访问,您可能想Telnet连接到服务的端口,来看它是否接受连接。例如,如果在ISA Server计算机的端口9999发布Web服务器,可以输入telnet external_ip_Address 9999来确定能连接到该端口。
10.1.1.6 网络监视器
网络监视器或Netmon是用来捕获与显示Windows2000从局域网接收的帧内容的工具。为了简化网络通信分析,网络监视器分化组合了40个常用的网络协议。这意味对大多数网络通信而言,网络监视器实际上显示了与网络会话相关的所有信息,包括源和目的端口和地址、服务器响应、有效通信等。
下面是来自网络监视器跟踪文件或捕获的帧内容示例:
Network Monitor trace Wed 03/07/2001 08:55:17 AM Capture1.TXT
+Frame: Base Frame Properties
+ETHERNET:ETYPE=Ox0800:protocol:IP:DOD Internet Protocol
+IP:IP=0xAD6;Proto=TCP;Len:327
+TCP:AP...,len:287.Seq:3184161250.3184161537,ack:4040781620,win:17520,src:1225 dst:80
+HTTP:GET Request (from client using port 1225).
对于显示的每一幅帧,它所包含的封装协议按照从帧的外部到内部,或者从联网的角度看,从最低层向上的顺序排列。单击每一行的+号,可以显示给定协议的更多信息。第1行,称为Frame,是网络监视器添加的介绍所捕获的帧。第2行显示将帧放到网络上的数据链路层协议(在此例中,为Ethernet)。此类协议代表了此帧中最低层协议,并与OSI模型的第2层对应。接下来是网络层协议或者