学习啦>学习电脑>操作系统>Linux教程>

Linux系统traceroute命令怎么用应用实例

加城分享

  Linux系统我们需要跟踪网络数据包的路由途径并得到数据包信息,可以用traceroute命令实现,具体怎么操作呢。下面由学习啦小编为大家整理了linux系统中traceroute命令使用详解,希望对大家有帮助!

  Linux系统中traceroute命令使用详解

  1.命令格式:

  traceroute[参数] [主机]

  2.命令功能:

  traceroute 指令让你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置。

  具体参数格式: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  开启或关闭数据包的正确性检验

  linux系统中traceroute命令实例

  实例1:traceroute 用法简单,最常用的用法

  命令:traceroute  www.google.com

  说明:

  记录按序列号从1开始,每个记录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是 -q 的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.google.com, 表示向每个网关发送4个数据包

  有时我们 traceroute 一台主机时,会看到有一些行是以星号表示的。出现这种情况,可能是防火墙封掉了 ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

  有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因,当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加 -n 参数来避免DNS 解析,以 IP格式 输出数据。

  如果在局域网中的不同网段之间,我们可以通过 traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到 traceroute 追踪数据包所经过的网关,提交 IDC 服务商,也有助于解决问题;但目前看来国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

  实例2:

  traceroute -p 6888 www.baidu.com

  输出:

  [root@localhost ~]# traceroute -p 6888 www.baidu.com

  traceroute to www.baidu.com (220.181.111.147), 30 hops max, 40 byte packets

  1 211.151.74.2 (211.151.74.2) 4.927 ms 5.121 ms 5.298 ms

  2 211.151.56.1 (211.151.56.1) 0.500 ms 0.499 ms 0.509 ms

  3 211.151.224.90 (211.151.224.90) 0.637 ms 0.631 ms 0.641 ms

  4 * * *

  5 220.181.70.98 (220.181.70.98) 5.050 ms 5.313 ms 5.596 ms

  6 220.181.17.94 (220.181.17.94) 1.665 ms !X * *

  [root@localhost ~]#

    3973253