`
glacier3
  • 浏览: 385107 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

TRACEROUTE的介绍与功能

阅读更多
什么是Traceroute?

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

在大多数情况下,作为网络工程技术人员或者系统管理员会在UNIX主机系统下,直接执行命令行:
       Traceroute hostname
而在Windows系统下是执行Tracert的命令:
 Tracerert hostname
比如在北京地区使用windows NT 主机(已经与北京163建立了点对点的连接后)
使用NT系统中的Tracert命令:(用户可用:开始->运行,输入"command" 调出command窗口使用此命令)

C:\>tracert www.yahoo.com

Tracing route to www.yahoo.com [204.71.200.75]
over a maximum of 30 hops:

1 161 ms 150 ms 160 ms 202.99.38.67
2 151 ms 160 ms 160 ms 202.99.38.65
3 151 ms 160 ms 150 ms 202.97.16.170
4 151 ms 150 ms 150 ms 202.97.17.90
5 151 ms 150 ms 150 ms 202.97.10.5
6 151 ms 150 ms 150 ms 202.97.9.9
7 761 ms 761 ms 752 ms border7-serial3-0-0.Sacramento.cw.net [204.70.122.69]
8 751 ms 751 ms * core2-fddi-0.Sacramento.cw.net [204.70.164.49]
9 762 ms 771 ms 751 ms border8-fddi-0.Sacramento.cw.net [204.70.164.67]
10 721 ms * 741 ms globalcenter.Sacramento.cw.net [204.70.123.6]
11 * 761 ms 751 ms pos4-2-155M.cr2.SNV.globalcenter.net [206.132.150.237]
12 771 ms * 771 ms pos1-0-2488M.hr8.SNV.globalcenter.net [206.132.254.41]
13 731 ms 741 ms 751 ms bas1r-ge3-0-hr8.snv.yahoo.com [208.178.103.62]
14 781 ms 771 ms 781 ms www10.yahoo.com [204.71.200.75]

Trace complete.
您目前正在ONLINE状态的话,可以直接尝试一下。

参数说明:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

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

参数
-d
指定不对计算机名解析地址。
-h maximum_hops
指定查找目标的跳转的最大数目。
-jcomputer-list
指定在 computer-list 中松散源路由。
-w timeout
等待由 timeout 对每个应答指定的毫秒数。
target_name
目标计算机的名称。

二、什么是Traceroute网关—— Traceroute  Gateway?

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

为什么要使用Traceroute?

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

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

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

、Traceroute的功能介绍

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

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

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

如:在美国的主机http://bs.mit.edu:8001/cgi-bin/traceroute上
查询其到中国南京的北极星站点www.lodesoft.com(中国Webmaster联盟的合作伙伴)数据传输的路径。
查询界面为
Traceroute Hack

查询结果为:

Traceroute Hack
1 E40-RTR-E40SERVER72-ETHER.MIT.EDU (18.72.0.1) 4 ms 4 ms 4 ms
2 EXTERNAL-RTR-FDDI.MIT.EDU (18.168.0.12) 4 ms 4 ms 4 ms
3 f1-0.cambridge2-br2.bbnplanet.net (192.233.33.6) 4 ms 4 ms 4 ms
4 s11-0-1.cambridge1-br1.bbnplanet.net (4.0.1.201) 8 ms 4 ms 4 ms
5 p1-0.cambridge1-nbr2.bbnplanet.net (4.0.1.45) 4 ms 4 ms 4 ms
6 p4-1.bstnma1-ba1.bbnplanet.net (4.0.2.170) 4 ms 4 ms 4 ms
7 p1-0.bstnma1-ba2.bbnplanet.net (4.24.4.194) 4 ms 8 ms 8 ms
8 p2-1.nyc4-nbr3.bbnplanet.net (4.24.4.238) 8 ms 12 ms 12 ms
9 p1-0.nyc4-nbr2.bbnplanet.net (4.0.5.25) 8 ms 12 ms 8 ms
10 p4-0.sanjose1-nbr2.bbnplanet.net (4.0.5.97) 70 ms 70 ms 70 ms
11 p1-0.sanjose1-nbr1.bbnplanet.net (4.0.5.85) 70 ms 70 ms 70 ms
12 p4-0.paloalto-nbr2.bbnplanet.net (4.0.1.1) 70 ms 74 ms 70 ms
13 p0-0-0.paloalto-cr18.bbnplanet.net (4.0.3.86) 70 ms 74 ms 74 ms
14 h1-0.atteasylink.bbnplanet.net (4.1.142.254) 74 ms 74 ms 78 ms
15 199.37.127.234 (199.37.127.234) 78 ms 74 ms 78 ms
16 205.174.74.170 (205.174.74.170) 230 ms 238 ms 227 ms
17 202.97.9.65 (202.97.9.65) 238 ms 231 ms 223 ms
18 * 202.97.9.49 (202.97.9.49) 234 ms *
19 202.97.10.110 (202.97.10.110) 246 ms 250 ms *
20 202.97.24.178 (202.97.24.178) 234 ms 238 ms 238 ms
21 202.102.24.74 (202.102.24.74) 234 ms 254 ms *

五、Traceroute的命令参数:

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

[options]的内容有:

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

[-v]:长输出

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

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

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

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

六、Traceroute的工作原理:
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-2.1.0.rar

    《Linux系统中的Traceroute命令详解与安装指南》 Traceroute是一款在计算机网络中用于追踪数据包从源到目的地经过的路由节点的工具。它通过发送带有不同TTL(Time To Live,生存时间)值的数据包来实现这一功能,...

    ping 和 traceroute 的实现

    与 `ping` 不同,`traceroute` 逐跳增加 IP 数据报的“Time to Live”(TTL)字段,使得每个路由器在转发时都会将 TTL 减一。当 TTL 减至零时,路由器会丢弃该包并发送一个 ICMP “超时”消息回源主机。这样,源主机...

    如何在Cisco设备上停止Traceroute或Ping?.docx

    本文将详细介绍如何在 Cisco 设备上停止 Traceroute 或 Ping。 Traceroute 的基本原理 Traceroute 用于确定到达目标主机所经过的路由路径。它发送一系列的 Internet 控制消息协议(ICMP)回声请求(Echo Request)...

    traceroute工具

    1. **CountryTraceRoute.chm**:这可能是一个包含CountryTraceRoute工具的帮助文档,CHM是Microsoft编写的HTML帮助文件格式,用于提供软件的详细使用指南和功能介绍。 2. **CountryTraceRoute.exe**:这很可能是...

    非root权限移植busybox 和 traceroute 示例程序

    这个博客详细介绍了如何在非root环境下进行Busybox和Traceroute的移植步骤,包括源码下载、编译、配置以及解决权限问题的技巧。通过阅读和实践,开发者可以了解如何在没有管理员权限的情况下有效地进行系统管理和...

    Linux基础课件网络测试命令traceroute命令共1

    5. **与其他网络命令的结合**:可能还会介绍traceroute与其他网络命令如ping、nslookup或tcpdump的配合使用,以获取更全面的网络诊断信息。 6. **安全注意事项**:使用traceroute时可能涉及的网络安全问题,比如...

    网络编程—Traceroute程序实例.pdf

    综上所述,《网络编程—Traceroute程序实例》不仅涵盖了Traceroute的基本概念,还详细介绍了其实现原理和设计过程,对于学习网络编程和网络诊断的读者来说是一份宝贵的参考资料。通过阅读和实践这份文档,读者可以...

    traceroute程序设计及实现.doc

    标题提到的“traceroute程序设计及实现.doc”是一份关于 traceroute 程序设计与实现的文档,该文档可能详细介绍了如何开发一个用于路由追踪的工具。traceroute 是一个网络诊断工具,它可以帮助用户了解数据包在网络...

    traceroute-travelogue:适用于2021年BROWSER节

    traceroute-旅行 Vue组件 您最关心的是src/components 。 App.vue本质上是网站的主页。 组件通常是较小的标记+样式+行为。 您可以看到按模板/脚本/样式标签进行的拆分。 在模板部分,基本上是带有一些附加条件HTML...

    Android 和iOS客户端网络问题诊断数据收集手册

    本手册将介绍 Android 和 iOS 两个平台上常用的网络诊断工具。 1.1 Android-网络万用表 Android 平台上,网络万用表是一款功能强大的网络诊断工具。它提供了多种网络诊断功能,包括: * 域名解析 * Ping * 出口 ...

    功能参数及技术参数.pdf

    本文档主要介绍了某网闸系统的功能参数及技术参数,涵盖了系统架构、接口配置、吞吐量、管理维护功能、网络配置、监控工具、资源定义、访问控制等多个方面。 系统架构方面,本系统采用“2+1”系统架构,主机系统...

    The Tracer

    【标题】"The Tracer" 是一款专门针对网络路由跟踪的高级软件,它结合了多种功能,如THA(Traceroute Analysis)分析、Traceroute、WHOIS查询以及端口扫描器,为网络管理员和IT专业人士提供了强大的网络诊断工具。...

    Python库 | icmplib-1.2.2-py3-none-any.whl

    2. **Traceroute功能**:类似于Linux命令行中的traceroute,icmplib也实现了这一功能,用于追踪数据包在网络中从源到目的地经过的路由器路径。这对于分析网络延迟、检测路由问题十分有用。 3. **自定义ICMP报文**:...

    MobaXterm是一款功能强大的远程计算和网络管理工具.docx

    以下是对MobaXterm的详细介绍: 一、主要功能 SSH客户端:MobaXterm提供了一个强大的SSH客户端,支持SSH1和SSH2协议,以及多种加密算法和认证方法。这使得用户可以安全地连接到远程服务器,并进行终端操作,如命令...

    net-diagnosis:ios平台网络诊断SDK,支持对ip和域名的ping,traceroute(udp,icmp协议),支持tcp ping, 端口扫描,nslookup,局域网活跃ip扫描等功能-----------Ios platform network diagnostic SDK, support ip and domain name ping, traceroute (udp, icmp protocol), support tcp ping, port scan, nslookup,

    介绍 通过集成iOS network diagnostics sdk您可以轻松地在iPhone上执行ping / traceroute /移动公共网络信息/端口扫描。 拍摄使用此SDK开发的网络诊断应用的屏幕截图: 欢迎星叉 环境 iOS&gt; = 9.0 Xcode&gt; = 7.0 ...

    IP新技术进阶系列 - SRv6 Ping&Tracert深度解析

    目前,Ping&Tracert作为链路连通性检测和故障定位的重要手段,适用场景极广,本次课程将选取对SRv6网络进行Ping&Tracert检测的场景,以一个示例为主线,深度解析检测过程,解密报文交互与协议扩展,通过介绍关键命令...

    MyLanViewer.5.3.2一款功能强大的网络IP监视器和局域网扫描工具.rar

    功能介绍  MyLanViewer网络扫描仪/ IP扫描仪是一个强大的NetBIOS和IP扫描器,whois和traceroute工具,远程关机和局域网唤醒(WOL)管理工具,LAN Messenger和网络监控。  该方案显示网络上的计算机在一个易于...

    2023最新全功能版在线WEB工具箱PHP源码_66toolkit.zip

    4. **网络工具**:如ping、traceroute、端口扫描等功能,帮助排查网络问题。 5. **文本处理**:如文本替换、提取、查找等操作,方便处理大量文本数据。 6. **日期时间**:日期时间的转换、计算和格式化,支持多种...

    网络命令工具的使用和理解

    根据给定文件的信息,我们可以提炼出与网络命令工具相关的知识点,并对题目中涉及的问题进行解析。下面将分别介绍网络命令工具的基本概念、用途以及题目中所提到的具体问题的解答。 ### 网络命令工具的基本概念及...

Global site tag (gtag.js) - Google Analytics