traceroute命令(unix)/tracert命令(windows)的工作原理

原创 2015年11月17日 21:17:35

traceroute命令(unix)/tracert命令(windows)的工作原理


    traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而后者用于windows系统中。

    先来看一个例子,在windows的CMD下,输入tracert www.baidu.com,结果如下图所示:



    从上图中可以看出,这个命令得出了一些往返时间和路由器的IP地址。那么它具体是如何工作的呢?其实,这个命令是用来跟踪一个分组从源点到终点的路径,也是ICMP(Internet Control Message Protocol,网际控制协议)的一个应用。其从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据报。第一个数据报P1的生存时间TTL设置为1,当P1到达路径上的第一个路由器R1时,路由器R1先收下它,接着把TTL的值减1。由于TTL等于0,R1就把P1丢弃了,并向源主机发送一个ICMP时间超过差错报告报文。源主机接着发送第二个数据报P2,并把TTL设置为2。P2先到达路由器R1,R1收下后把TTL减1再转发给路由器R2。R2收到P2时,TTL为1,但减1后TTL变为了0。R2就丢弃P2,并向源主机发送一个ICMP时间超过差错报告报文。这样一直继续下去。当最后一个数据报刚刚到达目的主机时,数据报的TTL是1,。主机不转发数据报,也不把TTL的值减1。但是因为IP数据报中封装的数据是不可达的,所以目的主机就向源主机发送一个ICMP终点不可达差错报告报文。

    经过上述的过程后,大家可以看到,就像上图一样,本地主机通过各个路由器以及远程主机返回的这些ICMP报文,知道了这些路由信息,即目的主机所经过的路由器的IP地址,以及到达其中每一个路由器的往返时间。从而实现了跟踪的功能。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

traceroute命令用法

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一...

【Linux】关于路由跟踪指令traceroute

本文所有命令实施的大前提是:你现在能够上网。 稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/I...
  • yongh701
  • yongh701
  • 2015年05月09日 09:46
  • 25620

traceroute命令的用法实例

ceroute命令的用法实例   traceroute 跟踪数据包到达网络主机所经过的路由工具; traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。tracerout...

Linux下ping命令、traceroute命令、tracert命令的使用

Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”、不能打开网页时会说“你先ping网关地址192.168.1.1试试”。...
  • BestDD
  • BestDD
  • 2013年08月29日 09:39
  • 12577

Tracert(traceroute)&Ping 工作原理分析

一、tracert工作过程分析 Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。 首先,tracert送出一个T...

Tracert 命令的原理与作用

1. Tracert 命令的原理与作用Tracert命令诊断实用程序通过向目标计算机发送具有不同生存时间...

traceroute工作原理

Normal 0 7.8 pt 0 2 false false false Microso...
  • ruixj
  • ruixj
  • 2010年05月27日 18:13
  • 1411

traceroute工作原理

ping程序是利用icmp的回复请求来探测远端主机是否可达。(并不能继续判断端口是否可达。要想查看端口,就要使用扫描器了。)win2000里的网络库里已 经提供网络函数库(icmp.dll)可以实现利...

TraceRoute(tracert)实现原理

TraceRoute(tracert)实现原理 佟强 2008.11.4    TraceRoute程序的实现主要涉及IP头部生存时间(time to live, TTL)字段的使用。    设置TT...

命令行下CMD不能使用ping和ipconfig、tracert等命令不能使用

在CMD命令行下 ping 、ipconfig等命令不能使用,提示不是内部命令或不能运行程序等 这样的问题不是什么限制导致的,而是路径的问题,这时我们打开c:\windows\system32目录...
  • zhrzhl
  • zhrzhl
  • 2013年10月17日 16:00
  • 1892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:traceroute命令(unix)/tracert命令(windows)的工作原理
举报原因:
原因补充:

(最多只允许输入30个字)