traceroute (Windows 系统下是tracert) 命令利用ICMP 协议定位您的计算机和目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。

程序利用增加存活时间(TTL)值来实现其功能。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并传送一个ICMP TTL数据包给原数据包的发出者。

程序发出的首3个数据包TTL值是1,之后3个是2,如此类推,它便得到一连串数据包路径。注意IP不保证每个数据包走的路径都一样。

它由遍布全球的几万局域网和数百万台计算机组成,并通过用于异构网络的TCP/IP协议进行网间通信。互联网中,信息的传送是通过网中许多段的传输介质和设备(路由器,交换机,服务器,网关等等)从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。UNIX系统中,我们称之为traceroute,MS Windows中为Tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

该诊断实用程序通过向目的地发送具有不同生存时间 (TTL) 的 Internet 控制信息协议 (ICMP) 回应报文,以确定至目的地的路由。路径上的每个路由器都要在转发该 ICMP 回应报文之前将其 TTL 值至少减 1,因此 TTL 是有效的跳转计数。当报文的 TTL 值减少到 0 时,路由器向源系统发回 ICMP 超时信息。通过发送 TTL 为 1 的第一个回应报文并且在随后的发送中每次将 TTL 值加 1,直到目标响应或达到最大 TTL 值,Tracert 可以确定路由。通过检查中间路由器发发回的 ICMP 超时 (ime Exceeded) 信息,可以确定路由器。注意,有些路由器"安静"地丢弃生存时间 (TLS) 过期的报文并且对 tracert 无效。

参数

-d

指定不对计算机名解析地址。

-h maximum_hops

指定查找目标的跳转的最大数目。

-j computer-list

指定在 computer-list 中松散源路由。

-w timeout

等待由 timeout 对每个应答指定的毫秒数。

target_name

目标计算机的名称。

traceroute最简单的基本用法是:traceroute hostname

traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。

traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。

traceroute 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,traceroute给TTL记数器加1,继续进行。参见traceroute仿真动画.

折叠网关

一般使用traceroute(或者是Tracert)是基于一台主机的,但是通常您只能知道以手边的主机为源地址到互联网络上任意一台在线的主机的路由连接质量以及数据传输效率的情况,而使用基于WEB的方式,只要一台主机安装了特定的CGI程序,用户就可以通过这台主机运行相关的程序,执行traceroute的功能。这台主机我们把它叫做traceroute网关。traceroute网关可以帮助用户了解网络的物理与逻辑连接的拓扑情况以及数据传输的效率。如果这种网关足够多,我们就可以方便地了解到各主机之间连接的情况了。

折叠原理

1.几乎每一个网上人(尤其是Webmaster)对他们的计算机(或其它设备)与Internet的连接,路由(径),连通时间,速度等都很关心。使用由ChianNetMap组织起来的各地区Webmaster提供的traceroute网关的服务,将给你一个满意的答案。从你的计算机到任何别的地方,ChinaNetMap(traceroute)都能提供其间的每个设备(IP地址)及其连通时间。它可以让你画出通过网络的路径。

2.许多公司和单位都设有或正在设立自己的服务器-尤其是Web服务器。一旦有自己的Web服务器,随着网民数量的日益增加(包括潜在的,没法统计的网民),你一定很想知道是否他们都能与你连接。你的ISP如何与一个或多个NAP连接,以及他们的连接效率会直接影响到你的连接质量.

3.在选择ISP,骨干网连接,你站点的主机时,大多数有见识的网民喜欢检查该Site的连接性能及其它是怎样精确的与谁连,连到哪儿。ChinaNetMap(traceroute)将给你一个完美的答案。

折叠功能

traceroute最早是由Van Jacobson在1988写出的小程序。当时主要是解决他自己碰到的一些网络的问题。traceroute是一个正确理解IP网络并了解路由原理的重要工具。他们对负责网络工程技术与系统管理的Webmaster是一个使用方便的程序。

对ISP而言,设立traceroute网关,将使网络服务提供商帮助用户建立并维持对服务商服务质量的信心。服务质量高的ISP可以通过设立traceroute网关,使用户了解其与网络连接以及数据传输的效率。当然,基础设施差,服务质量低的ISP是比较害怕提供这种服务。因为,这样用户可以使用这一工具了解服务商网络连接情况。

在一台主机安装了相关的traceroute的CGI程序后,您可以输入相应的目的主机的IP地址或者名字,就可以得到相关的数据。

折叠命令参数

traceroute的用法为: traceroute [options] <IP-address or domain-name> [data size]

[options]的内容有:

[-n]:显示的地址是用数字表示而不是符号

[-v]:长输出

[-p]:UDP端口设置(缺省为33434)

[-q]:设置TTL测试数目(缺省为3)

[-t]:设置测包的服务类型

[data size]:每次测试包的数据字节长度(缺省为38)

折叠ICMP的应用

traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以traceroute正好就填补了这个缺憾。

traceroute的原理是非常非常的有意思,它收到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。

有人要问,我怎么知道UDP到没到达目的主机呢?这就涉及一个技巧的问题,TCP和UDP协议有一个端口号定义,而普通的网络程序只监控少数的几个号码较 小的端口,比如说80,比如说23,等等。而traceroute发送的是端口号>30000(真变态)的UDP报,所以到达目的主机的时候,目的 主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道,主机到了,所以,说traceroute是一个骗子一点也不为过。

traceroute程序里面提供了一些很有用的选项,甚至包含了IP选路的选项,请察看man文档来了解这些,这里就不赘述了。

traceroute显示*号_traceroute 的名词解释相关推荐

  1. camera(25)----拍照显示总结---名词解释

    拍照显示总结-----名词解释 1.特效:特效是相对于普通的照片或者录像,加上的一些修饰性的效果.特效一般包括声音特效和视觉特效. 2.白平衡( White Balance):就是摄像机对白色物体的还 ...

  2. python考试名词解释_程序设计(python)_章节测验,期末考试,慕课答案查询公众号...

    程序设计(python)_章节测验,期末考试,慕课答案查询公众号 更多相关问题 [名词解释] 语丝社 [问答题,简答题] 简析<雷雨>中侍萍形象 [名词解释] "人的文学&quo ...

  3. 熟读《阿里巴巴java开发手册》(六、工程结构,七、 设计规约,专有名词解释)

    目录 六.工程结构 (一) 应用分层 (二) 二方库依赖 (三) 服务器 七. 设计规约 附 2: 专有名词解释 六.工程结构 (一) 应用分层 1. [推荐] 图中默认上层依赖于下层,箭头关系表示可 ...

  4. 前置:API:DSP:核心交换机:边界网关协议:边界:(防御)防火墙:负载均衡:摆渡机:名词解释

    前置:API:DSP:核心交换机:边界网关协议:边界:(防御)防火墙:负载均衡:摆渡机:名词解释 前置: 前置,拼音qián zhì,游戏术语,在即时战略游戏(RTS)中,将建筑物建造在作战前线(例如 ...

  5. 用户行为分析的基本概览和常用名词解释

    基本概念 本节,我们主要介绍在使用小象分析来进行用户行为分析时常用到的一些名词和一些基础指标的配置说明,目的是帮助用户更好的理解和使用小象数据的功能来解决基本的分析需求. 行为分析常用名词 维度 维度 ...

  6. 生物信息学常用名词解释

    学习笔记,仅供参考 参考自:生物信息学常用名词解释1; 生物信息学常用名词解释2; 生物信息学常用名词解释3; 生物信息学常用名词解释5; 生物信息学常用名词解释6 名词解释 生物信息学(bioinf ...

  7. 【名词解释】电信技术名词解释大全

    电信技术名词解释:什么是SDH http://www.sina.com.cn 2004年07月15日18:40 新浪科技 信息高速公路近来已成为人们的热门话题.到21世纪,人们借助与信息高速公路,可以 ...

  8. 前端专业名词解释——Layout布局

    前端专业名词解释 表格(table)布局 浮动(float)布局 定位(position)布局 弹性(flex)布局 网格(gird)布局 结语 表格(table)布局 将整个页面作为一个表格进行处理 ...

  9. 黑苹果新手指导:名词解释常用软件常见问题说明

    写在前面 本文内容主要针对刚入黑苹果这个天坑两眼一抹黑的新手,涉及名词解释,常见问题等,本文长期整理更新.内容比较入门浅显,如果不能解决你的问题,请见谅. 本文涉及内容及概念较多,不必一次看完,直接看 ...

最新文章

  1. iOS根据字节数截取字符串
  2. 2.常用的实现多线程的两种方式
  3. 5、学MySQL前必须要了解的数据库专业术语
  4. 简单几何(极角排序) POJ 2007 Scrambled Polygon
  5. 从零到破万节点!支撑618大促背后的蚂蚁金服Kubernetes集群
  6. php设置session 生命周期,设置session的生命周期(php)
  7. linux内核中获取虚拟地址api,Linux内核-系统调用
  8. 学习笔记:模式学习-生成器模式
  9. 像计算机科学家一样思考(C++)
  10. Mac SecureCRT安装、破解和使用(mac版)
  11. C++之STL空间置配器
  12. Polyspace应用:Bug Finder检测代码漏洞
  13. 小篮子玩意儿、你苏爷就是扣字神话不服气么。
  14. Fcoin平台每天赠送了好多币如何处理呢?
  15. 重大计算机学院院标,计算机学院召开2021年国家自然科学基金申报动员会
  16. 整合管理,整合什么?
  17. win10解决PL2303串口错误方法
  18. html+css 实现红绿灯效果
  19. EXSI的安装配置和使用(1)
  20. CAD插件学习系列教程(九) 简单好用的CAD图层管理工具

热门文章

  1. 一次完整的http请求
  2. 腾讯专家献上技术干货,带你一览腾讯广告召回系统的演进
  3. linux redis 简书,Linux | Redis
  4. ctrl+下箭头无法到最底端_设计院10年精选,最常用的CAD命令,绘图牛人都在用...
  5. 小数加分数怎样计算讲解_“分数,小数,百分数 的互化”我这样教学,学生很快就学会了。...
  6. CodeForces 379 E New Year Tree Decorations
  7. Adaptive Execution patch and how to bulid on cdh5
  8. 计算机图像类型ppt,计算机图像处理.ppt
  9. python采集直播间数据_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...
  10. c语言判断输入类型是否为指定类型?