ping和tracert命令

Ping简介

Ping是基于ICMP协议实现的。通过从源端向目的端发送ICMP回显请求(Echo Request)报文后,根据是否收到目的端的ICMP回显应答(Echo Reply)报文来判断目的端是否可达。即源端在一个有效时间内(等待回显应答报文超时时间之前)收到目的端返回的ICMP回显应答报文,则说明目的端可达。如果在有效时间内,没有收到应答报文,则说明目的端不可达。对于可达的目的端,根据发送报文个数、接收到响应报文个数来判断链路的质量,根据Ping报文的往返时间来判断链路的质量。

ping命令格式

这里只列举了常用的参数,并对参数进行解释说明。详细的命令参数解释和使用方法请参见相应版本“命令参考” 网络管理与监控命令-Ping和Tracert配置命令中的ping命令。

ping [ ip ] [ -a source-ip-address | -c count | -f | -s packetsize | -t timeout ] *host

  • -a:设置发送ECHO-Request报文的源IP地址,如果不指定源IP地址,将采用出接口的IP地址作为ICMP ECHO-Request报文发送的源地址。
  • -c:设置发送ECHO-Request报文的次数,缺省为5。当网络质量不高时,可以增加发送报文数目,通过丢包率来检测网络质量。
  • -f:设置发送的报文不分片,如果MTU值小于报文大小会丢弃该报文。
  • -s:设置发送ECHO-Request报文大小(不含IP和ICMP头),缺省报文长度是56字节。
  • -t:设置发送完ECHO-Request后,等待ECHO-REPLY的超时时间。在网络状况不好的情况下,可以适当改大该参数。缺省为2s,即2s内没有收到回复报文即认为目的不可达。
  • host:可以是IP地址或域名,如果是域名会首先进行DNS解析,并显示解析后的IP地址。

可以配合-s和-f参数来探测中间链路最大的MTU(链路PMTU),如设置-s为1472可以通而1473不通,则该链路最大MTU为1500(1472+20IP头+8ICMP头)。

PC上的Ping功能与操作系统相关,这里以Windows操作系统为例说明:

ping [ -n number ] [ -t ] [ -l number ] [ -f ] [ -a ] ip-address

  • -n:Ping报文的个数,缺省值为5。
  • -t:持续地Ping直到人为中断,Ctrl+Break暂时中止Ping命令并查看当前的统计结果,而Ctrl+C则中断命令的执行。
  • -l:设置Ping报文所携带的数据部分的字节数,设置范围从0至65500。
  • -f:设置发送的报文不分片,如果MTU值小于报文大小会丢弃该报文。
  • -a:反向解析IP地址为主机名。
  • ip-address:设置Ping命令的目的IP地址。

ping信息说明

<HUAWEI> ping 10.135.18.118PING 10.135.18.118: 56  data bytes, press CTRL_C to break                      Reply from 10.135.18.118: bytes=56 Sequence=1 ttl=255 time=1 ms              Reply from 10.135.18.118: bytes=56 Sequence=2 ttl=255 time=1 ms              Reply from 10.135.18.118: bytes=56 Sequence=3 ttl=255 time=2 ms              Reply from 10.135.18.118: bytes=56 Sequence=4 ttl=255 time=1 ms              Reply from 10.135.18.118: bytes=56 Sequence=5 ttl=255 time=2 ms              --- 10.135.18.118 ping statistics ---                                          5 packet(s) transmitted                                                      5 packet(s) received                                                         0.00% packet loss                                                            round-trip min/avg/max = 1/1/2 ms

ping命令的显示信息说明:

  • 设备发出了5个ping包,均收到了回应。
  • 发出的ping包的大小为缺省的56字节。
  • ttl=255说明ping的目的设备与发出ping报文的设备直接相连。
  • time=1ms说明报文回应时间为1ms,该参数通常可以作为网络是否拥塞的参考。

缺省情况下,ping命令发送5个ping报文,建议使用-c参数进行多次ping,可以更准确反应当前网络的状况。根据返回的ping报文个数,可以对网络状况进行判断。

故障现象

可能原因

全部可达,但时间较长

  • 中间网络状况不佳。
  • 网关设备做了QoS,限制了转发速度。

全部不可达

  • 网络中断(含设备与线缆)。
  • 中间经过的防火墙设备不允许进行Ping探测,丢弃了ICMP报文。
  • 网络产生环路,TTL减到1后被丢弃。
  • 网络拥塞导致报文响应慢。

部分可达

  • 网络状况不佳,部分报文被丢弃。
  • 中间网络配置有负载分担,且其中部分分担网络故障。
  • 遭到“泛洪”攻击。

Tracert简介

Ping可以告诉用户目标是否可达,而Tracert命令用于测试数据报文从发送主机到目的地所经过的网关,它主要检查网络连接是否可达,以及分析网络什么地方发生了故障。

图1 Tracert工作流程图

Tracert也是基于ICMP协议来实现的,如图1所示,Tracert的工作流程为:

  1. 源端(SwitchA)向目的端(日志主机)发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。
  2. 第一跳(SwitchB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时(Time Exceeded)报文(该报文中含有第一跳的IP地址10.1.1.2),这样源端就得到了SwitchB的地址。
  3. 源端收到SwitchB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。
  4. 第二跳(SwitchC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了SwitchC的地址(10.1.2.2)。
  5. 以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达(Destination Unreachable)报文(该报文含有目的端的IP地址10.1.3.2)。
  6. 源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.1.1.2;10.1.2.2;10.1.3.2)。

tracert命令格式

tracert [ -a source-ip-address | -f first-ttl | -m max-ttl | -p port | -q nqueries | -w timeout ] *host

PC上的Tracert功能与操作系统相关,这里以Windows操作系统为例说明:

tracert [ -d ] [ -h maximum_hops ] [ -j host-list ] [ -w timeout ] host

  • -d:不解析主机名。
  • -h:指定最大TTL的数值。
  • -j:设定松散源地址路由列表。
  • -w:用于设置UDP报文的超时时间,单位为毫秒。
  • host:指定目的主机的域名或IP地址。

tracert信息说明

<HUAWEI> tracert 10.135.18.118traceroute to  10.135.18.118(10.135.18.118), max hops: 30 ,packet length: 40,press CTRL_C to break 1 192.168.200.100 10 ms  2 ms  2 ms 2  *  *  * 3 10.135.18.118 10 ms  1 ms  2 ms

显示信息每行包含编号、到达的设备IP地址、3次报文的响应时间。中间部分显示为“* * *”,说明该节点设备配置不允许Ping和Tracert。

当网络上出现路由环路时,使用ping命令只能知道接收端出现超时错误,而tracert命令能够很容易发现路由环路等潜在问题。在Tracert某地址时,多次出现相同的地址,即可认为出现了路由环路。

网络连通性测试ping和tracert命令相关推荐

  1. 测试网络连通性的PING命令

    本文是对网络连通性测试的常用工具ping命令较为详细的介绍 1. ping命令简介 Ping是因特网包探测器,是使用ICMP回显请求报文和ICMP回显应答报文来测试主机之间连通性,用来诊断网络的工具. ...

  2. 计算机基本网络测试命令实验报告,网络连通性测试与网络命令验证实验报告

    网络连通性测试与网络命令验证实验报告 西工大计算机网络原理实验报告 网络原理实验报告 实验名称: 网络连通性测试与网络命令验证 日期: 2015.11.09 班级: 学号: 姓名: [一] 预习内容 ...

  3. 网络故障排查:Ping和Tracert命令

    1.Ping和Tracert的用途 1.1 Ping和Tracert命令检查网络连接是否可达以及分析网络发生故障的位置.其中,Ping用于检查网络连接及主机是否可达:Tracert命令用于测试数据报文 ...

  4. 配置计算机名及工作组;TCP/IP地址配置;网络连通性测试

    1:配置计算机名及工作组 1.1 问题 本例要求为修改计算机名并加入工作组: 1)设置计算机名:姓名拼音 2)设置工作组名:TARENA-NETWORK 1.2 方案 修改Windows 2008服务 ...

  5. ICMP协议(最常用的ping、tracert命令)

    ICMP(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网络 ...

  6. linux测试网络是否连通ping、telnet命令

    ping 可以测试到目标机器的连通性,ping域名还可以得出解析IP. ping ip地址 例:ping 127.0.0.1 图例: telent测试端口是否开放. telent ip地址 端口号 例 ...

  7. ping 和 tracert 命令

    ping命令的作用: ping是用来检测网络连通性的命令,使用的是 ICMP 协议. 基本格式:ping 空格 ip地址/域名 -t 例如:ping www.baidu.com -t -t是无限发包的 ...

  8. ping和tracert命令详解

    Ping 这个应该大家都会用的吧,最主要的就是检测目标主机是不是可连通.Ping程序实际就是发送一个ICMP回显请求报文给目的主机,并等待回显的ICMP应答.然后打印出回显的报文.Ping不通一个地址 ...

  9. 网络连通性测试-防甩锅套路

    一.前言 为什么要写这个东西呢?怎么涉及到甩锅呢?说白了就是在各种对接过程中,总会遇到一些喜欢甩锅的人,说是你的问题,什么网络没毛病,是你的接口什么的不对,总之就是你的问题~ 这时候什么最爽? 一堆数 ...

最新文章

  1. RAC rac_liftSelector
  2. Struts2.34必需具备的包
  3. python爬虫实例解析-Python(爬虫)- 动态加载案例分析
  4. 用RadASM 开发窗口程序
  5. ASP.NET中常用的优化性能方法(转)
  6. sklearn自学指南(part48)--截断奇异值分解和潜在语义分析
  7. mysql 5.6 使用ssl_MySQL 5.6--------SSL连接最佳实战
  8. 两个服务之间的调用请求
  9. 蓝桥杯 子串分值 递推
  10. Lambda表达式在Java 8中的简单应用
  11. 粤嵌gec6818项目设计_西安市幸福林带景观及亮化设计国际竞赛终期评审会顺利举行...
  12. 用WAP手机远程遥控电脑1
  13. vue-cli项目在IE下运行钩子函数抛出异常“ReferenceError: “Promise”未定义“”的解决办法
  14. 电力行业知识竞赛现场部分照片及用PPT模板制作的电力行业安全知识竞赛题目界面部分展示
  15. 理解深度负反馈,线性失真与非线性失真线性现象
  16. DSP C6657 image_processing_evmc6657l网页加载图片示例
  17. c语言实战项目之一 贪吃蛇(源码免费开放)
  18. 如何从twitter上爬取数据?
  19. QQ “你可能收到一条假消息” ”曾经”是如何实现的?
  20. EditText 里的属性

热门文章

  1. 最优化--等式约束最优性条件
  2. 锤子android 7,锤子正式加入安卓7.1.1阵容 一加3/3T尝鲜氢OS公测版
  3. nestjs入门(controller,service,module)
  4. Xendesktop5.6发布personal vdisk失败的处理方法
  5. (转载)验证下载下来的文件的完整性的方法
  6. NUC-lib资源学习
  7. EBS之挂载表单的详细步骤
  8. 国产车规级MCU芯片又添一重量级成员,这次竟是国家队?稳了
  9. 查询rssi指令_RSSI测量方法及网络设备、终端设备与流程
  10. win10装win7遇到的问题。