LAN网络故障诊断脚本.docx
- 文档编号:3319127
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:23
- 大小:29.68KB
LAN网络故障诊断脚本.docx
《LAN网络故障诊断脚本.docx》由会员分享,可在线阅读,更多相关《LAN网络故障诊断脚本.docx(23页珍藏版)》请在冰豆网上搜索。
LAN网络故障诊断脚本
网络故障诊断代码及诊断原理
由于错误之处在所难免,而文档又不能自行修改,所以给出代码更新地址
讨论地址:
一、诊断代码
二、诊断原理:
来自MicrosoftTCP/IP故障排除
本章介绍如何使用Microsoft?
WindowsServer?
2003和Windows?
XP中随附的一套工具和功能来排除与连通性、名称解析及传输控制协议(TCP)会话创建相关的故障。
网络管理员必须了解如何就TCP/IP模型的不同层来系统分析与TCP/IP相关的联网问题,以及如何使用适当的工具来有效隔离和解决在通过TCP/IP网络成功通信时遇到的问题。
本页内容
本章目标
读完本章后,您将能够:
?
列出故障排除时要询问的常见问题。
?
列出WindowsServer2003和WindowsXP随附的一组TCP/IP故障排除工具,并说明如何使用每种工具来获取故障排除信息。
?
列出并介绍用于排除Internet协议版本4(IPv4)通信故障(包括IPv4连通性、IPv4地址的域名系统(DNS)名称解析、网络基本输入/输出系统(NetBIOS)名称解析以及基于IPv4的TCP会话)的指导原则、工具和技术。
?
列出并介绍用于排除Internet协议版本6(IPv6)通信故障(包括IPv6连通性、IPv6地址的DNS名称解析以及基于IPv6的TCP会话)的指导原则、工具和技术。
确定故障来源
逻辑方法对于排除任何故障都会有所帮助。
故障排除时要询问的一些常见问题包括:
?
什么起作用?
?
什么不起作用?
?
起作用和不起作用的事件如何相关?
?
不起作用的事件是否曾经起过作用?
?
如果是这样,则自上次起作用以来做了什么更改?
从上述问题的答案中,您能够确定开始排除故障的项目,从而您能够隔离引发故障的组件、层或配置问题。
Windows故障排除工具
WindowsServer2003和WindowsXP提供了一整套可用于排除TCP/IP故障的配置、管理及诊断工具和服务,如表16-1中所列。
工具
说明
Arp
用于查看和编辑地址解析协议(ARP)缓存。
Hostname
显示计算机的主机名。
Ipconfig
显示IPv4和IPv6的当前TCP/IP配置。
还用于管理动态主机配置协议(DHCP)分配的IPv4地址配置、显示或刷新DNS客户端解析器缓存及注册DNS名称。
Nbtstat
显示基于TCP/IP的NetBIOS(NetBT)配置,并允许管理NetBIOS名称缓存。
Netsh
适用于许多网络服务的配置工具。
对于每一项网络服务,都存在包含特定于该服务的命令的上下文。
对于netshinterfaceip和netshinterfaceipv6上下文,显示和管理本地计算机或远程计算机上的TCP/IP协议设置。
Netstat
显示当前TCP连接的协议统计信息和其他信息。
Nslookup
执行DNS查询并显示结果。
Ping
发送InternetControlMessageProtocol(ICMP)Echo或InternetControlMessageProtocolforIPv6(ICMPv6)EchoRequest消息以测试可访问性。
Route
允许查看IPv4和IPv6路由表,还允许编辑IPv4路由表。
Tracert
发送ICMPEcho或ICMPv6EchoRequest消息以追踪IPv4或IPv6数据包到指定目标所采用的网络路由。
Pathping
发送ICMPEcho或ICMPv6EchoRequest消息以追踪IPv4或IPv6数据包到目标所采用的路由,并显示路径中每个路由器和链路上数据包丢失方面的信息。
SNMP服务
向简单网络管理系统(SNMP)管理系统提供状态和统计信息。
EventViewer
记录错误和事件。
PerformanceLogsandAlerts
记录TCP/IP核心协议性能,并发送警报(必须安装SNMP服务)。
NetworkMonitor
捕获和显示运行WindowsServer2003的计算机所收到和发送的TCP/IP数据包的内容。
Netdiag
在联网组件上运行一系列诊断测试。
Netdiag作为WindowsXP和WindowsServer2003支持工具的一部分安装,位于WindowsXP或WindowsServer2003产品光盘的Support\Tools文件夹中。
Telnet
测试两个节点之间的TCP连接建立。
Ttcp
侦听和发送两个节点之间的TCP段数据或UDP消息。
Ttcp.exe随WindowsServer2003提供,位于WindowsServer2003产品光盘的Valueadd\Msft\Net\Tools文件夹中。
IPv4故障排除
以下各节介绍用于确定正在使用IPv4Internet层的TCP/IP协议堆栈的各连续层中存在的故障的工具和技术。
请根据故障类型,相应地采用以下顺序之一:
?
从堆栈底部开始向上移动。
?
从堆栈顶部开始向下移动。
以下各节按照从堆栈顶部开始的顺序组织,介绍了以下内容:
?
如何验证IPv4连通性。
?
如何验证IPv4地址的DNS名称解析。
?
如何验证NetBIOS名称解析。
?
如何验证基于IPv4的TCP会话。
虽然没有在以下各节中指出,但您也可以使用NetworkMonitor捕获IPv4通信,以排除基于IPv4的TCP/IP通信中存在的许多故障。
NetworkMonitor随MicrosoftSystemsManagementServer提供,是WindowsServer2003的可选网络组件。
不过,为了正确解释NetworkMonitor中IPv4数据包的显示,您必须具备关于每个数据包中包含的协议的高深知识。
验证IPv4连通性
可使用以下任务排除与IPv4连通性相关的故障:
?
修复连接
?
验证配置
?
管理配置
?
验证可访问性
?
查看和管理IPv4路由表
?
验证路由器可靠性
修复连接
可利用“网络连接修复”功能,在尝试更正常见配置故障时快速恢复IPv4网络连接设置。
“网络连接修复”会执行一系列尝试恢复连接的任务,就象刚刚初始化一样。
要访问“网络连接修复”,请执行以下操作:
1.
单击“开始”,再单击“控制面板”,然后双击“网络连接”。
2.
右键单击要修复的连接,然后单击“修复”。
也可在网络连接的状态的“支持”选项卡上单击“修复”。
“网络连接修复”执行的任务包括:
?
检查DHCP是否启用,如果启用,则发送广播DHCPRequest消息刷新IPv4地址配置。
?
刷新ARP缓存。
这相当于使用arp-d*命令。
?
刷新DNS客户端解析器缓存,然后使用Hosts文件中的条目重新加载。
这相当于使用ipconfig/flushdns命令。
?
使用DNS动态更新重新注册DNS名称。
这相当于使用ipconfig/registerdns命令。
?
刷新NetBIOS名称缓存,然后使用Lmhosts文件中的#PRE条目重新加载。
这相当于使用nbtstat-R命令。
?
释放后向WindowsInternet名称服务(WINS)重新注册NetBIOS名称。
这相当于使用nbtstat-RR命令。
验证配置
要检查当前IPv4设置的地址配置是否正确(手动配置时)或者是否适当(自动配置时),您可以使用:
?
ipconfig/all
ipconfig/all命令会显示IPv4地址、默认网关以及所有接口的DNS设置。
Ipconfig工具仅适用于本地计算机。
?
netshinterfaceipshowconfig
netshinterfaceipshowconfig命令显示每个接口的DNS和WINS服务器。
通过使用–rRemoteComputerName命令行选项,Netsh还可用来显示远程计算机的配置。
例如,要显示名为FILESRV1的远程计算机的配置,请使用netsh–rfilesrv1interfaceipshowconfig命令。
?
网络连接上“状态”对话框中的“支持”选项卡
要获得某网络连接的状态,请在“网络连接”文件夹中双击该连接,然后单击“支持”选项卡。
“支持”选项卡将列出地址类型(DHCP或手动配置)、IPv4地址、子网掩码和默认网关。
单击“支持”选项卡上的“详细信息”显示介质访问控制(MAC)地址、DHCP租约信息、DNS服务器和WINS服务器。
管理配置
要更改IPv4地址配置,可使用:
?
“网络连接”文件夹
在“网络连接”文件夹中,可对相应网络连接的Internet协议(TCP/IP)组件的属件进行更改。
?
netshinterfaceipset命令
可使用netshinterfaceipsetaddress命令配置地址类型(DHCP或手动配置)、IPv4地址、子网掩码和默认网关。
可使用netshinterfaceipsetdns命令配置DNS服务器地址的来源(DHCP或手动配置)、DNS服务器地址和DNS注册行为。
可使用netshinterfaceipsetwins命令配置WINS服务器地址的来源(DHCP或手动配置)和WINS服务器地址。
也可使用Netsh工具的–rRemoteComputerName命令行选项来管理远程计算机的IPv4配置。
?
Ipconfig命令管理DHCP地址
可使用以下命令管理DHCP地址:
?
ipconfig/release
?
ipconfig/renew
?
ipconfig/showclassid
?
ipconfig/setclassid
有关使用Ipconfig命令管理DHCP地址配置的详细信息,请参阅第6章,“”。
验证可访问性
要验证本地或远程目标的可访问性,请尝试执行以下操作:
?
检查和刷新ARP缓存
要显示ARP缓存的当前内容,请使用arp–a命令。
要刷新ARP缓存,请使用arp–d*命令。
此命令还会删除静态ARP缓存条目。
?
Ping默认网关
使用Ping工具ping默认网关的IPv4地址。
您可从ipconfig、netshinterfaceipshowconfig或routeprint命令的显示内容中获得默认网关的IPv4地址。
Ping默认网关用于测试您是否能访问本地节点以及是否能访问默认网关,默认网关用于将IPv4数据包转发到远程节点。
如果默认网关正在筛选所有ICMP消息,则此步操作可能不会成功。
?
Ping远程目标的IPv4地址
如果能够ping默认网关,请ping远程目标的IPv4地址。
如果该远程目标正在筛选所有ICMP消息,则此步操作可能不会成功。
筛选ICMP消息是Internet上的一项常见操作。
?
追踪至远程目标的路由
如果无法ping远程目标的IPv4地址,则可能是您的节点与目标节点之间存在路由问题。
使用tracert–dIPv4Address命令追踪至远程目标的路由路径。
–d命令行选项可防止Tracert工具对路由路径中的每个近端路由器接口执行DNS反向查询,这样可以加快路由路径的显示速度。
如果中间路由器或目标正在筛选所有ICMP消息,则此步操作可能不会成功。
筛选ICMP消息是Internet上的一项常见操作。
检查数据包筛选
无法访问目标节点可能是源节点、中间路由器或目标节点上Internet协议安全性(IPsec)或数据包筛选的配置所造成,从而阻止数据包的发送、转发和接收。
在源节点上检查是否有以下几项:
?
带有IP安全监视器管理单元的活动IPsec策略
?
对于运行WindowsServer2003的计算机,路由接口上有带有“路由和远程访问”管理单元的“路由和远程访问”IPv4数据包筛选器
在运行WindowsXP的中间IPv4路由器上检查是否包含以下内容:
?
带有IP安全监视器管理单元的活动IPsec策略
在运行WindowsServer2003和“路由和远程访问”的中间IPv4路由器上检查是否有以下几项:
?
带有IP安全监视器管理单元的活动IPsec策略
?
路由接口上有带有“路由和远程访问”管理单元的“路由和远程访问”IPv4数据包筛选器
?
“路由和远程访问”的“NAT/基本防火墙”路由协议组件
在第三方硬件供应商提供的中间IPv4路由器或防火墙上,检查是否配置了数据包筛选器(也称为访问列表)以及是否配置了IPsec策略和筛选器。
在运行WindowsXP或WindowsServer2003的目标节点上检查是否有以下几项:
?
带有IP安全监视器管理单元的活动IPsec策略
?
是否启用了Internet连接防火墙或Windows防火墙
?
TCP/IP筛选
在运行WindowsServer2003和“路由和远程访问”的目标节点上检查是否有以下几项:
?
带有IP安全监视器管理单元的活动IPsec策略
?
路由接口上有带有“路由和远程访问”管理单元的“路由和远程访问”IPv4数据包筛选器
?
“路由和远程访问”的“NAT/基本防火墙”路由协议组件
?
是否启用了Internet连接防火墙或Windows防火墙
?
TCP/IP筛选
有关IPsec和数据包筛选组件的详细信息,请参阅第13章,“”。
查看和管理本地IPv4路由表
无法访问本地或远程目标可能是由于IPv4路由表中的路由不正确或缺失。
要查看IPv4路由表,请使用routeprint或netstat–r命令。
验证您是否拥有与本地子网相对应的路由和默认路由(如果配置了默认网关)。
如果有多个具有相同最低跃点数的默认路由,则请更改IPv4配置,以保证仅存在一个默认路由,且使用的接口连接到子网数最多的网络(如Internet)。
要将某个路由添加到IPv4路由表,请使用routeadd命令。
要修改现有路由,请使用routechange命令。
要删除现有路由,请使用routedelete命令。
验证路由器可靠性
如果怀疑路由器性能存在问题,请使用pathping–dIPv4Address命令追踪数据包到目标所采用的路由,并显示路径中每个路由器和链路的数据包丢失信息。
–d命令行选项可防止Pathping工具对路由路径中的每个近端路由器接口执行DNS反向查询,这样可以加快路由路径的显示速度。
验证IPv4地址的DNS名称解析
如果使用IPv4地址能够访问,但使用主机名不能访问,则可能是主机名解析存在问题,这通常是DNS客户端的配置出了问题或DNS注册出了问题。
可使用以下任务排除DNS名称解析中存在的故障:
?
验证DNS配置
?
显示和刷新DNS客户端解析器缓存
?
使用Ping工具测试DNS名称解析
?
使用Nslookup工具查看DNS服务器响应
验证DNS配置
在存在DNS名称解析故障的节点上验证以下内容:
?
主机名
?
主DNS后缀
?
DNS后缀搜索列表
?
连接特定的DNS后缀
?
DNS服务器
可从ipconfig/all命令的显示内容中获得这些信息。
要获得关于应在DNS中注册哪些DNS名称的信息,请使用netshinterfaceipshowdns命令。
要将相应的DNS名称注册为IPv4地址资源记录(也称为A资源记录)并伴随着DNS动态更新,请使用ipconfig/registerdns命令。
显示和刷新DNS客户端解析器缓存
TCP/IP会在发送DNS名称查询前检查DNS客户端解析器缓存。
如果名称的缓存条目为正,则使用相应的IPv4地址。
如果名称的缓存条目为负,则不发送DNS名称查询。
要显示DNS客户端解析器缓存的内容,请使用ipconfig/displaydns命令。
要刷新DNS客户端解析器缓存的内容,然后用Hosts文件中的条目重新加载,请使用ipconfig/flushdns命令。
使用Ping测试DNS名称解析
要测试DNS名称解析,请使用Ping工具ping目标的主机名或完全限定的域名(FQDN)。
Ping工具画面将显示FQDN及其已解析的IPv4地址。
如果使用Ping工具的主机同时使用IPv4和IPv6,且DNS查询同时返回IPv4和IPv6地址,则Ping工具将使用IPv6地址,而非IPv4地址。
要强制Ping工具使用IPv4地址,请使用–4Ping命令选项。
使用Nslookup工具查看DNS服务器响应
如果Ping工具使用的是错误的IPv4地址,请使用ipconfig/flushdns命令刷新DNS客户端解析器缓存,然后使用Nslookup工具确定在“DNS名称查询响应”消息中返回的地址集。
在Nslookup>提示符下,使用setd2命令来最大限度地显示有关DNS响应消息的信息。
然后,使用Nslookup查看所需的FQDN并显示DNS响应消息的详细内容。
在显示的DNS响应消息详细内容中查找A记录。
验证NetBIOS名称解析
如果使用IPv4地址能够访问,但使用NetBIOS名称不能访问,则可能是NetBIOS名称解析有故障,这通常是基于TCP/IP的NetBIOS配置存在问题或WINS注册存在问题。
可使用以下工具和任务排除与NetBIOS名称解析相关的故障:
?
验证NetBT配置
?
显示和重新加载NetBIOS名称缓存
?
使用Nbtstat测试NetBIOS名称解析
验证基于TCP/IP的NetBIOS配置
在存在NetBIOS名称解析故障的节点上验证以下内容:
?
NetBIOS计算机名称
?
NetBIOS节点类型
?
主WINS服务器
?
次WINS服务器
?
基于TCP/IP的NetBIOS是否禁用
可从ipconfig/all命令的显示内容中获得此信息。
要获得有关分配给各接口的NetBIOS范围ID的信息,请使用nbtstat-c命令。
要验证是否启用了Lmhosts查找,请检查WINS选项卡中是否存在Internet协议(TCP/IP)组件的高级属性。
要显示本地NetBIOS名称表,请使用nbtstat–n命令。
要显示远程计算机的NetBIOS名称表,请使用nbtstat–aComputerName或nbtstat–AIPv4Address命令。
要在WINS中释放然后重新注册节点的NetBIOS名称,请使用nbtstat-RR命令。
显示和重新加载NetBIOS名称缓存
请在发送WINS或广播名称查询前检查NetBIOS名称缓存。
如果存在已解析名称的条目,TCP/IP使用相应的IPv4地址。
要显示NetBIOS名称缓存的内容,请使用nbtstat-c命令。
要刷新NetBIOS名称缓存的内容,然后使用Lmhosts文件中的#PRE条目重新加载,请使用nbtstat-R命令。
使用Nbtstat测试NetBIOS名称解析
要测试NetBIOS名称解析,请使用nbtstat–aComputerName命令。
此命令将显示由其NetBIOS计算机名指定的计算机的NetBIOS名称表。
验证基于IPv4的TCP会话
如果可以访问和进行名称解析,但您无法与目标主机建立TCP会话,则请使用以下任务:
?
检查是否有数据包筛选
?
验证TCP会话建立情况
?
验证NetBIOS会话
检查是否有数据包筛选
正如先前在本章的“验证IPv4通信”部分所论述的那样,源节点、中间路由器和目标节点上的数据包筛选会阻止TCP会话的完成。
使用本章中“验证IPv4通信”部分的信息来检查源节点、中间路由器和防火墙以及目标节点上是否有数据包筛选或IPsec策略。
在很多情况下,数据包筛选被配置为允许特定类型的通信而丢弃所有其他通信,或者是丢弃特定类型的通信而接受所有其他通信。
对于前一种情况,举例来说,防火墙或Web服务器可能被配置为仅允许超文本传输协议(HTTP)通信而丢弃为Web服务器指定的所有其他通信。
这意味着您能够在Web服务器上查看网页,但不能pingWeb服务器或访问它的共享文件夹和文件。
验证TCP会话建立情况
要验证使用已知的目标TCP端口号是否能建立TCP连接,您可以使用telnetIPv4AddressTCPPort命令。
如果Telnet工具成功地创建了TCP连接,命令提示窗口将会清空,然后根据协议显示一些文本。
此窗口允许您针对已连接的服务键入命令。
键入Control-C退出Telnet工具。
如果Telnet工具无法成功创建TCP连接,将显示消息“正在连接到IPv4Address...不能打开到主机的连接,端口为TCPPort:
连接失败”。
要测试TCP连接,您还可以使用“端口查询”,它是Microsoft提供的免费工具,旨在帮助排除特定类型TCP和UDP通信的TCP/IP连通性问题。
“端口查询”有命令行版本(Portqry.exe)(在(英文)中提供)和图形用户界面版本(Portqueryui.exe)(在(英文)中提供)。
这两个版本均可在基于Windows2000、WindowsXP和WindowsServer2003的计算机上运行。
可用来测试TCP连接建
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LAN 网络故障 诊断 脚本