tracert和ping的原理总结.doc

合集下载

tracert与ping命令的详解

tracert与ping命令的详解

PING命令入门详解1、Ping的基础知识ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。

Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP工具。

它主要的功能是用来检测网络的连通情况和分析网络速度。

Ping有好的善的一面也有恶的一面。

先说一下善的一面吧。

上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。

2、Ping命令详解首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输入“cmd”,回车即可打开(如下图)。

回车后我们输入 ping /? 例出ping 以下是PING的一些参数(如图):下面我和大家讲解一下,每个参数意思和使用。

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 -t Ping 指定的计算机直到中断。

-a 将地址解析为计算机名。

-n count 发送 count 指定的 ECHO 数据包数。

默认值为 4。

-l length 发送包含由 length 指定的数据量的 ECHO 数据包。

默认为 32 字节;最大值是65,527。

-f 在数据包中发送"不要分段"标志。

数据包就不会被路由上的网关分段。

-i ttl 将"生存时间"字段设置为 ttl 指定的值。

-v tos 将"服务类型"字段设置为 tos 指定的值。

关于ping和tracert的描述

关于ping和tracert的描述

关于ping和tracert的描述1.引言1.1 概述概述是一篇文章的引言部分,用于介绍文章所讨论的主题以及相关背景信息。

在本文中,我们将讨论ping和tracert这两个网络工具的描述。

首先,ping是一种常用的网络工具,用于测试与目标主机之间的网络连接。

它通过向目标主机发送数据包,并测量数据包的往返时间来判断网络连接的质量。

通过ping命令,我们可以确定网络是否稳定,以及判断是否存在延迟或数据丢失等问题。

Ping工具对于网络管理员和用户来说都是非常有用的,它可以帮助我们诊断网络故障和调试网络问题。

另一个我们将讨论的工具是tracert,它是一个用于追踪数据包路径的网络工具。

tracert命令通过发送一系列的数据包,并记录每个跃点的响应时间,以及保存在数据包中的数据。

通过这些数据,我们可以分析和确定数据包在经过网络时所经过的路由路径,以及判断是否存在数据包丢失、拥塞或其他网络问题。

Tracert工具对于网络管理员和专业用户来说非常有价值,它可以帮助我们找到网络连接的瓶颈,并在需要时采取相应的措施进行优化和改进。

通过本文,我们将详细描述ping和tracert这两个网络工具的功能、使用方法以及它们在网络故障排查和网络性能优化中的重要性。

我们还将探讨它们的未来发展方向,以及如何更好地利用它们来提高网络的可靠性和性能。

总之,本文将全面介绍ping和tracert这两个网络工具的描述,以及它们在网络管理中的作用。

通过理解和掌握这些工具的原理和用法,我们可以更好地解决网络故障和提高网络性能,从而更好地满足用户的需求和期望。

1.2 文章结构本文将分为三个主要部分,包括引言、正文和结论。

每个部分的内容如下:1. 引言:1.1 概述:介绍ping和tracert这两个网络工具的基本概念和作用。

说明它们在网络诊断和故障排除中的重要性。

1.2 文章结构:说明本文的组织结构和内容安排,包括各个部分的主要内容和目标。

Ping和Tracert命令原理详解

Ping和Tracert命令原理详解

Ping和Tracert命令原理详解Ping和Tracert是在计算机网络中常用的网络诊断工具,它们用于测试网络的连通性和追踪数据包的路径。

Ping命令基于ICMP协议,而Tracert命令则基于ICMP和TTL(Time to Live)字段。

下面将详细介绍Ping和Tracert的原理。

一、Ping命令原理:Ping命令用来测试两台计算机之间的网络连通性,它基于ICMP (Internet Control Message Protocol)协议工作。

Ping的原理是发送一个ICMP Echo请求报文到目标主机,并等待目标主机返回一个ICMP Echo回应报文。

通过观察发送和接收时间,可以判断网络是否正常连接。

当我们在命令行界面中输入“ping 目标主机”时,Ping命令会创建一个ICMP Echo请求报文,其中包含了一个序列号和时间戳等信息。

这个报文会被封装在IP(Internet Protocol)数据包中,并通过IP协议进行网络传输。

目标主机接收到ICMP Echo请求报文后,会生成一个ICMP Echo回应报文,并将其发送回源主机。

源主机可以通过比较发送和接收的序列号和时间戳来计算网络延迟(RTT,Round Trip Time)和丢包率。

通过Ping命令,我们可以测试两台计算机之间的网络延迟和丢包率,从而判断网络是否正常工作。

二、Tracert命令原理:Tracert命令用于追踪数据包的路径,它基于ICMP和TTL(Time to Live)字段的工作原理。

TTL字段是每个IP数据包中的一个字段,用来指定该数据包可以经过的最大路由器数。

当我们在命令行界面中输入“tracert 目标主机”时,Tracert命令会发送一系列的ICMP Echo请求报文到目标主机,每个报文有一个不同的TTL值。

初始的TTL值设置为1,然后每发送一个报文,TTL值递增1、当一个数据包到达一些主机时,这个主机会将TTL值减一,并将数据包转发到下一个主机。

ping命令和tracert命令的作用和原理

ping命令和tracert命令的作用和原理

ping命令和tracert命令的作用和原理Ping命令和Tracert命令是网络工具中常用的命令,它们用于检测网络连接的质量和诊断网络故障。

Ping命令用于测试主机之间的连通性,而Tracert命令则用于跟踪网络数据包在互联网中的路径。

下面将逐步介绍这两个命令的作用和原理。

一、Ping命令的作用和原理1. 作用:Ping命令用于测试与目标主机之间的网络连接情况,可以判断目标主机是否能够响应网络请求,以及网络延迟和丢包率等。

通过发送ICMP(Internet Control Message Protocol)数据包到目标主机,然后等待目标主机的响应,从而判断网络的连通状况。

2. 原理:Ping命令发送一个ICMP Echo Request消息(ping请求)到目标主机的IP地址。

目标主机收到该请求后,会返回一个ICMP Echo Reply消息(ping 响应)给源主机。

Ping命令根据发送请求和接收响应的时间来计算网络延迟(即Round Trip Time),以及统计发送和接收的数据包数量和丢失率。

Ping命令的执行步骤如下:Step 1: 用户在命令提示符下输入ping命令,后面跟上目标主机的IP地址或域名。

Step 2: 操作系统根据输入的IP地址或域名解析得到目标主机的IP地址。

Step 3: 操作系统创建一个ICMP Echo Request消息,并填充一些必要的字段,例如序列号和时间戳。

Step 4: 操作系统将ICMP Echo Request消息封装成一个IP数据包,并填写源IP地址和目标IP地址等信息。

Step 5: 操作系统将IP数据包发送到本地网络的网卡。

Step 6: IP数据包在本地网络中被交换机或路由器转发,依次经过多个网络节点,直到到达目标主机所在的网络。

Step 7: 目标主机收到ICMP Echo Request消息后,会生成一个ICMP Echo Reply 消息作为响应。

ping与Traceroute的工作原理

ping与Traceroute的工作原理

ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping程序的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者.
(1)假定:主机A的IP地址是192.168.1.1 主机B的IP地址是192.168.1.2
(2)在主机A上运行Ping192.168.1.2
(4)主机B端收到这个数据帧后,首先,检查它的目的地址,并和本机的MAC地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议。ICMP协议处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一摸一样。主机A收到了主机B的一个应答包,说明两台主机之间的去、回通路均正常。也就是说,无论从aceroute的工作原理:traceroute送出一个TTL是1的IP数据报(每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router )收到这个数据报时,它将TTL 减1 。此时,TTL 变为0 ,所以该路由器会将此数据报丢掉,并送回一个超时ICMP报文消息(包括发IP 包的源地址,IP 包的所有内容及路由器的IP地址),traceroute收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2的数据报 ,现第2 个路由器...... traceroute 每次将送出的数据报的TTL加1来发现另一个路由器,这个重复的动作一直持续到某个数据报抵达目的地。当数据报到达目的地后,该主机并不会送回超时ICMP报文,因为它已是目的地了。
(3)主机A端 首先,Ping命令构建一个固定格式的ICMP请求数据包。其次,由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议。接着,IP层协议以地址“192.168.1.2”作为目的地址,本机IP作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应MAC地址,一并交给数据链路层,然后数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址,还要附加一些控制信息,依据以太网的介质访问规则,将他们传送出去。

ping和traceroute的区别

ping和traceroute的区别

ping和traceroute原理分析---异同----为什么不能ping通却能traceroute2007年02月02日星期五10:05关于ping和trace命令,有2个发现首先是ping和trace的不同,虽然都是ICMP协议,但是可以有ping过trace不过或者相反的情况再一个是pc的ping&trace和UNIX/router的不同,曾发生过某些节点前者不能过但后者却能够过的情况,当时也和同事讨论过,也没讨论出个子丑寅卯来不知道这有啥解释么?关于你的第一个问题,是很正常的,因为ping和traceroute的原理不同,对于ping,发送的是一个echo request包,类型为 8 0,当被ping者接到相关icmp包的时候,根据实际情况,逻辑是,就发回 reply 0 0,逻辑否,则根据具体情况发出一些其他的信息,总结起来的说,是看目的是否能及时的把icmp reply包送回到源,一当路径上的某个节点把reply包给deny掉了,就肯定ping不通了,比如会是time out,下面是对ping的一些debug 输出,debug ip pa de 100,access-list 100 permit icmp any any,1、这个是ping通的Sending 5, 100-byte ICMP Echos to 192.168.100.1, timeout is 2 seconds:!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 36/51/68 msR4(config)#*Mar 1 00:03:20.579: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.1 (Serial1/0), routed via FIB *Mar 1 00:03:20.583: IP: s=172.16.14.2 (local), d=192.168.100.1 (Serial1/0), len 100, sending*Mar 1 00:03:20.587: ICMP type=8, code=0*Mar 1 00:03:20.639: IP: tableid=0, s=192.168.100.1 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RIB*Mar 1 00:03:20.643: IP: s=192.168.100.1 (Serial1/0), d=172.16.14.2 (Serial1/0), len 100, rcvd 3*Mar 1 00:03:20.647: ICMP type=0, code=02、有路由,ping不通的,我在R1上做了如下设置access-list 100 deny icmp any anyaccess-list 100 permit ip any anyint s1/0ip access-group 100 in然后在R4上 do debug ip pa de 100R4(config)#do ping 192.168.100.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.100.2, timeout is 2 seconds:U.U.USuccess rate is 0 percent (0/5)R4(config)#do debug ip pa de 100IP packet debugging is on (detailed) for access list 100R4(config)#R4(config)#R4(config)#do ping 192.168.100.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.100.2, timeout is 2 seconds:U*Mar 1 00:21:11.031: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:21:11.035: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 100, sending*Mar 1 00:21:11.039: ICMP type=8, code=0*Mar 1 00:21:11.075: IP: tableid=0, s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RIB *Mar 1 00:21:11.079: IP: s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:21:11.083: ICMP type=3, code=13-----tcp/ip 上看出,3 13代码暗示着由于过滤,通讯被禁止下面是有路由,因为reply包被deny而time out的,我把R1上的acl设置改成access-list 100 deny icmp any anyaccess-list 100 permit ip any anyint s1/0ip access-group 100 outR4(config)#do ping 192.168.100.2Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.100.2, timeout is 2 seconds:*Mar 1 00:25:15.735: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:25:15.735: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 100, sending*Mar 1 00:25:15.735: ICMP type=8, code=0.总结起来,ping能否成功有三个必要条件,1、互相有到达对端的路由,2、echo包没被禁止,3、别time out 掉(这个实验不好做,本来想通过设置timeout时间为10ms来做,哈哈,最小是1s.)对于traceroute,本质可以理解为hop by hop的ping,但这个ping和上面讲的ping不一样,这个ping和我们的ping命令不同,traceroute包发出去后,途经的每个站点都会发回一个类型代码为11 0的icmp 包回去,到了终点,才回发送一个代码为3 3的icmp包回到源,下面是一个traceroute的debug 输出R4(config)#do tracer 192.168.100.2Type escape sequence to abort.Tracing the route to*Mar 1 00:47:11.567: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:47:11.571: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 28, sending*Mar 1 00:47:11.571: UDP src=49234, dst=33434*Mar 1 00:47:11.599: IP: tableid=0, s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RIB *Mar 1 00:47:11.603: IP: s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:47:11.607: ICMP type=11, code=0*Mar 1 00:47:20.643: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:47:20.643: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 28, sending*Mar 1 00:47:20.647: UDP src=49235, dst=33435*Mar 1 00:47:20.707: IP: tableid=0, s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RIB *Mar 1 00:47:20.711: IP: s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:47:20.715: ICMP type=11, code=0*Mar 1 00:47:20.719: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:47:20.723: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 28, sending*Mar 1 00:47:20.723: UDP src=49236, dst=33436*Mar 1 00:47:20.767: IP: tableid=0, s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RIB *Mar 1 00:47:20.771: IP: s=172.16.14.1 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:47:20.775: ICMP type=11, code=0*Mar 1 00:47:20.783: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:47:20.787: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 28, sending*Mar 1 00:47:20.791: UDP src=49237, dst=33437*Mar 1 00:47:20.867: IP: tableid=0, s=172.16.123.2 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RI B*Mar 1 00:47:20.871: IP: s=172.16.123.2 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:47:20.875: ICMP type=3, code=3*Mar 1 00:47:26.903: IP: s=192.168.100.4 (Loopback0), d=255.255.255.255, len 71, unroutable*Mar 1 00:47:26.903: UDP src=57768, dst=53172.16.123.2*Mar 1 00:47:29.907: IP: tableid=0, s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), routed via FIB *Mar 1 00:47:29.907: IP: s=172.16.14.2 (local), d=192.168.100.2 (Serial1/0), len 28, sending*Mar 1 00:47:29.911: UDP src=49238, dst=33438*Mar 1 00:47:29.987: IP: tableid=0, s=172.16.123.2 (Serial1/0), d=172.16.14.2 (Serial1/0), routed via RI B*Mar 1 00:47:29.991: IP: s=172.16.123.2 (Serial1/0), d=172.16.14.2 (Serial1/0), len 56, rcvd 3*Mar 1 00:47:29.995: ICMP type=3, code=3从输出中可以验证一些东西,比如traceroute进程每跳发出三个探测包,上面也是中途站点R1的debug 输出R1(config)#do debug ip pa de 100IP packet debugging is on (detailed) for access list 100R1(config)#*Mar 1 00:47:20.311: IP: tableid=0, s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), routed via FIB*Mar 1 00:47:20.315: IP: s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), len 56, sending*Mar 1 00:47:20.319: ICMP type=11, code=0*Mar 1 00:47:29.387: IP: tableid=0, s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), routed via FIB*Mar 1 00:47:29.391: IP: s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), len 56, sending*Mar 1 00:47:29.395: ICMP type=11, code=0*Mar 1 00:47:29.467: IP: tableid=0, s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), routed via FIB*Mar 1 00:47:29.471: IP: s=172.16.14.1 (local), d=172.16.14.2 (Serial1/0), len 56, sending*Mar 1 00:47:29.475: ICMP type=11, code=0目的站点R2的输出R2(config)#do un allAll possible debugging has been turned offR2(config)#do debug ip pa de 100IP packet debugging is on (detailed) for access list 100R2(config)#*Mar 1 00:53:49.315: IP: s=172.16.14.2 (Serial1/2.1), d=192.168.100.2, len 28, rcvd 0*Mar 1 00:53:49.319: UDP src=49251, dst=33437*Mar 1 00:53:49.319: IP: tableid=0, s=172.16.123.2 (local), d=172.16.14.2 (Serial1/2.1), routed via FIB *Mar 1 00:53:49.323: IP: s=172.16.123.2 (local), d=172.16.14.2 (Serial1/2.1), len 56, sending*Mar 1 00:53:49.327: ICMP type=3, code=3R2(config)#*Mar 1 00:53:58.447: IP: s=172.16.14.2 (Serial1/2.1), d=192.168.100.2, len 28, rcvd 0*Mar 1 00:53:58.451: UDP src=49252, dst=33438*Mar 1 00:53:58.455: IP: tableid=0, s=172.16.123.2 (local), d=172.16.14.2 (Serial1/2.1), routed via FIB *Mar 1 00:53:58.455: IP: s=172.16.123.2 (local), d=172.16.14.2 (Serial1/2.1), len 56, sending*Mar 1 00:53:58.459: ICMP type=3, code=3*Mar 1 00:53:58.587: IP: s=172.16.14.2 (Serial1/2.1), d=192.168.100.2, len 28, rcvd 0*Mar 1 00:53:58.591: UDP src=49253, dst=33439由此可以看出,一样的道理,在中间站点上只要禁止代码11 0的icmp包输出,那么traceroute的输出中,关于那个站点就是*号了,或者在路上把代码为3 3 的禁止掉,一样会traceroute不通,而此时,ping通是一点问题都没有的,因为ping没有用到这些类型的icmp包,具体实验就不做了,时间紧张。

网络连通命令ping tracert pathping详解

网络连通命令ping tracert pathping详解

ping tracert pathping 详解说到ping 和tracert 命令大家都不陌生了,特别是在检测网络时,但pathping可能还有很多人没用过,现就讲解下并结合几个案例来说明。

1.ping(用来检测目标主机的连通)Ping原理发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答,然后打印出回显的报文。

Ping不通一个目的ip地址,并不一定表示这个IP不存在或者没有连接到网络上,因为对方主机有可能做了限制,比如防火墙做了禁ping,因此Ping不通并不是说主机挂了,这点需注意。

ping得到的结果包括字节数(bytes)、反应时间(time)、以及生存时间(TTL),如下结果: C:\Documents and Settings\sunjh>ping Pinging [125.39.127.25] with 32 bytes of data:Reply from 125.39.127.25: bytes=32 time=69ms TTL=50Reply from 125.39.127.25: bytes=32 time=66ms TTL=502.tracert(用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间)tracert原理通过向目标发送不同IP生存时间(TTL)值的“Internet控制消息协议(ICMP)”回应数据包,tracert诊断程序确定到目标所通过的路由。

要求路径上的每个路由器在转发数据包之前至少将数据包上的TTL递减1。

数据包上的TTL减为0时,路由器应该将“ICMP 已超时”的消息发回源系统。

tracert先发送TTL为1的回应数据包(默认最大30跳),并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。

TTL(Time To Live)是一个IP数据报的生存时间,当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于1秒种,因此实际上就是在TTL值减去了1。

Tracert命令和ping命令的作用

Tracert命令和ping命令的作用

TRACERT命令详解1.具体功能RACERT诊断实用程序通过向目的计算机发送具有不同生存时间的ICMP(Internet控制信息协议)回应报文,以确定至目的地的路由。

也就是说,TRACERT命令可以用来跟踪一个报文从一台计算机到另一台计算机所走的路径。

要在转发数据包上的TTL之前至少递减1,必需路径上的每个路由器,所以TTL是有效的跃点计数。

数据包上的TTL到达0时,路由器应该将“ICMP已超时”的消息发送回源系统。

TRACERT先发送TTL为1的回显数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。

路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。

不过,有些路由器悄悄地下传包含过期TTL值的数据包,而TRACERT看不到。

2.语法详解tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name3.参数说明-d 指定不将地址解析为计算机名。

-h maximum_hops 指定搜索目标的最大跃点数。

-j computer-list 指定沿computer-list的稀疏源路由。

-w timeout 每次应答等待timeout指定的微秒数。

target_name 目标计算机的名称。

PING命令详解1.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-tPing the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.不停的ping主机,直到你按下Control-C。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

今天仔细的看了下PING和TRACERT的原理,然后又请教了一下高手并且自己和同事做了一下实验,总结如下: 1、PING命令主要作用是测试2台设备网络层之间是否。

其工作原理:假设A路由器PING B路由器,A路由器会先发一个ICMP ECHO报文(TYPE=8,CODE=0),如果2台设备之间路由是可达的,B收到后会回一个ICMP REPLY的报文(TYPE=0,CODE=0)。

ping命令也可以显示经过的跳数,这样也可以通过PING命令查看我经过了哪几跳,每一跳的IP地址,命令参数是-R。

但不是所有的路由器均支持该命令,并且IP首部中留给选项的空间有限,不能存放太多的路径,一般最多就只能存放9个IP地址。

2、TRACERT命令主要作用和PING -R的作用一样,是测试2台设备之间经过的跳数和每一跳的IP地址。

其工作原理分2种情况说明:
1)假设A是一台PC机,由A来TRACERT B,A首先会发送一个ICMP ECHO的报文(TYPE=8,CODE=0),并且该报文的TTL=1,第一个路由器收到后会丢弃该报文不转发,并返回一个ICMP超时的报文(TYPE=11,CODE=0),然后A会在发送一个ICMP ECHO的报文,这时TTL=2,下一个路由器收到后又回一个ICMP超时报文。

当报文到达B后,B会回给A一个ICMP端口不可达的报文(TYPE=3,CODE=3)。

2)假设A是一台路由器,由A来TRACERT B,A首先会发送一个UDP报文,并且UDP的端口号大于30000以保证这个端口号在B上未被占用,该报文的TTL=1,第一个路由器收到后会丢弃该报文不转发,并返回一个ICMP 超时的报文(TYPE=11,CODE=0),然后A会在发送一个UDP的报文,这时TTL=2,下一个路由器收到后又回一个ICMP超时报文。

当报文到达B后,B会回给A一个ICMP端口不可达的报文(TYPE=3,CODE=3)。

PS:A发送出第一个报文后不需要等到收到应答包后才发第二个报文,我们在抓包的时候先收到了B发过来的ICMP端口不可达的包,后收到ICMP超时的包。

但在另一台电脑上抓包就是先收到ICMP超时的包,后收到ICMP端口不可达的包。

总结:我们在实际应用中可以针对ICMP的类型做限制,完全可以做到能PING通不能TRACERT通、能TRACERT 通不能PING通、PC能TRACERT通路由器而路由器不能TRACERT通PC。

相关文档
最新文档