通过 traceroute 我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MS Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址。

在大多数情况下,我们会在linux主机系统下,直接执行命令行:traceroute hostname

而在Windows系统下是执行tracert的命令:tracert hostname

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 开启或关闭数据包的正确性检验。

4、使用实例

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

命令:traceroute www.baidu.com

输出:

[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets1  192.168.74.2 (192.168.74.2)  2.606 ms  2.771 ms  2.950 ms2  211.151.56.57 (211.151.56.57)  0.596 ms  0.598 ms  0.591 ms3  211.151.227.206 (211.151.227.206)  0.546 ms  0.544 ms  0.538 ms4  210.77.139.145 (210.77.139.145)  0.710 ms  0.748 ms  0.801 ms5  202.106.42.101 (202.106.42.101)  6.759 ms  6.945 ms  7.107 ms6  61.148.154.97 (61.148.154.97)  718.908 ms * bt-228-025.bta.net.cn (202.106.228.25)  5.177 ms7  124.65.58.213 (124.65.58.213)  4.343 ms  4.336 ms  4.367 ms8  202.106.35.190 (202.106.35.190)  1.795 ms 61.148.156.138 (61.148.156.138)  1.899 ms  1.951 ms9  * * *
30  * * *
[root@localhost ~]#

说明:

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

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

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

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

实例2:跳数设置

[root@localhost ~]#  traceroute  10.43.116.161
traceroute to 10.43.116.161 (10.43.116.161), 30 hops max, 60 byte packets1  10.43.85.1 (10.43.85.1)  3.232 ms  13.354 ms  23.230 ms2  10.43.66.157 (10.43.66.157)  9.944 ms  20.061 ms  30.136 ms3  10.43.66.125 (10.43.66.125)  0.926 ms  1.668 ms  2.364 ms4  10.43.65.5 (10.43.65.5)  2.350 ms  3.242 ms  4.083 ms5  10.43.2.170 (10.43.2.170)  1.527 ms  2.767 ms  4.066 ms6  10.43.116.161 (10.43.116.161)  0.267 ms  0.267 ms  0.331 ms[root@localhost ~]#  traceroute  -m 3 10.43.116.161
traceroute to 10.43.116.161 (10.43.116.161), 3 hops max, 60 byte packets1  10.43.85.1 (10.43.85.1)  8.294 ms  18.561 ms  28.237 ms2  10.43.66.157 (10.43.66.157)  5.317 ms  15.045 ms  25.474 ms3  10.43.66.125 (10.43.66.125)  0.954 ms  1.635 ms  2.327 ms
[root@localhost ~]#

说明:使用参数 -m 设置仅发送 3 跳报文,即使没有探测到主机也不在发送。

实例3:显示IP地址,不查主机名

[root@localhost ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets1  211.151.74.2  5.430 ms  5.636 ms  5.802 ms2  211.151.56.57  0.627 ms  0.625 ms  0.617 ms3  211.151.227.206  0.575 ms  0.584 ms  0.576 ms4  210.77.139.145  0.703 ms  0.754 ms  0.806 ms5  202.106.42.101  23.683 ms  23.869 ms  23.998 ms6  202.106.228.37  247.101 ms * *7  61.148.146.29  5.256 ms 124.65.58.213  4.386 ms  4.373 ms8  202.106.35.190  1.610 ms 61.148.156.138  1.786 ms 61.148.3.34  2.089 ms9  * * *
30  * * *
[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets1  211.151.74.2 (211.151.74.2)  4.671 ms  4.865 ms  5.055 ms2  211.151.56.57 (211.151.56.57)  0.619 ms  0.618 ms  0.612 ms3  211.151.227.206 (211.151.227.206)  0.620 ms  0.642 ms  0.636 ms4  210.77.139.145 (210.77.139.145)  0.720 ms  0.772 ms  0.816 ms5  202.106.42.101 (202.106.42.101)  7.667 ms  7.910 ms  8.012 ms6  bt-228-025.bta.net.cn (202.106.228.25)  2.965 ms  2.440 ms 61.148.154.97 (61.148.154.97)  431.337 ms7  124.65.58.213 (124.65.58.213)  5.134 ms  5.124 ms  5.044 ms8  202.106.35.190 (202.106.35.190)  1.917 ms  2.052 ms  2.059 ms9  * * *
30  * * *
[root@localhost ~]# 

说明:注意第6条路由器不在显示域名。

实例4:把探测包的个数设置为值4

[root@localhost ~]# traceroute -q 4 www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets1  211.151.74.2 (211.151.74.2)  40.633 ms  40.819 ms  41.004 ms  41.188 ms2  211.151.56.57 (211.151.56.57)  0.637 ms  0.633 ms  0.627 ms  0.619 ms3  211.151.227.206 (211.151.227.206)  0.505 ms  0.580 ms  0.571 ms  0.569 ms4  210.77.139.145 (210.77.139.145)  0.753 ms  0.800 ms  0.853 ms  0.904 ms5  202.106.42.101 (202.106.42.101)  7.449 ms  7.543 ms  7.738 ms  7.893 ms6  61.148.154.97 (61.148.154.97)  316.817 ms bt-228-025.bta.net.cn (202.106.228.25)  3.695 ms  3.672 ms *7  124.65.58.213 (124.65.58.213)  3.056 ms  2.993 ms  2.960 ms 61.148.146.29 (61.148.146.29)  2.837 ms8  61.148.3.34 (61.148.3.34)  2.179 ms  2.295 ms  2.442 ms 202.106.35.190 (202.106.35.190)  7.136 ms9  * * * *
30  * * * *
[root@localhost ~]# 

说明:可见每一个路由器有4个回复报文时间。

实例5:绕过正常的路由表,直接发送到网络相连的主机

//本机为10.43.85.162
[root@localhost ~]#  traceroute -r 10.43.85.223
traceroute to 10.43.85.223 (10.43.85.223), 30 hops max, 60 byte packets1  10.43.85.223 (10.43.85.223)  1.126 ms  1.127 ms  1.117 ms
[root@localhost ~]#  traceroute -r 10.43.42.199
traceroute to 10.43.42.199 (10.43.42.199), 30 hops max, 60 byte packets
connect: Network is unreachable

说明:主要用于验证目标主机是否和本机在一个子网下

实例6:把对外发探测包的等待响应时间设置为3秒

[root@localhost ~]# traceroute -w 3 www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets1  211.151.74.2 (211.151.74.2)  2.306 ms  2.469 ms  2.650 ms2  211.151.56.1 (211.151.56.1)  0.621 ms  0.613 ms  0.603 ms3  211.151.227.206 (211.151.227.206)  0.557 ms  0.560 ms  0.552 ms4  210.77.139.145 (210.77.139.145)  0.708 ms  0.761 ms  0.817 ms5  202.106.42.101 (202.106.42.101)  7.520 ms  7.774 ms  7.902 ms6  bt-228-025.bta.net.cn (202.106.228.25)  2.890 ms  2.369 ms 61.148.154.97 (61.148.154.97)  471.961 ms7  124.65.58.221 (124.65.58.221)  4.490 ms  4.483 ms  4.472 ms8  123.126.6.198 (123.126.6.198)  2.948 ms 61.148.156.6 (61.148.156.6)  7.688 ms  7.756 ms9  * * *
30  * * *

说明:时间粒度太大,无法看出结果。

实例7:探测包使用的基本UDP端口设置 35000

说明:主要用于设置起始UDP报文的目标端口,后续的UDP报文目标端口在此基础上递增。

traceroute 命令使用方法详解相关推荐

  1. Linux中history历史命令使用方法详解

    在/etc/profile里添加如下:#History export HISTTIMEFORMAT="[%F %T]" HISTDIR=/home/common/.hist if ...

  2. PHP连接redis并执行redis相关命令的方法详解

    PHP连接redis并执行redis相关命令的方法详解 连接redis库的方法 共性的运算归类 redis服务类函数 set 操作增删改查 List栈的结构,注意表头表尾,创建更新分开操作 Set,没 ...

  3. telnet 命令使用方法详解,telnet命令怎么用

    telnet 命令使用方法详解,telnet命令怎么用? 文章类型:电脑教程 原创:天诺时空   什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协 ...

  4. 计算机常用命令ipconfg,ipconfig命令有什么作用?几个常用的ipconfig命令使用方法详解...

    ipconfig命令有什么作用?在使用Windows系统的过程中,我们经常会使用CMD命令提示符.而ipconfig是命令提示符比较常用的命令之一,很多用户不知道如何使用ipconfig命令,下面装机 ...

  5. php能做定时关机吗,window_win10怎么定时关机?Win10系统定时关机命令使用方法详解,对于电脑用户来说,定时关机 - phpStudy...

    win10怎么定时关机?Win10系统定时关机命令使用方法详解 对于电脑用户来说,定时关机有时候经常会用到,比如夜间下载东西或者下载一些大文件,而又没有时间一直守着电脑,这时候设置电脑定时关机就很实用 ...

  6. talent 命令_telnet 命令使用方法详解,telnet命令怎么用?

    什么是Telnet? 对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具.一旦入侵者与远程主机建立了Telnet ...

  7. linux history存放位置,Linux中history历史命令使用方法详解

    当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升.事实上,一旦你掌握了我在下面给出的15个有关Linux history历史命令 ...

  8. Linux下SSH命令使用方法详解

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

  9. Oracle中SPOOL命令使用方法详解

    举例:test.sh  代码如下 复制代码 #! /bin/sh sqlplus -s scott/tiger<<EOF  set head off  set linesize 20000 ...

最新文章

  1. OpenGL多维数据集的透视图渲染
  2. android BluetoothAdapter无法搜索到蓝牙问题
  3. CF-525E(E. Anya and Cubes) Meet-in-the-Middle
  4. python dataframe float转string_盘点Python:Pandas1.0的主要功能
  5. com.mysql.cj.exceptions.InvalidConnectionAttributeException
  6. 专科计算机应用计算机网络,西南科技大学自考计算机应用及计算机网络(专科).doc...
  7. 字符串型String
  8. 第八届蓝桥杯第一题购物单
  9. linux使用小命令使用汇集
  10. 手把手教你进行R语言的安装及安装过程中相关问题解决方案...
  11. Linux 下制作虚拟软盘镜像
  12. net core 使用Newtonsoft.Json 读取Json文件数据
  13. python实现海康sdk二次开发,移动侦测事件(一)
  14. 极速office如何插入超链接
  15. android直播sdk+美颜,短视频SDK,美颜SDK,直播SDK_提供开放API接口
  16. 复合型数据结构:C数组
  17. 自下而上和自上而下的注意力:不同的过程和重叠的神经系统 2014sci
  18. 亨登谈判策略(转载)
  19. 阿拉伯文变形规范,阿拉伯语变形规则,阿拉伯文组合规则
  20. 修改UINavigationItem标题字体

热门文章

  1. Ubuntu下Android开发环境搭建
  2. 混合云存储网关云上部署版本介绍
  3. LeetCode每日一题——670. 最大交换
  4. 第18章 HTML5动画设计
  5. 人们通常先在线性表尾部临时添加一个_直播技巧 一个好的直播间标题,首先决定了你的人气基础...
  6. 了解动作电位的传导机制
  7. 显示杂谈(8)色域,色偏及色温
  8. ARM架构与内核之间关系的简单讲解
  9. 原生JS的canvas标签画时钟
  10. 人工智能时代,为大家推荐几款国外优秀的人工智能商务工具