通过traceroute
可以知道信息从计算机到互联网另一端的主机数据经过什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute
,在MS Windows中为tracert
。 traceroute
通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute
要测3
次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。
在大多数情况下,在linux主机系统可直接执行命令行:
traceroute hostname
Shell
而在Windows系统下是执行tracert
的命令:
tracert hostname
Shell
1.命令格式
traceroute[参数][主机]
2.命令功能
traceroute
指令可追踪网络数据包的路由途径,预设数据包大小是40Bytes
,用户可另行设置。
具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
3.命令参数
-d
使用Socket层级的排错功能。-f
设置第一个检测数据包的存活数值TTL的大小。-F
设置勿离断位。-g
设置来源路由网关,最多可设置8个。-i
使用指定的网络界面送出数据包。-I
使用ICMP回应取代UDP资料信息。-m
设置检测数据包的最大存活数值TTL的大小。-n
直接使用IP地址而非主机名称。-p
设置UDP传输协议的通信端口。-r
忽略普通的Routing Table,直接将数据包送到远端主机上。-s
设置本地主机送出数据包的IP地址。-t
设置检测数据包的TOS数值。-v
详细显示指令的执行过程。-w
设置等待远端主机回报的时间。-x
开启或关闭数据包的正确性检验。
注意:有的系统(如:Centos7)上默认不安装
traceroute
命令工具,那么就要使用 root 用户先安装好了再使用。使用yum install traceroute
命令来安装即可。
4.使用实例
实例1:traceroute
用法简单、最常用的用法
命令:
traceroute www.yiibai.com
Shell
输出:
[yiibai@localhost ~]$ traceroute www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
1 112.66.64.1 (112.66.64.1) 3.789 ms 5.548 ms 2.798 ms
2 218.77.139.177 (218.77.139.177) 6.378 ms 4.787 ms 4.786 ms
3 218.77.137.73 (218.77.137.73) 30.638 ms 29.539 ms 31.520 ms
4 202.97.85.94 (202.97.85.94) 46.474 ms * *
5 * * *
6 * 115.236.101.209 (115.236.101.209) 48.751 ms 115.236.101.217 (115.236.101.217) 47.206 ms
7 42.120.247.73 (42.120.247.