traceroute是一个通用的TCP/IP工具,它能显示出数据包从本地机到达目标机时经过的所有路由器。由于traceroute会人为地给网络造成一些通信负担,所有它主要被系统或网络管理员,作为一个简单而有效的网络手工查错工具使用,普通用户最好少用。尽管如此,traceroute对于用户了解Internet的结构,了解自身的网络故障会有很大帮助。
下面给出的语法和例子都是在Unix操作系统下的情况,在其它操作系统中,该命令可能有不同的使用方法或表示,例如在Windows NT和Windows 95下,类似的命令叫tracert。
traceroute的语法为:
traceroute [-m Max_ttl] [-n ] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr]
[-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize]
其中,
-m Max_ttl:指定最大生存期(Maximum Time-to-live)。也就是数据包从本地机到达目标机所经过的最大跳步(hop),即最多经过这么多路由器。缺省值为30步。
-n:只显示途径路由器的IP地址,不再显示其名字。
-p:指定包传输时使用的UDP端口号。
-q:指定每次跳步发送的探询包的数目,缺省值为3。
-v:列出详细信息。
-w WaitTime:指定每次跳步等待接收响应包的最长时间,缺省值为3秒。
Host:目标机的IP地址或机器名。
PacketSize:指定每个跳步传输的数据包的大小,缺省值为38个字节。
traceroute实际上是通过给目标机的一个非法UDP端口号发送一系列UDP数据包来工作的。使用缺省设置时,本地机给每个路由器发送3个数据包,最多可经过30个路由器。如果已经经过了30个路由器,但还未到达目标机,那么traceroute将终止。每个数据包都对应一个Max_ttl值,同一跳步的数据包该值一样,不同跳步的数据包的值从1开始,每经过一个跳步值加1。当本地机发出的数据包到达路由器时,路由器就响应一个ICMP Time Exceed消息,于是traceroute就显示出当前跳步数,路由器的IP地址或名字,3个数据包分别对应的周转时间(以ms为单位)。如果本地机在WaitTime内未收到响应包,那么在数据包的周转时间栏就显示出一个星号。当一个跳步结束时,本地机根据当前路由器的路由信息,给下一个路由器又发出3个数据包,周而复始,直到收到一个ICMP PORT_UNREACHABLE的消息,意味着已到达目标机,或者已达到指定的最大跳步数。
% traceroute www.cnc.ac.cn
traceroute to www.cnc.ac.cn (159.226.1.17), 30 hops max, 40 byte packets
1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms
2 202.112.1.210 (202.112.1.210) 4 ms 2 ms 2 ms
3 202.38.96.1 (202.38.96.1) 3 ms 2 ms 2 ms
4 159.226.1.17 (159.226.1.17) 3 ms 2 ms 2 ms
例中www.cnc.ac.cn是中科院的WWW服务器,本地机是CERNET高性能计算中心SP2的一个节点机。首先从SP2连到CERNET的HUB(202.112.35.254)出去,然后经过CERNET和CASnet的路由器到达目标服务器。可以看到,数据包的平均周转时间为2ms,这是相当快的速度了。
% traceroute www.mhpcc.edu
traceroute to wailea.mhpcc.edu (164.122.9.37), 30 hops max, 40 byte packets
1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms
2 202.112.1.198 (202.112.1.198) 7 ms 11 ms 4 ms
3 us-igw.net.edu.cn (202.112.1.206) 45 ms 54 ms *
4 gsl-stock-3-Serial10/4.gsl.net (204.59.160.245) 554 ms 552 ms 575 ms
5 gsl-sl-stock-fddi.gsl.net (204.59.128.198) 559 ms 553 ms 551 ms
6 sl-mae-w-H3/0-T3.sprintlink.net (144.228.10.110) 562 ms 557 ms 564 ms
7 mae-west.dren.net (198.32.136.81) 571 ms 622 ms 587 ms
8 wahiawa-nctams.dren.net (138.18.232.2) 677 ms 617 ms 621 ms
9 maui.dren.net (138.18.236.1) 611 ms 649 ms 629 ms
10 bcn77-f11-7.mhpcc.edu (164.122.7.7) 613 ms 608 ms 610 ms
11 wailea.mhpcc.edu (164.122.9.37) 622 ms 617 ms *
要到达MHPCC的WWW服务器,在第3跳步到达CERNET通往美国的路由器,然后经过Sprint公司的其它路由器在第8跳步到达Hawaii,最后经过Maui的路由器到达目标节点。可以看出,从本地机发往国内几个路由器的周转时间为几十ms,到达美国后猛增到500多ms。
分享到:
相关推荐
TCP/IP网络编程知识 基于ICMP的路由跟踪(traceroute)程序!程序代码如果不正确,自己调试!
一个实时跟踪显示网络访问路由信息的小软件,超好用!!!
Traceroute路由跟踪扫描 使用-traceroute可以得到本机到目标主机之间的拓扑结构和路由信息。从Nmap结果 可以看出,本地主机到10.3.9.254一共要经过4跳才能到达。拓扑图如下 再对校内的图书馆,教务处,...
Best Trace是一款可以在你的设备上发起 traceroute 请求,附带链路可视化的软件,它不仅可以在地图上标注路由的所在位置和AS号,还支持查询本机IP和批量Ping等。
利用C++编写的一个模仿tracert路由跟踪的程序自己本人实现。可以自由选择本地网卡,指定对应的目的ip
资源是路由跟踪工具traceroute的rpm安装包,对于red hat不支持yum的系统非常便捷
WinMTR是一个免费的MS Windows可视化应用程序,它结合了traceroute和在一个单一的网络诊断工具的功能。Tracert路由跟踪Ping工具。
路由跟踪测试小工具 WinMTR 中文版 路由跟踪测试小工具 WinMTR 中文版 WinMTR 是一个轻便的便携式应用程序,结合了 Ping 和 Traceroute 命令来测试计算机与主机之间的通信。 由于不需要安装,因此您只需将可执行...
跟踪路线 在网络课程中进行简单的路由跟踪 用法 > make > sudo ./traceroute <ip>
Traceroute跟踪从IP网络获取的路由数据包到达给定主机的过程。 它利用IP协议的生存时间(TTL)字段,并尝试从每个网关到主机的路径引发ICMP TIME_EXCEEDED响应。 渲染图像 新增至专案 dependencies { ...
现代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP应答(ICMP echo)或UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许反向(inbound)TCP数据包通过防火墙到达...
本代码实现利用ICMP进行路由跟踪。 关键字:ICMP,TraceRoute,TTL,IPPROTO_ICMP,SOCK_RAW,路由跟踪
计算机网路traceroute编程, 使用c语言,跟踪路由,有截图,亲测可用!
C ++库和CLI: ... 生成多路径跟踪路线的图形可视化 用熊猫做统计分析 有关更多信息,请参见 。 反馈非常欢迎! 您可以,或直接与我联系,有关详细联系信息,请参阅 。 但是,简单地说,您可以在多路
该项目的灵感来自Digininja的HTTP跟踪路由,可,因为我想使用Go进行拍摄。 它是如何工作的? 安装Go并编译: go build http-traceroute.go 然后,启动它: $ ./http-traceroute "http://www.yahoo.com" Initial ...
用于Chrome的Whois:registered:一键式跟踪路由扩展为在任何给定域(例如google.com)或子域(例如chrome.google.com)上执行跟踪路由提供了更快的选择。 一旦traceroute完成,您也可以通过将结果发布到t.co缩短的url...
跟踪路由跟踪数据包通过互联网从MIT的服务器到任何网站的路径。 使用traceroute获取IP地址,使用ipinfo.io将这些IP地址映射到坐标,然后使用Google Maps API绘制这些坐标。 受我上一堂课的启发,我们在2013年Spring...
路由跟踪,图形化界面, 老外写的 路由跟踪,图形化界面, 老外写的
基于MFC可视化界面的路由跟踪软件
跟踪路线可视化使用ipstack API可视化跟踪路由路径的简单工具