ping局端服务器的服务器指哪个?

励志学习|病毒防护|软件技巧|故障解疑|菜鸟黑客|
文章收集于网络,希望对你我都有帮助。
每日更新,RSS全文输出,欢迎订阅
2007年05月29日
确保网络健康运行 网络测试原理及分类
作者:sanandi 来源:赛迪网技术社区
网络在迅猛发展,使用网络的用户也越来越多。随着用户对网络依赖程度的增加,网络的正常运行变得越来越重要。网络瘫痪已成为数据通信领域的关键问题,为确保网络正常运行,所有的故障必须快速有效地解决。而在网络***、维护、管理和故障诊断的整个过程中都贯穿着网络的测试问题。可以说,测试为网络的健康运行带来了有效的解决办法。
以太网测试
由于网络应用中越来越多的用到多媒体、视频以及图像传输等技术,所以网络的带宽需求非常紧张。当网络负载很轻时,信息传输的效率会比较高,当流量增长的很快时,碰撞就增加很多并使网络性能下降。一般来说网络性能都与网络上所连接的设备有关,以太网阻塞可能有以下几个原因。
少数高速网络设备网络上少数高速设备就可能消耗大量的网络带宽。例如繁忙的服务器或工程设计的工作站。
网络上的站点过多也就是希望分享带宽的用户太多,其效果和少数高速网络设备的结果一样。 网络中有加重网络流量的一些应用
用户之间的交互和文件的传输对网络有完全不同的需求。交互应用要求较低的延迟,而文件的传输要求较多的带宽和带宽的高利用率。
对带宽的需求是由多种原因造成的,使用交换机比使用集线器等设备可以更有效地解决阻塞问题。通过测试可以帮助用户确定网络性能下降的真正原因,从而对网络是否需要采用交换机以及如何使用交换机提供定量的帮助。例如,利用测试仪器的网络统计功能来检查网段的利用率、碰撞率以及错误率、广播流量的数量等。
如果高利用率是由于出错而反复发送造成的,则利用仪器的错误统计功能可以查出错误类型和来源。当考虑到要使用交换机时,知道引起高流量的来源是非常重要的。测试仪器的最多发送者和最多接收者的功能可以很容易而且很迅速地告之有关信息。根据这些信息就可以做出决定,比如哪个用户需要特别分配在一个特殊的交换端口。
此外知道有关协议运行的情况也是非常有帮助的。比如哪种协议运行的最多,与之相关站点和网络设备有那些等。有些厂商测试仪(如Fluke LANMeter网络测试仪)的数据记录功能以及网络健康扫描(Health Scan)软件可以对某个网段进行段时间(比如24小时)的监测记录,从而对网络的性能和运行情况作出基本评价。
利用仪器得出的信息,用户就可以决定是否需要使用交换机。理想的设计可能是每台设备都有一个路径与其它所需的设备直接相连。显然在当前的环境下这是不现实或很难实现的。所以小心合理地使用交换机才能够提高网络的性能。而只是简单地用交换机替代正在使用的集线器等设备不可能达到提高网络性能的目的。
越来越多的用户首先考虑使用交换机而不是采用路由器来分隔网络。但是,所***的交换机工作状况如何,交换机是否有故障,也就是如何测试交换机是一个问题。利用Switch Wizard(交换机测试包)功能,网络管理人员可以在网络的任何一个地方接入交换环境下的网络,通过SNMP和RMON信息,完全地看到交换器的内部情况。并可以同时监测多个交换机端口的统计情况,为任何一个指定端口提供镜像的广播统计和错误统计情况,端口的分析可识别出每个交换机端口上所连接的MAC地址。同时Switch Wizard还可以分析交换机中的快速以太网和FDDI的端口统计。上述这些功能在协议分析仪上是不可能做到的。在复杂的交换网络环境下,Switch Wizand可以极大地帮助网络管理人员维护与监测网络的运行情况。
ATM网络测试
ATM用户和业务提供者之间的铜介质接入电路质量差异很大,从接近光路的质量到只能传送语音业务,因此业务提供者一般对端到端的ATM连接规定所能保证的比特误码率(BER)。
数据检错和重发不再是广域网(WAN)如X.25的任务,而是由用户端的传输层来承担。它可以将32个ATM信元组成一个TCP/IP包,ATM信元中一个比特的错误就会导致两个完整的TCP/IP包或相当于64个ATM信元进行重发。对于有噪声的电路来说,将产生类似滚雪球的效果,重发的数据将导致站点间实际连接的阻塞。
传统的比特误码率测试(BERT)
当在用户驻地和业务提供者的网络边缘交换机之间增加新的接入连接时,将会采用铜缆或光缆。电缆路径将从用户机房的分界点到最近一个中心局的电缆架。电缆由本地交换局负责***,并进行物理媒介的验收测试以确保能够可靠地传输用户业务。本地交换局进行的测试称为比特误码率测试(BERT)。BERT测试可由***人员在用户驻地进行,或由技术人员在中心局进行。
进行测试之前,在电缆的一端进行收发环回,测试仪的收发接在电缆未做环回一端。测试仪发送连续的二进制随机码,通过电路的环回在接收口接收。测试仪将发送比特流与接收比特流进行比较,对比特错误(0变成1或1变成0)进行统计。RER是错误比特数和传输的全部比特数之比,通常BERT测试需要进行一段时间(15分钟至24小时)以获得具体的BER值。
ATM BERT测试
传统的BERT只在接入电路到第一个ATM边缘交换机之间的物理层进行。与此不同,ATM BERT测试在ATM层进行并且涉及到连接远端用户站点的整个虚电路。ATM BERT测试对端到端电路的可靠性做全面的认证检查。
测试仪发送的ATM信元净荷中载有一定的BERT码型。ATM交换机并不检查信元净荷的内容,这样BERT比特流将透明地通过公共TAM网络。如果操作人员正确输入了目的虚通道和虚电路的标识值,测试信元将象普通的用户数据一样通过公网进行交换,测试信元到达远端用户后通过环路返回测试。测试仪收到测试信元后,从净荷中分离出BERT码型并将其与发送的码型比较,采用的方法和传统的BERT测试相同,运行一段时间后就会得到整个端到端电路的BER值。
进行ATM BERT测试时,要对测试仪进行设置使其发送与规定的业务合同速率相匹配的测试信元。操作者输入在业务合同中所规定的数据速率和业务类别(恒定比特率、可变比特率或未定义比特率业务)。BERT将在业务提供者所保证的最大负载状态下进行,以确保在运行实际用户业务之前端到端链路的无误码性。
经常忽略的一点是用户数据在到达第一个ATM边缘交换机之前可能要由几个中心局转接,每次路由转接都增加了产生误码的可能性。传统的BERT测试可能只验证到第一个中心局的本地环路的可靠性而忽略了中转局之间的连接。
ADSL测试
ADSL技术将铜质***线从直流到1MHz在频率上分割成256个信道,每个信道带宽4.3KHz。频率最低的一个信道(0~4.3KHz)仍旧用来传输模拟的***信号。对于其余频带,在低频部分传输上行信号,高频部分传输下行信号。ADSL Modem独立地分析每个信道的信噪比,以确定该信道的数据传输速率。当某一信道的信噪比恶化时,Modem会自动降低该信道的速率,以保证传输码元的正确,如果一个信道的信噪比极其恶化时,Modem甚至有可能将该信道关闭。
ADSL技术是一种利用现有的大量铜质***线传输宽带信息的廉价方法,但是在实际应用方面还有几个需要解决的问题,一是从***局到用户的***线长度是不尽相同的,有的可能只有几百米,有的则可能有几公里,***线的长度不同,所引起的信号衰减也不同;二是传统***系统中的感性负载线圈和桥接抽头引起的信号色散和频率性失真,会使得信号在某些频率范围内衰减得特别厉害。所以,在***ADSL时,除了设备本身的调试外,还必须对线路的质量进行测试。
传统ADSL测试方法是在用户端的ADSL Modem上连接一台PC机,测试这台PC机是否能够连通在***局端的网络,以判断链路的连通性能,这种方法的局限性在于线路的连通性能并不能反映线路传输高速、宽带信号的能力,所以较为合理的做法是不间断地测试线路双向的传输速率和误码率。
***工程师利用在用户端的仪器控制局端测试仪和整个测试过程。用户可以设置测试的数据速率、测试时长和测试帧的长度。然后仪器自动测试上、下行链路的速度、帧的接收度和误码率并给出测试报告。
布线系统测试
布线是网络的基石,电缆将网络的用户和终端连接在一起,***一个新的布线系统的费用可以占到整个局域网的50%,布线系统不仅要满足当今数据传输的要求,还要满足今后的应用需求。超五类和六类布线系统是目前及今后一段时间内布线系统的主流,当施工完成以后就面临测试的问题,为此用户需要测试布线系统来进行工程验收。
测试的标准
在国际上负责布线标准制定的主要是美国的TIA以及欧洲的ISO。标准分成两部分,一部分是链路中使用的元器件的标准,例如RJ45插头、插座、线缆和配线架本身的标准,也就是单独的插头、插座等应该达到什么样的指标才可称作是三类、五类、超五类或六类的元件。另一部分是将插头、插座、电缆以及其他连接设备通过施工在现场组装在一起以后(称之为链路)的测试标准。这个标准是真正用来进行最终认证网络链路实际性能的标准。
举例来说,现在已经有关于五类的元器件标准,那么根据此标准生产出来的接插件只要符合标准都可以称之为五类产品。而用这些元器件***的布线系统经过测试符合标准以后就可认为是合格并可以支持相应的网络应用。对于三类和五类系统,元器件的标准以及现场的认证测试或验收标准也已经在几年以前完成。
超五类的标准通常称之为Cat 5E,标准的编号是:TIA/EIA-568-A-5。五类标准的更新版本,通常称为Cat 5N,是为满足原来的五类系统用户想要检验其***的五类系统是否可以运行千兆以太网而制定的标准,标准编号为:TSB95。
六类的标准,包括元件以及链路的测试标准都还在讨论当中,其中不确定的因素还有很多。各个电缆及其元件的生产厂商的六类产品也都不一样,而且还都在不断地改进当中。所以在2000年底之前正式的六类标准,包括元件和测试标准,完成的可能性不大。
如何测试已***的超五类或六类布线系统
对于超五类系统,由于标准已经正式出台,所以按照标准测量即可。值得注意的是,由于超五类标准中要求测试等效远端串扰(ELFEXT), 目前市场上的五类测试仪都无法满足该参数的测试精度和灵敏度要求,仪器的精度与灵敏度又是由其硬件设计所决定的,通过软件升级是无法提高硬件性能的,所以在选择超五类测试仪时一定要注意这个问题。
目前六类系统的测试是一个比较棘手的问题。问题的原因在于各个公司生产的六类元件都不完全一样,这是因为六类系统是一个暂行的电缆系统,各个公司采用不同的技术来达到链路的标准,而每个公司所采用的技术是各不相同的。当用户从各个公司拿到六类产品时就会明显发现其不同之处。例如A公司生产的六类插头和B公司生产的六类插头是不一样的。因为没有六类系统的元件标准,所以不同公司的六类产品目前还不能相互交叉使用,即不能将A公司的插头和B公司的插座配合来使用,这样使用可能会达不到六类的链路性能。
当使用目前的六类链路标准草案对***的六类链路进行测试时会出现连接的问题,因为测试仪要接入***的链路才能进行测试,在接入时仪器上使用的连接插头或插座如果和被测链路不是同一个公司的产品,测试仪就可能会将原本合格的链路判定为不合格。在实验室对不同公司的六类链路进行这样的测试时就会证明这一点,而且各个电缆系统的生产厂商也承认这一事实。所以目前在测试六类链路时,测试仪必须使用和被测链路相同的链路接口适配器。例如要测试A公司的六类链路,测试仪必须使用与A公司相匹配的链路接口适配器(Link Interface Adapter)。
测试不同厂家的六类系统需要使用该厂家的专用适配器,这些专用适配器需要测试仪厂家和各个六类系统的提供厂家分别进行合作开发,因此测试仪所配的专用适配器还需要各个六类系统的生产厂家提供书面的认可。另外一种选择是使用超五类的标准对链路进行测试,因为超五类链路可以满足目前所有局域网的应用。而使用不正确的方法进行测试,其结果是最不可取的。在选择六类测试仪时,注意要选择相应的接口适配器。
透视网络 有关网络端到端路径性能测试
作者:sanandi 来源:赛迪网技术社区 
近年来VoIP、VoD等实时应用在网络应用中比例大量增加,实时应用需要网络对其提供服务保证或区分服务,网络路径的延时特性和传输速率越来越受到人们的重视。网络延时和有效带宽直接反映了路径的性能和对端主机提供的服务等级水平,但它们都是随时间随机变化的变量,跟踪这些路径特征参数的动态变化可以获得资源的使用状况和性能趋势,并作为网络路径性能评价和实时的端到端性能管理的依据。
一、端到端路径性能问题
端到端性能管理的目标是为用户提供一条稳定可用的具有一定服务保障的连接。其范围已超出了流量工程和容量规划等传统问题,包括故障发现、路由选择与配置管理、流量分析等广泛的内容。对于用户而言,路径的延时特性和路径有效带宽决定了服务水平,即是否能启动一次新的连接,在局部节点获得一定的资源保证,并达到可接受的响应时间。对ISP来说,则还要关心网络路径的长期利用率、路由可达性、瓶颈带宽和其它端到端的性能等属性和参数。这些参数一般是较为稳定的,其中连通性和路径稳定性反映了路径的总体性能,而路径非对称性则影响我们对网络延时的测量。
连通性
连通性指的是IP网络中主机之间是否能相互到达对方,或者说一个或多个节点之间的下层连接是否可用。连通性描述了网络的可靠性,是完成网络业务的基本条件。Ping程序可用于确定网络上一个远程设备对本地系统来说是否可达,并有助于在系统之间调试连通性问题。我们可以从测量主机向网络路径的目的端定时运行ping,发出ICMP请求并等待有效的ICMP应答,从而确定网络连接的可用性,并可根据ICMP应答的类型孤立出路由选择和许多其它网络故障或问题的来源。因此,连通性是保证路径性能稳定的基础。
路径MTU
MTU是网络连接中允许一个物理帧传输的最大数据量,TCP/IP驱动程序需要知道这个数值以便设置合适的数据包长度,以避免出现不必要的拆分过程。不同网络的MTU缺省值不一样,以太网的标准值为1500,而多数ISP提供的拨号网络的标准值为576。理论上,只要网络连接稳定性高,MTU越大则传输效率越高。但是,如果接收机器所在网络或传输路径上路由器的MTU小的话,数据帧将不得不再次被拆分,这样反而降低了效率。因此,优化的MTU应与整条传输路径上最小的MTU值(即路径MTU)相等。RFC1191描述了路径MTU的发现机制,通过发送分组在分组头部设置不分片标志字段并判断返回ICMP错误消息实现。发送的第一个分组的长度与出口MTU相等,每次收到ICMP不能分片错误时,就减少分组长度,以下一个最小的MTU值发送。由于MTU值个数总是有限的,因此总可以找到路径中最小的MTU。所以检测路径MTU并设置系统的MTU值,可以减少对IP数据包的分段,提高路径的传输效率。
路由非对称性
非对称路由是指往返某一节点的路径不一致,两个方向的延时不同,由此在网络测量,特别是基于源端的测量中造成很多问题。检测路由的非对称性目前还非常困难。
路径稳定性
端到端路径的稳定性是衡量网络性能的关键性参数,路径稳定性可以分为路径的空间稳定性和时间稳定性。其中空间路径稳定性由路由的规模和模式决定,不稳定的路由可能是由路由不对称、循环路由、路由振荡等病态路由行为引起,也可能是连接频繁中断引起的。发生率(Prevalence) 和持续性(Persistence),分别从特定路由的发生频率和不变性方面定义了稳定性。路径的时间稳定性则强调了路径性能与时间变化的关系。本文将从路径的延时特性和传输速率出发,给出路径稳定性的评价指标,并作为网络路径性能评价和实时的端到端性能管理的依据。
二、性能指标
路径延时稳定性参数
设测量的延迟变量为X, 为t时刻测得的网络延时,则 为 间隔内的延时变化。若在 时间段内每次测量的样本值为 ,则这组延迟样本集的样本方差为 , 其中 = 。假设 为SLA(service level agreement)规定的或是某种应用服务质量要求的网络延时抖动目标临界值。根据在 时间段延时的抖动程度,定义延时抖动有界比例系数为:一般 可取为 。延时抖动有界比例系数反映了相邻两次测量之间延时抖动小于 情况所占的比例,一般设定当 时,认为连接有较好的稳定性, 越大,即 越接近1,连接越稳定。但延时抖动有界比例系数不能反映最大延时抖动,由于排队延时随背景流量而出现较大的波动,定义如下形式的平均抖动/最大抖动系数:设定 时,认为连接有较好的稳定性, 越大,连接越稳定。综合以上两个参数,当路径同时满足 和 时,确定该路径是关于延时稳定的。
路径速率参数
路径延时稳定性参数反映了链路整体运行的稳定程度,但不能反映不同链路速率的差别。某一条链路可能延迟较大,但延时抖动较小,丢失率很低,这时仅由路径延时稳定性参数难以反映链路的实际传输质量。通过采集SNMP网络设备MIB接口组数据,可以计算接口数据传输速率V:,其中 分别为在 内接口接收与发送的总字节数。通过连续采集路径中多个接口的流量数据,将最小的接口传输速率 作为路径速率参数通知给用户,以反映当前路径的实际传输性能。
数据采集
我们选择实验室的测量主机到湖南大学DNS服务器作为实验对象,该路径经过两个路由器,分别通过100M Ethernet和1000M Ethernet链路相连。我们使用Ping采集了近两天的每10ms一次测量的延时数据,并通过读取第一个路由器MIB库获得了每5ms的接口速率数据。
三、端到端路径性能的测量
我们采用以上测量方法基于以下原因。通常,网络性能参数的测量采取主动测量的方法,即在指定的路径上按一定规则发送探测性流量数据来测量网络上某一主机是否可达(reachability)、网络延迟、网络中包丢失情况和网络吞吐量等链路性能参数或测量网络路径的跳数、路由抖动、路由对称性等从源端到目的端的路由信息。主动测量会在网络中引入较多的测量流量,对网络实际性能会造成一定的影响。
由于路径带宽的测量需要向网络发送大量的分组数据,耗费大量有效带宽,这使得以主动方式测量带宽对用户应用和网络都极具损害性。而使用SNMP可以定时查询网络设备接口的流量速率数据,结合SNMP与网络往返延迟的测量评价路径性能,可使测量发送的分组数降到最低。
延时分布数据分析
测量获得的延时数据的分布可以看出延时分布RTT的测量值很不稳定,延时值最高达到了25.198ms,最低为2.091ms,接近于固有延时。但大部分散点集中于10ms的上下5ms范围内,只有极少数点落在大于20ms小于5ms范围,说明路径相对较为稳定。计算延时抖动有界比例系数 ,平均抖动/最大抖动系数 ,与实际网络运行状况基本相符。
延时抖动数据分析
40小时中每十分钟测量的延时抖动的分布延时的抖动分布来看,在取网络延时抖动目标临界值 为 =4.629ms时,最坏情况下达到抖动的边界16ms,远远超过了期望的 值。这说明该路径对于实时应用是不可能达到很好的性能的。
链路接口速率分析
同时采集的路由器MIB库接口流量速率数据可以看出该路径的利用率极低,特别是流出速率很小。在实际中可以用加大负载的办法提高网络的利用率,计算链路接口可以达到的最大的数据传输速率。
实例剖析:系统内置的四种网络测试工具
作为一个网管,肯定会遇到各种各样的网络故障的困扰,然而一个庞大的网络,节点有时是四处分布,遍布整栋甚至于几栋或几个不同的地方,如没有网络测试工具那困难是可想而知的。当然肯定有专门的测试工具,一般是硬件,价格也相当昂贵,一个中小型企业或家庭一般是不太可能花如此巨资就为了解决这些网络故障。其实在我的操作系统中也内置了一些非常有用的软件网络测试工具,如果能使用得当,并掌握一定的测试技巧一般来说是完全可以满足一般需求的,有的甚至被黑客作为黑客工具哩!这些工具虽然不能称之为专业的黑客工具,其实有许多黑客工具软件也是基于这些内置的网络测试软件而编制、改写的。下面就这几个工具结合实例作一简介,希望对那些还未掌握这几种工具的朋友有一些帮助!
一、Ping
相信玩过网络的人都会对Ping这个命令有所了解或耳闻。Ping命令是Windows9X/NT中集成的一个专用于TCP/IP协议的测试工具,ping命令是用于查看网络上的主机是否在工作,它是通过向该主机发送ICMP ECHO_REQUEST包进行测试而达到目的的。一般凡是应用TCP/IP协议的局域或广域网络,不管你是内部只有几台电脑的家庭、办公室局域网,还是校园网、企业网甚至Internet国际互联网络,当客户端与客户端之间无法正常进行访问或者网络工作出现各种不稳定的情况时,建议大家一定要先试试用Ping这个命令来测试一下网络的通信是否正常,多数时候是可以一次奏效的。
1.Ping命令的语法格式
ping命令看似小小的一个工具,但它带有许多参数,要完全掌握它的使用方法还真不容易,要达到熟练使用则更是难下加难,但不管怎样我们还得来看看它的真面目,首先我们还是从最基本的命令格式入手吧!
ping命令的完整格式如下:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j -Host list] | [-k Host-list]] [-w timeout] destination-list
从这个命令式中可以看出它的复杂程度,ping命令本身后面都是它的执行参数,现对其参数作一下详细讲解吧!
-t有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直到你按下Control-C。
-a解析主机的NETBIOS主机名,如果你想知道你所ping的要机计算机名则要加上这个参数了,一般是在运用ping命令后的第一行就显示出来。
-n count定义用来测试所发出的测试包的个数,缺省值为4。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数的命令获知。
-l length定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。
-f在数据包中发送不要分段标志,一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i ttl指定TTL值在对方的系统里停留的时间,此参数同样是帮助你检查网络运转情况的。
-v to mdash;将服务类型字段设置为to rdquo;指定的值。
-r count在记录路由字段中记录传出和返回数据包的路由。一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由。
-s count指定count指定的跃点数的时间戳,此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
-j host-list 利用computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔IP 允许的最大数量为 9。
-k host-list 利用computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔IP 允许的最大数量为 9。
-w timeout指定超时间隔,单位为毫秒。
destination-list 是指要测试的主机名或IP地址
2.Ping命令的应用
(1)、测试网络的通畅
我们知道可以用ping命令来测试一下网络是否通畅,这在局域网的维护中经常用到,方法很简单,只需要在DOS或Windows的开始菜单下的运行子项中用ping命令加上所要测试的目标计算机的IP地址或主机名即可(目标计算机要与你所运行ping命令的计算机在同一网络或通过***线或其它专线方式已连接成一个网络),其它参数可全不加。如要测试台IP地址为196.168.1.21的工作站与服务器是否已连网成功,就可以在服务器上运行:ping -a 196.`68.123.56 即可,如果工作站上TCP/IP协议工作正常,即会以DOS屏幕方式显示如下所示的信息:
Pinging cindy[196.168.1.21] with 32 bytes of data:
Reply from 196.168.1.21: bytes=32 time10ms TTL=254
Reply from 196.168.1.21: bytes=32 time10ms TTL=254
Reply from 196.168.1.21: bytes=32 time10ms TTL=254
Reply from 196.168.1.21: bytes=32 time10ms TTL=254
Ping statistics for 196.168.1.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% lo ),A roximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
从上面我们就可以看出目标计算机与服务器连接成功,TCP/IP协议工作正常,因为加了-a这个参数所以还可以知道IP为196.168.1.21的计算机的NetBIOS名为cindy。
如果网络未连成功则显示如下错误信息:
Pinging[196.168.1.21 ] with 32 bytes of data
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistice for 196.168.1.21:
Packets:Sent=4,Received =0,Lost=4(100% lo ),
A roximate round trip times in milli-seconds
Minimum=0ms,Maximum=0ms,Average=0ms
为什么不管网络是否连通在提示信息中都会有重复四次一样的信息呢(如上的Reply from 196.168.1.21: bytes=32 time10ms TTL=254 和Request timed out),那是因为一般系统默认每次用ping测试时是发送四个数据包,这些提示就是告诉你所发送的四个数据包的发送情况。
出现以上错误提示的情况时,就要仔细分析一下网络故障出现的原因和可能有问题的网上结点了,一般首先不要急着检查物理线路,先从以下几个方面来着手检查:一是看一下被测试计算机是否已***了TCP/IP协议;二是检查一下被测试计算机的网卡***是否正确且是否已经连通;三是看一下被测试计算机的TCP/IP协议是否与网卡有效的绑定(具体方法是通过选择开始设置控制面板网络来查看);四是检查一下Windows NT服务器的网络服务功能是否已启动(可通过选择开始设置控制面板服务,在出现的对话框中找到Server一项,看状态下所显示的是否为已启动)。如果通过以上四个步骤的检查还没有发现问题的症结,这时再查物理连接了,我们可以借助查看目标计算机所接HUB或交换机端口的批示灯状态来判断目标计算机现网络的连通情况。
(2)、获取计算机的IP地址
利用ping这个工具我们可以获取对方计算机的IP地址,特别是在局域网中,我们经常是利用NT或WIN2K的DHCP动态IP地址服务自动为各工作站分配动态IP地址,这时当然我们要知道所要测试的计算机的NETBIOS名,也即我们通常在网络邻居中看到的计算机名。使用ping命令时我们只要用ping命令加上目标计算机名即可,如果网络连接正常,则会显示所ping的这台机的动态IP地址。其实我们完全可以在互联网使用,以获取对方的动态IP地址,这一点对于黑客来说是比较有用的,当然首先的一点就是你先要知道对方的计算机名。
(3)、上述应用技巧其实重点是Ping 命令在局域网中的应用,其实Ping命令不仅在局域网中广泛使用,在Internet互联网中也经常使用它来探测网络的远程连接情况。平时,当我们遇到以下两种情况时,需要利用Ping工具对网络的连通性进行测试。比如当某一
的网页无法访问时,可使用Ping命令进行检测。另外,我们在发送E-mail之前也可以先测试一下网络的连通性。许多因特网用户在发送E-mail后经常收到诸如Returned mail:User unknow rdquo;的信息,这说明您的邮件未发送到目的地。为了避免此类事件再次发生,所以建议大家在发送E-mail 之前先养成Ping对方邮件服务器地址的习惯。例如,当您给163
邮件用户发邮件时,可先键入&ldquo ing 163.com(其实163.com就是网易的其中一台服务器名)进行测试,如果返回类似于Bad IP addre 163.com或Request times out或Unknow host 163.com等的信息,说明对方邮件服务器的主机未打开或网络未连通。这时即使将邮件发出去,对方也无法收到。
二、Ipconfig/Winipcfg
与Ping 命有所区别,利用Ipconfig和Winipcfg工具可以查看和修改网络中的TCP/IP协议的有关配置,如IP地址、网关、子网掩码等。这两个工具在Windows 95/98中都能使用,功能基本相同,只是Ipconfig 是以 DOS的字符形式显示,而Winipcfg则用图形界面显示,也就是其实两个工具是一个工具,只不过一个是DOS下的版本,另一个为WINDWOS下的版本,但要注意,在Windows NT中只能运行于DOS方式下的Ipconfig工具。
1.Ipconfig命令的语法格式
Ipconfig[/all][/batch file][/renew all][/release all][/renew n][/release n]
all--显示与TCP/IP协议相关的所有细节信息,其中包括测试的主机名、IP地址、子网掩码、节点类型、是否启用IP路由、网卡的物理地址、默认网关等。
Batch file将测试的结果存入指定的file文件名中,以便于逐项查看,如果省略file文件名,则系统会把这测试的结果保存在系统的winipcfg.out文件中。
renew all更新全部适配器的通信配置情况,所有测试重新开始。
release all释放全部适配器的通信配置情况,
renew mdash;更新第n号适配器的通信配置情况,所有测试重新开始。
release mdash;释放第n号适配器的通信配置情况,
2.Winipcfg命令
Winipcfg工具的功能与Ipconfig基本相同,只是Winipcfg是以图形界面的方式显示。在操作上更加方便,同时能够以WINDOWS的32位图形界面方式显示。当用户需要查看任何一台机器上TCP/IP协议的配置情况时,只需在Windows 95/98上选择开始运行,在出现的对话框中输入命令winipcfg,将出现测试结果。单击详细信息按钮,在随后出现的对话框中可以查看和改变TCP/IP的有关配置参灵敏,当一台机器上***有多个网卡时,可以查找到每个网卡的物理地址和有关协议的绑定情况,这在某些时候对我们是特别有用的。如果要获取更多的信息,可单击图中的详细信息按钮,在出现的对话框中可以相看到比较全面的信息。
3、ipconfig/winipcfg的应用
上面我讲了一下这两姊妹TCP/IP测试工具的一些用法,下面我就来谈她们的一些用途。
(1)、查找目标主机的IP地址及其它有关TCP/IP协议的信息,方法如下:按「开始」菜单执行「运行」菜单项,输入 winipcfg,就会出现一个 IP 组态窗口,这里会显示有关于你目前网络 IP 的一些详细设置数据。或者,你也可以在 MS-DOS 模式下,输入 ipconfig,也是一样可以显示详细的 IP 信息,只不过此画面是在 DOS 下而已。
(2)、ipconfig/winipcfg应该说是一款网络侦察的利器,尤其当用户的网络中设置的是DHCP(动态IP地址配置协议)时,利用Ipconfig/winipcfg可以让用户很方便地了解到所用IPconfig/winipcfg机的IP地址的实际配置情况。因为它有一个/all这个参数,所以它可侦查到本机上所有网络适配的IP地址分配情况,比ping命令更为详细。如果我们在机房winda客户端上运行Ipconfig/all/batch winda.txt后,打开winda.txt文件,将显示如下所示的内容,非常详细地显示了所有与TCP/IP协议有关的配置情况 。当然与ping相比也有它的不足之处就是它只能在本机上测试,不能运用网络功能来测试。
三、Netstat
与上述几个网络检测软件类似,Netstat命令也是可以运行于Windows 95/98/NT的DOS提示符下的工具,利用该工具可以显示有关统计信息和当前TCP/IP网络连接的情况 ,用户或网络管理人员可以得到非常详尽的统计结果。当网络中没有***特殊的网管软件,但要对整个网络的使用状况作个详细地了解时,就是Netstat大显身手的时候了。
它可以用来获得你的系统网络连接的信息(使用的端口和在使用的协议等),收到和发出的数据,被连接的远程系统的端口等。
1、Netstat命令的语法格式
Nbtstat 格式:netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数解释如下:
-a用来显示在本地机上的外部连接,它也显示我们远程所连接的系统,本地和远程系统连接时使用和开放的端口,以及本地和远程系统连接的状态。这个参数通常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被***木马,如果您在你的机器上运行Netstat,如发現诸如:Port 12345(TCP) Netbus、Port 31337(UDP) Back Orifice之类的信息,则你的机器上就很有可能感染了木马。
- mdash;这个参数基本上是-a参数的数字形式,它是用数字的形式显示以上信息,这个参数通常用于检查自己的IP时使用,也有些人使用他是因为更喜欢用数字的形式。
-e显示静态太网统计,该参数可以与 -s 选项结合使用。
-p protocol用来显示特定的协议配置信息,它的格式为:Netstat -p xxx,xxx可以是UDP、IP、ICMP或TCP,如要显示机器上的TCP协议配置情况则我们可以用:Netstat -p tcp。
- mdash;显示机器的缺省情况下每个协议的配置统计,缺省情况下包括TCP、IP、UDP、ICMP等协议。 -r用来显示路由分配表。
interval每隔interval秒重复显示所选协议的配置情况,直到按CTRL+C中断。
2、netstat的应用
从以上各参数的功能我们可以看出netstat工具至少有以下向方面的应用:
(1)、显示本地或与之相连的远程机器的连接状态,包括TCP、IP、UDP、ICMP协议的使用情况,了解本地机开放的端口情况;
(2)、检查网络接口是否已正确***,如果在用netstat这个命令后仍不能显示某些网络接口的信息,则说明这个网络接口没有正确连接,需要重新查找原因。
(3)、通过加入-r参数查询与本机相连的路由器地址分配情况;
(4)、还可以检查一些常见的木马等黑客程序,因为任何黑客程序都需要通过打开一个端口来达到与其服务器进行通信的目的,不过这首先要使你的这台机连入互联网才行,不然这些端口是不可能打开的,而且这些黑客程序也不会起到入侵的本来目的。
四、Nbtstat
NBTSTAT命令:用于查看当前基于NETBIOS的TCP/IP连接状态,通过该工具你可以获得远程或本地机器的组名和机器名。虽然用户使用ipconfig/winipcfg工具可以准确地得到主机的网卡地址,但对于一个已建成的比较大型的局域网,要去每台机器上进行这样的操作就显得过于费事了。网管人员通过在自己上网的机器上使用DOS命令 tstat,可以获取另一台上网主机的网卡地址。我们还是先来看看它的语法格式吧:
NBTSTAT [ [-a RemoteName] [-A IP addre ] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ]
参数说明:
-a Remotename说明使用远程计算机的名称列出其名称表,此参数可以通过远程计算机的NetBios名来查看他的当前状态。
-A IP addre mdash;说明使用远程计算机的 IP 地址并列出名称表,这个和-a不同的是就是这个只能使用IP,其实-a就包括了-A的功能了。
-c列出远程计算机的NetBIOS 名称的缓存和每个名称的 IP 地址 这个参数就是用来列出在你的NetBIOS里缓存的你连接过的计算机的IP。
- mdash;列出本地机的 NetBIOS 名称,此参数与上面所介绍的一个工具软件&ldquo etstat中加 -a参数功能类似,只是这个是检查本地的,如果把netstat -a后面的IP换为自己的就和 tstat -n的效果是一样的了。
-r列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。
-R清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件,这个参数就是清除 tstat -c所能看见的缓存里的IP。
-S在客户端和服务器会话表中只显示远程计算机的IP地址。
- mdash;显示客户端和服务器会话,并将远程计算机 IP 地址转换成NETBIOS名称。此参数和-S差不多,只是这个会把对方的NetBIOS名给解析出来。
-RR释放在 WINS 服务器上注册的 NetBIOS 名称,然后刷新它们的注册。
interval每隔interval 秒重新显示所选的统计,直到按CTRL+C键停止重新显示统计。如果省略该参数, tstat 将打印一次当前的配置信息。此参数和netstat的一样, tstat中的interval参数是配合-s和-S一起使用的。
好了,关于 tstat的应用就不多讲了,相信看了它的一些参数功能也就明白了它的功能了,只是要特别注意这个工具中的一些参数是区分大、小写的,使用时要特别留心!另外在系统中还人置有许多这方面的工具,如ARP命令是用于显示并修改Internet到以太网的地址转换表 lookup命令的功能是查询一台机器的IP地址和其对应的域名,它通常需要一台域名服务器来提供域名服务,如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名&helli helli 在此就不多讲了,另外还要说明的一点就是不同的系统中的相应命令参数设置可能有不同之处,但大体功能是一致的,希望大家在应用时稍加注意。
网络管理员好帮手 最常用网络命令精萃
一 Ping   
  它是用来检查网络是否通畅或者网络连接速度的命令。
  作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如图1。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。   
  -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。   
  -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。   
  -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。   
  说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如&ldquo ing IP -t -n 3,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。   
  下面我们举个例子来说明一下具体用法。   
  这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说初步判断是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。
  (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)
  至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的
服务器,可以对别人进行ping攻击&helli helli 这些就靠大家自己发挥了。
二 Nbtstat   
  该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。   
  -a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息如图3(下同)。   
  -A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。
  -n 列出本地机器的NETBIOS信息。   
  当得到了对方的IP或者机器名的时候,就可以使用 tstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。   
三 Netstat
  这是一个用来查看网络状态的命令,操作简便功能强大。   
  -a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息,如图4。   
  这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。
  -r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
四 Tracert
  跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。   
  这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。
五 Net   
  这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车。   
  在这里,我们重点掌握几个入侵常用的子命令。   
  net view   
  使用此命令查看远程主机的所以共享资源。命令格式为net view \IP。   
  net use
  把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: \IPsharename。上面一个表示把192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use \IPIPC$ " a word /user:" ame)。   
  建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe \192.168.0.7admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。   
  net start
  使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,如图9,成功启动了telnet服务。   
  net stop
  入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。   
  net user
  查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。
  1 net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。
  2 net user abcd /del,将用户名为abcd的用户删除。
  3 net user abcd /active:no,将用户名为abcd的用户禁用。
  4 net user abcd /active:yes,激活用户名为abcd的用户。
  5 net user abcd,查看用户名为abcd的用户的情况。   
  net localgroup
  查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法:net localgroup grou ame username /add。   
  现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用net user abcd来查看他的状态,和图10进行比较就可以看出来。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。   
  net time
  这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time \IP。
六 At   
  这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command \computer。
  表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。   
七 Ftp   
  大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。
  首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入hel rdquo;来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。   
  大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。  
  首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入open 主机IP ftp端口回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。   
  用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。
  接下来就要介绍具体命令的使用方法了。   
  dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。
  cd 进入某个文件夹。
  get 下载文件到本地机器。
  put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。
  delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。
  bye 退出当前连接。
  quit 同上。   
八 Telnet
  功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。   
  然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。   
  当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了,如图19。这里我使用的超级管理员权限登陆的。   
  到这里为止,网络DOS命令的介绍就告一段落了,这里介绍的目的只是给菜鸟网管一个印象,让其知道熟悉和掌握网络DOS命令的重要性。其实和网络有关的DOS命令还远不止这些,这里只是抛砖引玉,希望能对广大菜鸟网管有所帮助。学好DOS对当好网管有很大的帮助,特别的熟练掌握了一些网络的DOS命令。
  另外大家应该清楚,任何人要想进入系统,必须得有一个合法的用户名和密码(输入法漏洞差不多绝迹了吧),哪怕你拿到帐户的只有一个很小的权限,你也可以利用它来达到最后的目的。所以坚决消灭空口令,给自己的帐户加上一个强壮的密码,是最好的防御弱口令入侵的方法。
  最后,由衷的说一句,培养良好的安全意识才是最重要的。
发表于
20时24分18秒
2007年05月24日
到底是什么原因造成只能单方向Ping通呢
当网络出现问题时,我们最常用的测试工具就是Ping命令了。但有时候我们会碰到单方向Ping通的现象,例如通过HUB或一根交叉线连接的在同一个局域网内的电脑A、 B,在检查它们之间的网络连通性时,发现从主机A Ping 主机B正常而从主机B Ping 主机A时,出现超时无应答错误。为什么呢?
  要知道这其中的奥秘,我们有必要来看看Ping命令的工作过程到底是怎么样的。
  假定主机A的IP地址是192.168.1.1,主机B的IP地址是192.168.1.2,都在同一子网内,则当你在主机A上运行Ping 192.168.1.2后,都发生了些什么呢?
  首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址192.168.1.2一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址192.168.1.2作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址(也叫MAC地址,熟悉网卡配置的朋友不会陌生,这是数据链路层协议构建数据链路层的传输单元帧所必需的),一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。
  主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。
  从Ping的工作过程,我们可以知道,主机A收到了主机B的一个应答包,说明两台主机之间的去、回通路均正常。也就是说,无论从主机A到主机B,还是从主机B到主机A,都是正常的。那么,是什么原因引起只能单方向Ping通的呢?
一、***了个人防火墙
  在共享上网的机器中,出于安全考虑,大部分作为服务器的主机都***了个人防火墙软件,而其他作为客户机的机器则一般不***。几乎所有的个人防火墙软件,默认情况下是不允许其他机器Ping本机的。一般的做法是将来自外部的ICMP请求报文滤掉,但它却对本机出去的ICMP请求报文,以及来自外部的ICMP应答报文不加任何限制。这样,从本机Ping其他机器时,如果网络正常,就没有问题。但如果从其他机器Ping这台机器,即使网络一切正常,也会出现超时无应答的错误。
  大部分的单方向Ping通现象源于此。解决的办法也很简单,根据你自己所用的不同类型的防火墙,调整相应的设置即可。
二、错误设置IP地址
  正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但对于在公共场所使用的电脑,特别是网吧,人多手杂,其中不泛有探索者。曾有一次两台电脑也出现了这种单方向Ping通的情况,经过仔细检查,发现其中一台电脑的拨号网络适配器(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:
  (1)主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段;
  (2)主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个超时无应答的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。
发表于
20时59分15秒
2007年05月22日
网络故障分层排查 启发分析问题的思路
作者:赛迪网-中国计算机报 来源:赛迪网-中国计算机报
为了降低设计的复杂性,增强通用性和兼容性,计算机网络都设计成层次结构。这种分层体系使多种不同硬件系统和软件系统能够方便地连接到网络。管理员在分析和排查网络故障时,应充分利用网络这种分层的特点,快速准确地定位并排除故障。然而在实际故障排查过程中,这种分层方法往往被忽略,导致故障排查效率降低。
两种逐层排查方式
OSI的层次结构为管理员分析和排查故障提供了非常好的组织方式。由于各层相对独立,按层排查能够有效地发现和隔离故障,因而一般使用逐层分析和排查的方法。
通常有两种逐层排查方式,一种是从低层开始排查,适用于物理网络不够成熟稳定的情况,如组建新的网络、重新调整网络线缆、增加新的网络设备;另一种是从高层开始排查,适用于物理网络相对成熟稳定的情况,如硬件设备没有变动。无论哪种方式,最终都能达到目标,只是解决问题的效率有所差别。
根据具体情况选择排查方式
具体采用哪种方式,可根据具体情况来选择。例如,遇到某客户端不能访问Web服务的情况,如果管理员首先去检查网络的连接线缆,就显得太悲观了,除非明确知道网络线路有所变动。比较好的选择是直接从应用层着手,可以这样来排查:首先检查客户端Web浏览器是否正确配置,可尝试使用浏览器访问另一个Web服务器;如果Web浏览器没有问题,可在Web服务器上测试Web服务器是否正常运行;如果Web服务器没有问题,再测试网络的连通性。即使是Web服务器问题,从底层开始逐层排查也能最终解决问题,只是花费的时间太多了。如果碰巧是线路问题,从高层开始逐层排查也要浪费时间。
在实际应用中往往采用折衷的方式,凡是涉及到网络通信的应用出了问题,直接从位于中间的网络层开始排查,首先测试网络连通性,如果网络不能连通,再从物理层(测试线路)开始排查;如果网络能够连通,再从应用层(测试应用程序本身)开始排查。
首先使用ping命令测试连通性。在TCP/IP网络中,排查网络问题的第一步常常是使用ping命令。如果能够成功地ping到远程主机,就排除了网络连接出现故障的可能性。即使是使用ping命令,也有一个逐步检测判断的步骤。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="400" height="70" />
图1 网络示意图
例如,假设有一个如图1所示的网络,这里要测试网络能否正常通信。通常从ping远程计算机开始(例中在主机A上ping主机B),成功说明系统和网络正常,失败说明主机离线或网络故障。失败后再ping同一子网的网关(例中为192.168.1.1)来确认主机A是否能够连接到路由器。失败后再ping环回地址127.0.0.1来确认TCP/IP协议软件是否有问题,如果有问题,需要重新***TCP/IP协议软件。也可以采用另一种步骤,从ping环回地址127.0.0.1开始,失败说明TCP/IP协议软件***有问题,如果成功再ping同一子网的网关,如果成功再ping其他网关(路由器)逐步排查网络各个环节,直到最后ping远程主机。只要成功地ping到远程主机,可以判断网络问题一般发生在更高层次。
分层排查网络的措施
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="350" height="144" />
图2 分层排查网络的措施
每个网络层次都有相应的检测排查工具和措施,各层的基本排查措施如图2所示。在最底层的物理层,专业人员往往采用专门的线缆测试仪,没有测试仪的可通过网络设备(网卡、交换机等)信号灯进行目测。数据链路层的问题不多,对于TCP/IP网络,可以使用简单的arp命令来检查MAC地址(物理地址)和IP地址之间的映射问题。网络层出现问题的可能性大一些,路由配置容易出现错误,可通过route命令来测试路由路径是否正确,也可使用ping命令来测试连通性。协议分析器(如微软提供的网络监视器)具有很强的检测和排查能力,能够分析链路层及其以上层次的数据通信,当然包括传输层。至于应用层,可使用应用程序本身进行测试。
双剑合一 用Pathping命令诊断网络故障
作者:anheng.com 来源:anheng.com 
解决网络问题的一个方法是使用pathping命令。这个命令工作起来就像是把ping和tracert这两个命令结合在一起了一样。
你要做的第一件事情是在命令行输入pathping,就像这样:pathping目标。这里的目标可以是一个主机名称也可以是一个IP地址,例如,pop3.catalog.com或者209.217.46.121。
接下来,你将得到一个分为两部分的报告。第一部分是通向目的地的线路上的每一个跳点的列表,第二部分是每一个跳点的统计,包括每一个跳点的数据包丢失的数量。它使用下面例子中显示的一些开关(switch),如:
pathping -n -w 1000 m .com
这个命令告诉pathping不解析路由器的IP地址,并且为每一个回显应答信息等待1秒钟(1000毫秒)。
下面是一些最重要的pathping命令开关(switch):
n 不显示每一台路由器的主机名。
hvalue 设置跟踪到目的地的最大跳点数量,默认是30个跳点。
wvalue 设置等待应答的最多时间(按毫秒计算)。
p 设置在发出新的ping命令之前等待的时间(按毫秒计算),默认是250毫秒。
qvalue 设置ICMP回显请求信息发送的数量,默认是100。
实例:
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="426" height="462" />
当运行 pathping 时,在测试问题时首先查看路由的结果。此路径与 tracert 命令所显示的路径相同。然后 pathping 命令在下一个 125 秒内显示忙消息(此时间根据跃点计数变化)。在此期间,pathping 从以前列出的所有路由器以及它们之间的链接收集信息。在此期间结束时,它将显示测试结果。
最右边的两栏 This Node/Link Lost/Sent=Pct 和 Addre 包含最有用的信息。172.16.87.218(跃点 1)和 192.68.52.1(跃点 2)之间的链接丢失 13% 的数据包。所有其他链接工作正常。跃点 2 和 4 中的路由器也丢失以其为目标的数据包(如 This Node/Link 栏中所示),但这种丢失不会影响转发的路径。
对链接显示的丢失率(在最右边的栏中标记为 |)表明沿路径转发的数据包的丢失情况。该丢失表明链接阻塞。对路由器显示的丢失率(通过最右边栏中的 IP 地址显示)表明那些路由器的 CPU 可能超负荷运行。这些阻塞的路由器可能也是端对端问题的一个因素,尤其是在软件路由器转发数据包时。
网管经验谈:将Ping命令功能发挥到最大
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在***了TCP/IP协议以后才可以使用:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
Optio :
-t Ping the ecified host until sto ed.To see statistics and continue - type Control-Break;To stop - type Control-C.
不停的ping地方主机,直到你按下Control-C。
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
-a Resolve addre es to hostnames.
解析计算机NetBios名。
示例:C:\> ing -a 192.168.1.21
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 timeping -n 50 202.103.96.68
Pinging 202.103.96.68 with 32 bytes of data:
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Request timed out.
&helli helli helli helli helli helli Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
Ping statistics for 202.103.96.68:
Packets: Sent = 50, Received = 48, Lost = 2 (4% lo ),A roximate round trip times in milli-seconds:
Minimum = 40ms, Maximum = 51ms, Average = 46ms
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
-l size Send buffer size.
定义echo数据包大小。
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
C:\> ing -l 65500 -t 192.168.1.21
Pinging 192.168.1.21 with 65500 bytes of data:
Reply from 192.168.1.21: bytes=65500 timeping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
Pinging 202.96.105.101 with 32 bytes of data:
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
Route: 202.107.208.187 -
202.107.210.214 -
61.153.112.70 -
61.153.112.89 -
202.96.105.149 -
202.96.105.97 -
202.96.105.101 -
202.96.105.150 -
61.153.112.90
Ping statistics for 202.96.105.101:
Packets: Sent = 1, Received = 1, Lost = 0 (0% lo ),
A roximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 10ms, Average = 10ms
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。
-s count Timestamp for count ho .
指定 count 指定的跃点数的时间戳。
此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
-j host-list Loose source route along host-list.
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
-k host-list Strict source route along host-list.
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
-w timeout Timeout in milliseconds to wait for each reply.
指定超时间隔,单位为毫秒。
此参数没有什么其他技巧。
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
DefaultTTL=dword:000000ff
255---FF
128---80
64----40
32----20
好了,ping命令也基本上完全讲解完了,其中还有-j,-k参数我还没有详细说明,由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍,请大家见谅,如果在看了这篇文章的朋友当中有知道得比我更多的,以及其他使用技巧的也希望您能告诉我,并在此先谢过!
发表于
19时48分59秒
2007年04月22日
教你怎样利用包分析软件排查网络故障
作为IP网络的系统管理员,经常会遇到一些网络连接方面的故障,在排查这些接故障时,除了凭借经验外,使用包分析软件往往会起到事半功倍的效果。
常用的包分析软件非常多,常见的如tcpdump, iffer,windump,ettercap等。我们今天就介绍通过包分析软件tcpdump排查网络故障的几个例子,关于tcpdump软件的介绍,***,基本用法的资料非常多,读者可以查阅,这里不介绍了。
例1:arp故障
故障现象:局域网中的一台采用solaris操作系统的服务器A-SERVER网络连接不正常,从任意主机上都无法ping通该服务器。
排查:首先检查系统,系统本身工作正常,无特殊进程运行,cpu,内存利用率正常,无挂接任何形式的防火墙,网线正常。
此时我们借助tcpdump来进行故障定位,首先我们将从B-CLIENT主机上执行ping命令,发送icmp数据包给A-SERVER,如下:
[root@redhat log]# ping A-SERVER
PING A-SERVER from B-CLIENT : 56(84) bytes of data.
此时在A-SERVER启动tcpdump,对来自主机B-CLIENT的数据包进行捕获。
A-SERVER# tcpdump host B-CLIENT
tcpdump: listening on hme0
16:32:32.611251 arp who-has A-SERVER tell B-CLIENT
16:32:33.611425 arp who-has A-SERVER tell B-CLIENT
16:32:34.611623 arp who-has A-SERVER tell B-CLIENT
我们看到,没有收到预料中的ICMP报文,反而捕获到了B-CLIENT发送的arp广播包,由于主机B-CLIENT无法利用arp得到服务器A-SERVER的地址,因此反复询问A-SERVER的MAC地址,由此看来,高层的出问题的可能性不大,很可能在链路层有些问题,先来查查主机A-SERVER的arp表:
A-SERVER# arp -a
Net to Media Table
Device IP Addre Mask Flags Phys Addr
------ -------------------- --------------- ----- ---------------
hme0 netgate 255.255.255.255 00:90:6d:f2:24:00
hme0 A-SERVER 255.255.255.255 S 00:03:ba:08:b2:83
hme0 BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00
请注意A-SERVER的Flags位置,我们看到了只有S标志。我们知道,solaris在arp实现中,arp的flags需要设置P标志,才能响应ARP requests。
手工增加p位
A-SERVER# arp -s A-SERVER 00:03:ba:08:b2:83 pub
此时再调用arp -a看看
A-SERVER# arp -a
Net to Media Table
Device IP Addre Mask Flags Phys Addr
------ -------------------- --------------- ----- ---------------
hme0 netgate 255.255.255.255 00:90:6d:f2:24:00
hme0 A-SERVER 255.255.255.255 SP 00:03:ba:08:b2:83
hme0 BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00
我们看到本机已经有了PS标志,此时再测试系统的网络连接恢复正常,问题解决!
例2:netflow软件问题
故障现象:在新装的网管工作站上***cisco netflow软件对路由设备流量等进行分析,路由器按照要求配置完毕,本地工作上软件***正常,无报错信息,但是启动netflow collector却收不到任何路由器上发出的流量信息,导致该软件失效。 排查:反复检查路由和软件,配置无误。采用逐步分析的方法,首先先要定位出有问题的设备,是路由器根本没有发送流量信息还是本地系统接收出现了问题?
突然想到在路由器上我们定义了接收的client端由udp端口9998接收数据,可以通过监视这个端口来看路由器是否确实发送了udp数据,如果系统能够接收到来自路由的数据包,那么路由方面的问题可能行不大,反之亦然。
在网管工作站上使用tcpdump来看看:
nms#tcpdump port 9995
tcpdump: listening on hme0
18:15:34.373435 routea nms.9995: udp 1464
18:15:34.373829 routea.50111 nms.9995: udp 1464
18:15:34.374100 routea.50111 nms.9995: udp 1464
马上我们就看到数据包确实从路由器上发过来了,问题出在路由器的可能性基本排除,重新核查系统,果然,网管工作站上***了防火墙,udp端口9998是被屏蔽的,调整工作站上的防火墙配置,netflow工作恢复正常,故障排除!
例3:邮件服务器排障
故障现象:局域网新***了后台为qmail的邮件服务器server,邮件服务器收发邮件等基本功能正常,但在使用中发现一个普遍的怪现象:pc机器上发邮件时连接邮件服务器后要等待很久的时间才能开始实际的发送工作。
排查:网络连接没有问题,邮件服务器server和下面的pc性能都没有问题,问题可能出在哪里呢?为了进行准确的定位,我们在pc机client上发送邮件,同时在邮件服务器server上使用tcpdump对这个client的数据包进行捕获分析,如下:
server#tcpdump host client
tcpdump: listening on hme0
19:04:30.040578 client.1065 server.smtp: S 1087965815:1087965815(0) win 64240 (DF)
19:04:30.040613 server.smtp client.1065: S 99285900:99285900(0) ack 1087965816 win 10136 (DF)
19:04:30.040960 client.1065 server.smtp: . ack 1 win 64240 (DF)
顺利的完成三次握手,目前为止正常,往下看
19:04:30.048862 server.33152 client.113: S 99370916:99370916(0) win 8760 (DF)
19:04:33.411006 server.33152 client.113: S 99370916:99370916(0) win 8760 (DF)
19:04:40.161052 server.33152 client.113: S 99370916:99370916(0) win 8760 (DF)
19:04:56.061130 server.33152 client.113: R 99370917:99370917(0) win 8760 (DF)
19:04:56.070108 server.smtp client.1065: P 1:109(108) ack 1 win 10136 (DF)
这里有问题了,我们看到server端试图连接client的113 identd端口,要求认证,然而没有收到client端的回应,server端重复尝试了3次,费时26秒后,才放弃认证请求,主动发送了reset标志的数据包,开始push后面的数据,而正是在这个过程中所花费的26秒时间,造成了发送邮件时漫长的等待情况。
问题找到了,就可以对症下药了,通过修改服务器端的qmail配置,使它不再进行113端口的认证,再次抓包,看到邮件server不再进行113端口的认证尝试,而是在三次握手后直接push数据,问题解决!
总结:
上面我们通过实际的例子演示了包分析软件在故障解决中起到的作用,通过这些例子,我们不难发现,用好包分析软件,对系统管理员快速准确定位网络故障,分析网络问题有不可替代的作用。
教你使用四个Ping命令判断网络的故障
作者:IT世界网  来源:IT世界网
电脑的使用已经越来越普及,人们渐渐已经离不开网络。互联网是知识的海洋,在里面大家可以结交到不同地方的朋友,寻找到自己所需要的资料,觅到自己所喜欢的网络游戏。
除了日常生活之外,现时很多企业也离不开网络,比如说电子邮件的业务交往,网络***VOIP和即时聊天软件的应用,***异地信息的交流等也为企业提高的工作效率及节省很大部分的费用。
因此,这种种的应用已经给人们一种依赖性。试问,如果当您的电脑不能上网,估计您连电脑都懒得开了。那么,当电脑不能上网时,我们如何才能准确地判断电脑问题出在哪里?又如何能快捷地解决这故障?希望下文的一些小技巧能帮到大家。
其实,电脑不能上网大致可分以下几个原因,系统的IP设置、网卡、MODEM和线路故障。排除硬件及线路的故障问题,我们可以利用Ping命令来快速检测网络状况。
首先,我们点击系统中开始里的运行(图一所示),在运行栏中输入cmd命令(图二所示),操作系统中的DOS窗口就会弹出(图三所示),在这里我们可以直观和方便地输入各种DOS命令。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="208" height="260" />
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="344" height="163" />
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="371" />
接着,我们可以在DOS里输入Ping 127.0.0.1,该地址是本地循环地址,如发现本地址无法Ping通,就表明本地机TCP/IP协议不能正常工作。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="373" />
如果上面的操作成功,可Ping通的话,我们接下来可以输入IPConfig来查看本地的IP地址,然后Ping该IP(192.168.12.114),通则表明网络适配器(网卡或MODEM)工作正常,不通则是网络适配器出现故障。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="371" />
然后Ping一台同网段计算机的IP,不通则表明网络线路出现故障;若网络中还包含有路由器,则应先Ping路由器在本网段端口的IP,不通则此段线路有问题;通则再Ping路由器在目标计算机所在网段的端口IP,不通则是路由出现故障;通则再Ping目的机IP地址。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="294" />
最后,检测一个带DNS服务的网络,在上一步Ping通了目标计算机的IP地址后,仍无法连接到该机,则可Ping该机的网络名,比如Ping
,正常情况下会出现该网址所指向的IP,这表明本机的DNS设置正确而且DNS服务器工作正常,反之就可能是其中之一出现了故障;同样也可通过Ping计算机名检测WINS解析的故障(WINS是将计算机名解析到IP地址的服务)。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="293" />
当以上四个步骤执行完毕后,我们就可轻易判断出到底是某个环节出现了故障问题,该重新设置的设置,该换硬件的换硬件。另外,如果想检测网络的连接情况,我们还可以在Ping的地址后面加上-t,这样可不断地进行Ping的连接,可反映出网络的连接是否有中断或者丢包的现象出现。除了Ping命令外,现在还有不少小软件,它能检测到网络的连接情况,还能检测到宽带线路的带宽。
希望以上的小技巧,能对大家在日常使用电脑中带来一点点帮助。其实只要能上网,在网络中都可以找到很多问题的解答,多利用搜索系统,它会是你最好的老师。
用网络测试仪排除网络故障的经典案例
作者:千家综合布线网 来源:千家综合布线网
某机关信息中心的网管张先生给我公司打***希望能帮助排查一下其内部办公网络的故障,这个故障已经影响他们的网络运行一段时间了。在我们到达现场后,张先生给我们介绍了他们单位的网络情况(见图一网络拓扑)和网络故障表现。据张先生介绍,基本上所有的网络成员访问服务器2时的速度都非常缓慢, Ping测试联通性表现良好,均在2ms以内,从服务器上拷贝一个30Mbytes的文件竟需要5分钟左右。为此他们作过了很多的调整,甚至考虑到要将服务器升级和将网络升级。
通常这种看似简单的故障实际上很难直接判断其产生的原因,有时可能是网络本身的问题,或是网络应用的问题,还有时可能与网络或服务设备的配置有关。因此从哪里入手进行测试变成关键问题。为了进一步了解用户网络的整体情况,我们决定首先***一套美国福禄克公司的网络监测管理软件,以便能获得更多的网络信息。这套软件采用分布式结构,我们在用户的各个网段内分别***一个监测站,用我们的笔记本电脑作为监测控制台与各监测站通信,获取信息并集中显示(见图二)。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="278" />
图一、网络的结构示意
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="283" />
从上述图中,我们可以概括了解每个网段中都有哪些设备(服务器、交换机、路由器、RMON设备等)。这些设备是否出现了严重的问题(注意红色的圆点),每个站点的流量情况是否有异常(柱状图中是否出现红色的部分)。在确定没有太大问题后,我们开始查看网段的详细信息并找到了用户抱怨的服务器,见图三。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="375" />
在没有得到直接有价值的信息后,我们使用交换路由追踪功能测试一下某一个客户端到该服务器的传输链路情况,见图四。从图中我门可以看出该客户机和问题服务器2正好连接在同一个Cisco交换机的端口3和端口5上。该交换机连接客户机的端口3开启了历史记录功能,可以方便地得到流量、广播、冲突和错误方面的统计信息,图中显示该端口没有任何网络层的问题。而连接服务器的端口5则没有启动历史记录功能,因此无法得到服务器方面的统计数据。
问题的根源是不是在服务器这一边?我们立即在图一的3位置将Optiview便携式网络综合协议分析仪接入服务器所在的网段。通过网络搜索功能很快找到这台Cisco交换机并查看连接服务器的交换机第5端口的流量情况,见图五。发现该端口流量并不大,不应该造成客户端访问慢的故障。转而检查端口错误情况也没有发现错误的数据包,但是存在冲突的现象。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="375" />
图四、交换路由追踪
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="374" />
图五、第5端口的流量情况
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="500" height="372" />
这个异常情况引起了我们的注意,该端口只连接服务器唯一一个设备,怎么会有冲突呢?我们切换到交换机列表状态进一步检查该端口的信息(见图六)发现连接速率是10M/半双工,而该交换机是支持全双工连接方式的,有没有可能是服务器和交换端口双工不匹配的原因?在征得用户同意后,我们断开服务器与交换机的连线,串接进去一个网络万用表进行测试,得到的结果证实了我们的推测(见图七)。
服务器的网卡工作在全双工模式,而交换机端口自适应功能失败,使其只工作于半双工模式,这样就造成两端的双工模式不匹配,产生冲突错误。初步找到故障原因后,用户临时将服务器的网络设定为半双工模式后,我们同样从服务器上拷贝一个30Mbytes的文件只需要十几秒钟,而且采用Optiview监视也没有发现冲突现象。问题得到确认,解决问题的方法竟如此简单,只需将图七中显示的交换机的端口工作模式手工设置成全双工的模式即可。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" border="0" alt="" width="120" height="73" />
图七、双向箭头显示着全/半双工的工作状况
背景知识:
那么不匹配的双工模式为什么会产生冲突,进而影响整个网络的数据传输呢?因为运行全双工的设备不遵从(带冲突检测的载波侦听多路访问)过程。如果全双工设备有数据帧要发送,它就直接发送而不关心当前是否在接收数据。此时,如果与其相连的一个半双工设备恰巧也正在发送数据,则必定发生冲突。遵从CSMA/CD的半双工设备会立即发送一个阻塞信号,在退避延时时间过后,它将重新发送数据并引发网络性能的下降。
如果交换机内部开启了SNMP或具有RMON功能,则会统计冲突数量并记录在MIB库中。当我们接入Optiview网络综合协议分析仪后,通过其读取交换机中MIB库的信息就可发现冲突发生的历史记录,正是这一统计信息引导我们找到了困扰用户很长时间的网络故障。
经验与总结
在排除比较复杂网络的故障时,我们常常要通过多种的角度来测试和分析故障的现象确定故障点,我们会采用自上(网管系统)而下(现场测试)相结合的方法,还要采用理论和经验相结合的技术背景。
在分析和解决互联的网络中访问性能的问题时,我们通常有这么几个分析的模型和方法:
1.七层的网络结构分析模型方法:从网络的七层结构的定义和功能上逐一地进行分析和排查,这时传统的而且最基础的分析和测试方法。
这里有自下而上和自上而下的两种思路。自下而上:从物理层的链路开始检测直到应用。自上而下:从应用协议中扑捉数据包,分析数据包统计和流量统计信息以获得有价值的资料。
2.网络连接结构的分析方法:从网络的连接构成来看我们可以大致分成客户端、网络链路、服务器端三个模块。
a) 在分析和检测中故障可能来自客户端的各种情况,客户端也具备网络的七层结构,也会出现这样那样的故障,从硬件到软件,从驱动到应用程序,从设置错误到病毒等等。所以在分析和测试客户端的过程中要有大量的背景知识,有时PC的发烧经验也会有所帮助。在实际的测试过程中可以在现场询问客户端的用户,他们反映的问题是个性的还是共性的,这个问题会非常有助于决定对客户端的进一步检测的决定。
b) 来自网络链路的问题通常需要网管、现场测试仪、甚至是协议分析仪来帮助确定问题的性质和原因。这个方面的问题分析要有坚实的网络知识和实战经验,有时实战经验会决定排除故障的时间。
c) 在分析服务器端的情况时更需要有网络应用方面的丰富知识,我曾经排除过这样的一个故障,最终定位在服务器上的数据库参数设置上!要了解服务器的硬件性能及配置情况、系统性能及配置情况、网络应用及对服务器的影响情况。
3.工具型分析方法:有强大的各种测试工具和软件,它们的自动分析和专家系统能快速的给出网络的各种参数甚至是故障的分析结果,这对解决60%的常见网络故障有效。
4.综合及经验型分析方法:靠时间、错误与成功的积累,在大多数的网络测试工程师的工作中都是采用这个方法,再结合网管和测试工具迅速定位网络的故障。
本案例的分析中,我们首先要确定问题是否是共性的、然后试探确定问题是否发生再网络链路上、有幸的是这个问题的测试过程就到这里结束了,否则不知要动用多少

参考资料