Linux :traceroute
traceroute是一个通用的TCP/IP工具,它能显示出数据包从本地机到达目标机时经过的所有路由器。traceroute对于用户了解Internet的结构,了解网络故障会有很大帮助。
由于traceroute会人为地给网络造成一些通信负担,所有它主要被系统或网络管理员,作为一个简单而有效的网络手工查错工具使用。
语法
traceroute [-m Max_ttl] [-n ] [-p Port] [-q Nqueries] [-r] [-s SRC_Addr] [-t TypeOfService] [-v] [-w WaitTime] Host [PacketSize]
参数说明
-m Max_ttl
指定最大生存期,也就是数据包从本地机到达目标机所经过的最大跳步(hop),即最多经过这么多路由器。缺省值为30步。
-n
只显示途径路由器的IP地址,不再显示其名字。
-p
指定包传输时使用的UDP端口号。
-q
指定每次跳步发送的探询包的数目,缺省值为3。
-v
列出详细信息。
-w WaitTime
指定每次跳步等待接收响应包的最长时间,缺省值为3秒。
Host
目标机的IP地址或机器名。
PacketSize
指定每个跳步传输的数据包的大小,缺省值为38个字节。
应用实例
www.cnc.ac.cn是中科院的服务器,本地机是CERNET高性能计算中心SP2的一个节点机。
首先从SP2连到CERNET的 HUB(202.112.35.254)出去,然后经过CERNET和CASnet的路由器到达目标服务器。可以看到,数据包的平均周转时间为2ms。
% 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