您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 【LAN】网络故障诊断脚本
网络故障诊断代码及诊断原理由于错误之处在所难免,而文档又不能自行修改,所以给出代码更新地址讨论地址:=51117&fpage=1一、诊断代码@echooff&setlocalenabledelayedexpansiontitle%~n0.codebyrs+2010.5.3set/alast_flag=1::首先判断物理连接是否正常.echo[零]判断物理连接是否正常.ipconfig/all2nul|find/iMediadisconnectednul2nul&&(echo.&echo请检查物理连接.....&pausenul)||(echo----ok.)::启动本地连接或重启本地连接echo.&echo[一]启动本地连接中......setnum=0for/ftokens=2delims=\%%kin('devconlistclassnet^|find/inet')do(if!num!equ0setdeviceinfo=%%kset/anum+=1)setnum1=0for/L%%jin(0,1,22)do(if!num1!LSS2(setdevicevar=!deviceinfo!setstr=!devicevar:~0,1!setdevicevar=!devicevar:~1!if!str!==&(set/anum1+=1)set/atotal+=1))set/atotal=!total!-1setdeviceinfo=!deviceinfo:~0,17!devconstatuspci\!deviceinfo!*|find/idisablednul&&(devconenablepci\!deviceinfo!*nul&netshwinsockresetnul&ping-w1000-n10127.1nul)echo----ok.::判断本地连接是否受限echo.&echo[二]判断本地连接是否受限.ipconfig/all|find/i169.254nul2nul&&(set/alocalconn=0)||(set/alocalconn=1)if!localconn!equ0(ipconfig/releasenul2nulipconfig/renewnul2nulping-w1000-n6127.1nulipconfig/all|find/i169.254nul2nul&&(set/alocalconn=0)||(set/alocalconn=1))if!localconn!equ0(echo.&echo本地连接可能受限.并请先检查交换机接口是否松动...echo请确认交换机接口没有松动^!按任意键继续...pausenulecho执行一系列修复命令.....echo1重新启动本地连接...devconrestartpci\!deviceinfo!*nulecho2重置tcp/ip协议组件到干净状态...netshintipresetc:\123.txtecho3重置winsock...netshwinsockresetnulecho4重新获取ip...ipconfig/renewnulecho5清除地址缓存信息...arp–d*nulecho6清空NetBIOS缓存内容...nbtstat-Rnulecho7清空本地计算机DNS缓存...ipconfig/flushdnsnulecho8WINS服务器上重新注册本地计算机...nbtstat-RRnulecho9DNS服务器上重新注册本地计算机...ipconfig/registerdnsnul)else(echo----ok.)echo.&echo[三]层次化的测试.echo.&echo1,判断本地网卡是否工作正常.ping-w10-n1127.1|find/itimedoutnul&&(echo.&echo网卡不能正常工作.&set/alast_flag=0&gototest)||(echo----ok.)::判断ip地址是否合法(如果为手动设置的话)echo.echo2,判断ip地址设置是否正确.::获取ip地址,网关地址.for/ftokens=2delims=:%%iin('ipconfig/all^|find/iIPAddress')do(setipaddr=%%isetipaddr=!ipaddr:~1,-1!)for/ftokens=2delims=:%%iin('ipconfig/all^|find/iDefaultGateway')do(setgateway=%%isetgateway=!gateway:~1,-1!)setsubnetID=!gateway:~0,-1!set/acounter=0ipconfig/all2nul|find/Iyesnul&&(set/aflag=1)||(set/aflag=0)if!flag!equ0(::判断ip地址是否合法,通过ping测试.echo!ipaddr!|find/i!subnetID!nul&&(set/aflag=1)||(set/aflag=0)if!flag!equ0(echo本地ip地址与网关地址不匹配.改变设置中......netshinterfaceipsetaddress本地连接dhcpnulnetshinterfaceipsetdns本地连接dhcpnul)else(for/ftokens=2delims=:%%ain('ipconfig/all^|findSubnetMask')do(setmask=%%asetmask=!mask:~1,-1!ifNOT!mask!==255.255.255.0(set/aflag=0)else(echo+掩码检查----ok.))setsubnetid=!gateway:~0,-2!for/L%%jin(1,5,254)do(ping-w10-n1!subnetid!.%%jnul2nulif!ERRORLEVEL!EQU0(set/acounter+=1))ping-w10-n1!ipaddr!nul2nulif!ERRORLEVEL!EQU0(set/acounter+=1)if!counter!GEQ2(if!flag!equ0(echo+子网掩码不是24位,可能不正确.但本地网络正常.)else(echo+手动配置ip地址有效----ok.))else(echo+请检查ip地址是否有误.&set/alast_flag=0&set/aflagip=0)))else(echo----ok.&set/aflag=1&set/aflagip=1)::进行网关测试echo.&echo3,进行网关测试.if!flagip!equ1(ping-w30-n3!gateway!nul2nul&&(echo----ok.)||(echo+网关:!gateway!没有回应.&set/alast_flag=0))else(echo+e跳过此步.)echo.&echo4,判断DNS是否正常工作(用测试).if!flagip!equ1(nslookup|find/itimedoutnul2nul&&(echo.&echoDNS服务器不能正确解析域名.&setflag=0&set/alast_flag=0)||(echo----ok.&set/aflag=1))else(echo+e跳过此步.)echo.&echo5,检查DNS服务器地址.ipconfig/all|find/iDNSServersnul&&(set/aflag=1)||(set/aflag=0&set/alast_flag=0)if!flag!equ0(echoDNS地址没有正确获取.改变设置中.....netshinterfaceipsetaddress本地连接dhcpnulnetshinterfaceipsetdns本地连接dhcpnulecho设置完成.)else(echo----ok.)echo.&echo6,判断是否能够访问Internet.ping-n3!errorlevel!NEQ0(echo+不能连接到Internet.if!flagip!equ1(echo路由测试中,请耐心等待...&echo.set/alast_flag=0for/fskip=4tokens=*%%ain('tracert-d-h5)do(set/acounter+=1if!counter!LEQ5(echo%%a)elsegototest)))else(echo----ok.):testecho.if!last_flag!EQU1(echo[+ok]没有发现任何异常,本地连接正常,各种设备工作正常.)else(echo[+]测试完成,发现异常.)pausenul二、诊断原理:来自MicrosoftTCP/IP故障排除本章介绍如何使用Microsoft®WindowsServer™2003和Windows®XP中随附的一套工具和功能来排除与连通性、名称解析及传输控制协议(TCP)会话创建相关的故障。网络管理员必须了解如何就TCP/IP模型的不同层来系统分析与TCP/IP相关的联网问题,以及如何使用适当的工具来有效隔离和解决在通过TCP/IP网络成功通信时遇到的问题。本页内容本章目标确定故障来源Windows故障排除工具IPv4故障排除IPv6故障排除本章摘要本章术语表本章目标读完本章后,您将能够:•列出故障排除时要询问的常见问题。•列出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中所列。表16-1TCP/IP故障排除工具和服务工具说明Arp用于查看和编辑地址解析协议(ARP)缓存。表16-1TCP/IP故障排除工具和服务工具说明Hostname显示计算机的主机名。Ipconfig显示IPv4和IPv6的当前TCP/IP配置。还用于管理动态主机配置协议(DHCP)分配的IPv4地址配置、显示或刷新DNS客户端解析器缓存及注册DNS名称。Nbtstat显示基于TCP/IP的NetBIOS(NetBT)配置,并允许管理NetBIOS名称缓存。Netsh适用于许多网络服务的配置工具。对于每一项网络服务,都存在包含特定于该服务的命令的上下文。对于netshinterfaceip和netshinterfaceipv6上下文,显示和管理本地计算机或远程计算机上的TCP/IP协议设置。Netstat显示当前TCP连接的协议统计信息和其
本文标题:【LAN】网络故障诊断脚本
链接地址:https://www.777doc.com/doc-698567 .html