快捷搜索:

网络测试基础: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.

参数阐明:

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?

险些每一个网上人(尤其是webmaster)对他们的谋略机(或其它设备)与internet的连接,路由(径),连通光阴,速率等都很关心。应用由

chiannetmap组织起来的各地区webmaster供给的traceroute网关的办事,将给你一个知足的谜底。从你的谋略机到任何其余地方,

chinanetmap(traceroute)都能供给其间的每个设备(ip地址)及其连通光阴。它可以让你画出经由过程收集的路径。

许多公司和单位都设有或正在设立自己的办事器-尤其是web办事器。一旦有自己的web办事器,跟着网夷易近数量的日益增添(包括潜在的,没法统计的网夷易近),

你必然很想知道是否他们都能与你连接。你的isp若何与一个或多个nap连接,以及他们的连接效率会直接影响到你的连接质量.

在选择isp,骨干网连接,你站点的主机时,大年夜多半有见识的网夷易近爱好反省该site的连接机能及其它是如何正确的与谁连,连到哪儿。chinanetmap(traceroute)将给你一个完美的谜底。

四、traceroute的功能先容:

traceroute最早是由van

jacobson在1988写出的小法度榜样。当时主如果办理他自己碰着的一些收集的问题。traceroute是一个精确理解ip收集并懂得路由道理的紧张

对象。他们对认真收集工程技巧与系统治理的webmaster是一个应用方便的法度榜样。

对isp而言,设立traceroute网关,将使收集办事供给商赞助用户建立并保持对办事商办事质量的信心。办事质量高的isp可以经由过程设立

traceroute网关,应用户懂得其与收集连接以及数据传输的效率。当然,根基举措措施差,办事质量低的isp是对照害怕供给这种办事。由于,这样用户可

以应用这一对象懂得办事商今朝的收集连接环境。

在一台主机安装了相关的traceroute的cgi法度榜样后,您可以输入响应的目的主机的ip地址或者名字,就可以获得相关的数据:

五、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 face="宋体" 有一个固定的光阴等待相应(icmp

ttl到期消息)。假如这个光阴过了,它将打印出一系列的*号注解:在这个路径上,这个设备不能在给定的光阴内发出icmp

ttl到期消息的相应。然后,traceroute给ttl记数器加1,继承进行。

您可能还会对下面的文章感兴趣: