精华内容
下载资源
问答
  • traceroute出现*的分析
    2021-05-18 06:48:46

    [root@acer ~]# traceroute  -w  20    xiyou.edu.cn

    traceroute to xiyou.edu.cn (202.117.128.8), 30 hops max, 60 byte packets

    1  192.168.1.100 (192.168.1.100)  0.220 ms  0.200 ms  0.187 ms

    2  222.24.12.1 (222.24.12.1)  0.700 ms  0.935 ms  0.928 ms

    3  222.24.63.65 (222.24.63.65)  0.908 ms  1.371 ms  1.895 ms

    4  222.24.63.1 (222.24.63.1)  5.830 ms  6.817 ms  7.798 ms

    5  * * *

    6  * * *

    7  * * *

    8  * * *

    9  * * *

    10  * * *

    11  * * *

    12  * * *

    13  * * *

    14  * * *

    15  * * *

    16  * * *

    17  * * *

    18  * * *

    19  * * *

    20  * * *

    21  * * *

    22  * * *

    23  * * *

    24  * * *

    25  * * *

    26  * * *

    27  * * *

    28  * * *

    29  * * *

    30  * * *

    [root@acer ~]# traceroute  -w  20    222.24.21.240

    traceroute to 222.24.21.240 (222.24.21.240), 30 hops max, 60 byte packets

    1  192.168.1.100 (192.168.1.100)  0.240 ms  0.214 ms  0.201 ms

    2  222.24.12.1 (222.24.12.1)  0.817 ms  1.038 ms  1.346 ms

    3  222.24.21.240 (222.24.21.240)  1.266 ms !X  1.262 ms !X  1.250 ms !X

    [root@acer ~]#

    [root@acer ~]# traceroute  -w  5    222.24.21.240

    traceroute to 222.24.21.240 (222.24.21.240), 30 hops max, 60 byte packets

    1  192.168.1.100 (192.168.1.100)  0.245 ms  0.231 ms  0.217 ms

    2  222.24.12.1 (222.24.12.1)  0.814 ms  0.959 ms  0.945 ms

    3  222.24.21.240 (222.24.21.240)  0.734 ms !X  0.734 ms !X  0.722 ms !X

    你要好好理解一下 ICMP traceroute的原理就知道了

    使用ICMP Echo Request, Echo Reply and TTL-expired.

    源发出 ICMP

    Equest,第一个request的TTL为1,第二个request的TTL为2,以后依此递增直至第30个;

    中间的router送回ICMP

    TTL-expired ( ICMP type 11)

    通知source,(packet同时因TTL超时而被drop),

    由此source知晓一路上经过的每一个router;最后的destination

    送回ICMP Echo Reply(最后一跳不会再

    回ICMP TTL-expired)。

    所以中间任何一个router上如果封了ICMP Echo Request, traceroute就不能工作;如果封了type 11

    (TTL-expired), 中间的router全看不到,但能看到packet 到达了最后的destination;

    如果封了ICMP Echo

    Reply,中间的全能看到,最后的destination看不到。

    阅读(13645) | 评论(3) | 转发(1) |

    更多相关内容
  • traceroute显示的是*

    2015-04-28 15:56:50
    ubuntu(连接别人笔记本发出的热点)用traceroute www.baidu.com 之类的命令,显示的 结果有一堆的* ,求大神解答。
  • traceroute 详解及结果出现*的分析

    千次阅读 2020-10-10 15:08:01
    traceroute详解:  用来查看主机及目标主机之间的路由路径。每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux...

    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 packets
     192.168.74.2 (192.168.74.2)  2.606 ms  2.771 ms  2.950 ms
     211.151.56.57 (211.151.56.57)  0.596 ms  0.598 ms  0.591 ms
     211.151.227.206 (211.151.227.206)  0.546 ms  0.544 ms  0.538 ms
     210.77.139.145 (210.77.139.145)  0.710 ms  0.748 ms  0.801 ms
     202.106.42.101 (202.106.42.101)  6.759 ms  6.945 ms  7.107 ms
     61.148.154.97 (61.148.154.97)  718.908 ms * bt-228-025.bta.net.cn (202.106.228.25)  5.177 ms
     124.65.58.213 (124.65.58.213)  4.343 ms  4.336 ms  4.367 ms
     202.106.35.190 (202.106.35.190)  1.795 ms 61.148.156.138 (61.148.156.138)  1.899 ms  1.951 ms
     * * *
     * * *
    [root@localhost ~]# 

     

    说明: 

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

     

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

     

      使用两种:使用ICMP的和使用UDP的。

      Microsoft使用ICMP,所以win95上发出的traceRT应使用的是ICMP,但我没有用 sniffer查过;其它包括unix和cisco router都使用UDP.
          ICMP traceroute :       ===========       使用ICMP Echo Request , Echo Reply and TTL-expired .
          源发出 ICMP        Equest,第一个request的TTL为1,第二个request的TTL为2,以后依此递增直至第30个;中间的router送回ICMP  TTL-expired ( ICMP type  11)通知source,(packet同时因TTL超时而被drop),由此source知晓一路上经过的每一个router;最后的  destination送回ICMP Echo Reply 。
          所以中间任何一个router上如果封了ICMP Echo Request , traceroute就不能工作 ;如果封了type 11 (TTL-expired), 中间的router全看不到 ,但能看到packet 到达了最后的destination;如果封了ICMP Echo Reply,中间的全能看到,最后的destination看不到 。


          UDP traceroute:       ==========       使用ICMP TTL-expired (type 11), ICMP port unreachable (type 3, code 3), UDP       port >32768 .
          source发出UDP packet, source port使用随机的任何大于32768的高段port, destination  port从33434开始每送个probe依此递增,直至33434+29,(cisco  router上使用extended-traceroute命令可以修改这个起始的33434 port #),       同时TTL从1开始依此递增,直至1+29=30(最多送30个probe)。中间的router送回 ICMP  TTL-expired,使得source得知了中间的每一个router,最后的destination送回TTL-expired 和ICMP  port unreachable (因为任何主机上都没有应用使用UDP port# >32768这样的高段port )。
          所以中间某处封掉UDP port>32768回导致traceroute不工作 ;封掉TTL超时会使source看不到中间的router (有的router根本不支持回送TTL超时);封掉type3 code3可能看不到destination .
          另外需要知道的是,由于回送TTL-expired的信息需要CPU生成一个packet,必须打断  CPU,为保证其它工作的正常进行,cisco router每隔一秒才处理traceroute ,所以在source 上你可能看到中间一路 * *  *,但却看得到最后的destination. 这时你应知道这是中间的router  CPU太忙或者中间路由器不回送TTL-expired包的原因 ,不必大惊小怪的。:-)

     

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

     

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

     

    实例2:跳数设置 

    命令:

    traceroute -m 10 www.baidu.com

    输出:

    [root@localhost ~]# traceroute -m 10 www.baidu.com
    traceroute to www.baidu.com (61.135.169.105), 10 hops max, 40 byte packets
     192.168.74.2 (192.168.74.2)  1.534 ms  1.775 ms  1.961 ms
     211.151.56.1 (211.151.56.1)  0.508 ms  0.514 ms  0.507 ms
     211.151.227.206 (211.151.227.206)  0.571 ms  0.558 ms  0.550 ms
     210.77.139.145 (210.77.139.145)  0.708 ms  0.729 ms  0.785 ms
     202.106.42.101 (202.106.42.101)  7.978 ms  8.155 ms  8.311 ms
     bt-228-037.bta.net.cn (202.106.228.37)  772.460 ms bt-228-025.bta.net.cn (202.106.228.25)  2.152 ms 61.148.154.97 (61.148.154.97)  772.107 ms
     124.65.58.221 (124.65.58.221)  4.875 ms 61.148.146.29 (61.148.146.29)  2.124 ms 124.65.58.221 (124.65.58.221)  4.854 ms
     123.126.6.198 (123.126.6.198)  2.944 ms 61.148.156.6 (61.148.156.6)  3.505 ms 123.126.6.198 (123.126.6.198)  2.885 ms
     * * *
     * * *
    [root@localhost ~]#

     

    说明:最多跳到10就结束。

     

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

    命令: 

    traceroute -n www.baidu.com 

    输出:

     [root@localhost ~]# traceroute -n www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
     211.151.74.2  5.430 ms  5.636 ms  5.802 ms
     211.151.56.57  0.627 ms  0.625 ms  0.617 ms
     211.151.227.206  0.575 ms  0.584 ms  0.576 ms
     210.77.139.145  0.703 ms  0.754 ms  0.806 ms
     202.106.42.101  23.683 ms  23.869 ms  23.998 ms
     202.106.228.37  247.101 ms * *
     61.148.146.29  5.256 ms 124.65.58.213  4.386 ms  4.373 ms
     202.106.35.190  1.610 ms 61.148.156.138  1.786 ms 61.148.3.34  2.089 ms
     * * *
     * * *
    [root@localhost ~]# traceroute www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
     211.151.74.2 (211.151.74.2)  4.671 ms  4.865 ms  5.055 ms
     211.151.56.57 (211.151.56.57)  0.619 ms  0.618 ms  0.612 ms
     211.151.227.206 (211.151.227.206)  0.620 ms  0.642 ms  0.636 ms
     210.77.139.145 (210.77.139.145)  0.720 ms  0.772 ms  0.816 ms
     202.106.42.101 (202.106.42.101)  7.667 ms  7.910 ms  8.012 ms
     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 ms
     124.65.58.213 (124.65.58.213)  5.134 ms  5.124 ms  5.044 ms
     202.106.35.190 (202.106.35.190)  1.917 ms  2.052 ms  2.059 ms
     * * *
     * * *
    [root@localhost ~]# 

     

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

    命令: 

    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
     211.151.74.2 (211.151.74.2)  4.927 ms  5.121 ms  5.298 ms
     211.151.56.1 (211.151.56.1)  0.500 ms  0.499 ms  0.509 ms
     211.151.224.90 (211.151.224.90)  0.637 ms  0.631 ms  0.641 ms
     * * *
     220.181.70.98 (220.181.70.98)  5.050 ms  5.313 ms  5.596 ms
     220.181.17.94 (220.181.17.94)  1.665 ms !X * *
    [root@localhost ~]#

     

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

    命令: 

    traceroute -q 4 www.baidu.com 

    输出:

    [root@localhost ~]# traceroute -q 4 www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
     211.151.74.2 (211.151.74.2)  40.633 ms  40.819 ms  41.004 ms  41.188 ms
     211.151.56.57 (211.151.56.57)  0.637 ms  0.633 ms  0.627 ms  0.619 ms
     211.151.227.206 (211.151.227.206)  0.505 ms  0.580 ms  0.571 ms  0.569 ms
     210.77.139.145 (210.77.139.145)  0.753 ms  0.800 ms  0.853 ms  0.904 ms
     202.106.42.101 (202.106.42.101)  7.449 ms  7.543 ms  7.738 ms  7.893 ms
     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 *
     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 ms
     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 ms
     * * * *
     * * * *
    [root@localhost ~]# 

    说明:表示对每个路径上的设备发送4次数据包请求,响应时间有4个。

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

    命令: 

     traceroute -r www.baidu.com 

    输出:

    [root@localhost ~] # traceroute -r www.baidu.com
    traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
    connect: 网络不可达
    [root@localhost ~]#   

     

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

    命令: 

    traceroute -w 3 www.baidu.com 

    输出:

     [root@localhost ~]# traceroute -w 3 www.baidu.com
    traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets
     211.151.74.2 (211.151.74.2)  2.306 ms  2.469 ms  2.650 ms
     211.151.56.1 (211.151.56.1)  0.621 ms  0.613 ms  0.603 ms
     211.151.227.206 (211.151.227.206)  0.557 ms  0.560 ms  0.552 ms
     210.77.139.145 (210.77.139.145)  0.708 ms  0.761 ms  0.817 ms
     202.106.42.101 (202.106.42.101)  7.520 ms  7.774 ms  7.902 ms
     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 ms
     124.65.58.221 (124.65.58.221)  4.490 ms  4.483 ms  4.472 ms
     123.126.6.198 (123.126.6.198)  2.948 ms 61.148.156.6 (61.148.156.6)  7.688 ms  7.756 ms
     * * *
     * * *
    [root@localhost ~]# 

    Traceroute的工作原理:

    Traceroute最简单的基本用法是:traceroute hostname 

    Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

     

    Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。

     

    Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。 

    windows之tracert:

    格式:

    tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

    参数说明:

    tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

    该诊断实用程序通过向目的地发送具有不同生存时间 (TL) 的 Internet 控制信息协议 (CMP) 回应报文,以确定至目的地的路由。路径上的每个路由器都要在转发该 ICMP 回应报文之前将其 TTL 值至少减 1,因此 TTL 是有效的跳转计数。当报文的 TTL 值减少到 0 时,路由器向源系统发回 ICMP 超时信息。通过发送 TTL 为 1 的第一个回应报文并且在随后的发送中每次将 TTL 值加 1,直到目标响应或达到最大 TTL 值,Tracert 可以确定路由。通过检查中间路由器发发回的 ICMP 超时 (ime Exceeded) 信息,可以确定路由器。注意,有些路由器“安静”地丢弃生存时间 (TLS) 过期的报文并且对 tracert 无效。

    参数:

    -d 指定不对计算机名解析地址。

    -h maximum_hops 指定查找目标的跳转的最大数目。

    -jcomputer-list 指定在 computer-list 中松散源路由。

    -w timeout 等待由 timeout 对每个应答指定的毫秒数。

    target_name 目标计算机的名称。

    实例:

    C:\Users\Administrator>tracert www.58.com
    Tracing route to www.58.com [221.187.111.30] over a maximum of 30 hops:
      1     1 ms     1 ms     1 ms  10.58.156.1   2     1 ms    <1 ms    <1 ms  10.10.10.1   3     1 ms     1 ms     1 ms  211.103.193.129   4     2 ms     2 ms     2 ms  10.255.109.129   5     1 ms     1 ms     3 ms  124.205.98.205   6     2 ms     2 ms     2 ms  124.205.98.253   7     2 ms     6 ms     1 ms  202.99.1.125   8     5 ms     6 ms     5 ms  118.186.0.113   9   207 ms     *        *     118.186.0.106  10     8 ms     6 ms    11 ms  124.238.226.201  11     6 ms     7 ms     6 ms  219.148.19.177  12    12 ms    12 ms    16 ms  219.148.18.117  13    14 ms    17 ms    16 ms  219.148.19.125  14    13 ms    13 ms    12 ms  202.97.80.113  15     *        *        *     Request timed out.  16    12 ms    12 ms    17 ms  bj141-147-82.bjtelecom.net [219.141.147.82]  17    13 ms    13 ms    12 ms  202.97.48.2  18     *        *        *     Request timed out.  19    14 ms    14 ms    12 ms  221.187.224.85  20    15 ms    13 ms    12 ms  221.187.104.2  21     *        *        *     Request timed out.  22    15 ms    17 ms    18 ms  221.187.111.30
    Trace complete.

     

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201504/29/1430310027_798359.png) 我用的是 Oracle Vm, 使用的是NAT网络连接。求各位大神解答,怎么才能让IP地址正常 显示
  • 路由追踪Tracet,可视化工具,精确显示IP归属地(纯真IP库)
  • 解决tracert经过防火墙显示*

    千次阅读 2019-12-27 16:53:06
    tracert一台经过防火墙的服务器IP地址,经过防火墙时显示*。无法详细的显示出tracert的路径信息。 解决方法: 1、配置ICMP超时报文功能 [USG5500]ip ttl-expires enable 2、关闭Tracert报文攻击防范功能...

    存在问题:

    tracert一台经过防火墙的服务器IP地址,经过防火墙时显示*号。无法详细的显示出tracert的路径信息。

    解决方法:

    1、配置ICMP超时报文功能

    [USG5500]ip ttl-expires enable 

    2、关闭Tracert报文攻击防范功能(危险操作)

    [USG5500]undo firewall  defend tracert enable 

    查看结果:

    展开全文
  • asroute是一个CLI工具,用于解析traceroute输出以总结AS遍历的内容。 有没有想过您的包裹如何从家到不丹? 有时候,我喜欢看的不是跳级,而是看承载我的数据的公司及其网络。 或者,如果站点使用CDN,则路径缩短了...
  • 能ping通traceroute不通

    千次阅读 2021-05-18 06:49:18
    问题现象:Linux下可以ping通IP,但是traceroute不通问题原因:traceroute路由跟踪是利用IP数据包的TTL值来实现的,Linux 下 traceroute 首先发出 TTL = 1 的UDP 数据包,第一个路由器将 TTL 减 1 得 0 后就不再继续...

    问题现象:

    Linux下可以ping通IP,但是traceroute不通

    ee60550d1f90904f7d35ad5eed974956.png

    问题原因:

    traceroute路由跟踪是利用IP数据包的TTL值来实现的,Linux 下 traceroute 首先发出 TTL = 1 的UDP 数据包,第一个路由器将 TTL 减 1 得 0 后就不再继续转发此数据包,而是返回一个 ICMP 超时报文,traceroute 从超时报文中即可提取出数据包所经过的第一个网关的 IP 地址。然后又发送了一个 TTL = 2 的 UDP 数据包,由此可获得第二个网关的 IP 地址。依次递增 TTL 便获得了沿途所有网关的 IP 地址。

    dea47428ae3b1404a405bdc1e7ea3b6a.png

    因为UDP 常被用来做网络攻击,因为 UDP 无需连接,因而没有任何状态约束它,比较方便攻击者伪造源 IP、伪造目的端口发送任意多的 UDP 包,长度自定义。所以运营商为安全考虑,对于 UDP 端口常常采用白名单 ACL,就是只有 ACL 允许的端口才可以通过,没有明确允许的则统统丢弃。比如允许 DNS/DHCP/SNMP 等

    注意:

    Linux下traceroute程序默认发送的探测包为UDP协议,windows下tracert、mtr,以及Linux下mtr默认都发送的是icmp的数据包,并不是所有网关都会如实返回 ICMP 超时报文。处于安全性考虑,大多数防火墙以及启用了防火墙功能的路由器缺省配置为不返回各种 ICMP 报文,其余路由器或交换机也可能被管理员主动修改配置变为不返回 ICMP 报文。因此 Traceroute 程序不一定能拿到所有的沿途网关地址。所以,当某个 TTL 值的数据包得不到响应时,并不能停止这一追踪过程,程序仍然会把 TTL 递增而发出下一个数据包。这个过程将一直持续到数据包发送到目标主机,或者达到默认或用参数指定的追踪限制(maximum_hops 默认最大为30)才结束追踪

    验证:

    Linux 下 traceroute 114.114.114.114

    如图,以第一跳和第五跳为例,对比抓包可以看出,第一组(每次发三个包)UDP 的 request 数据包 TTL 值为1,在到达第1个路由节点后,TTL减1后为0,则不继续传递,返回一个 ICMP 超时报文,这时客户端获取到了第1个路由节点IP,与traceroute测试信息相符

    f4f8396b98a3c0b2233277dd30a2e188.png

    393dd50aa9b1135b34b3c0479a81e114.png

    6af617152c606fe4021766bcc9abb5a0.png

    第五跳时,发送的 request 数据包 TTL 值为5,在到达第5个路由节点后,TTL减为0,则不继续传递,返回一个 ICMP 超时报文,这时客户端获取到了第5个路由节点IP,与traceroute测试信息相符

    1eb6d7a02f779990cd6d746947948558.png

    总结:

    Linux 下 traceroute 默认发送的时 udp 协议 request 包,很多路由节点上会丢弃该部分数据包不做响应;windows 下 tracert、mtr 以及 Linux 下 mtr 默认发送的是是 icmp 协议 request 包,测试网络时更有参考价值

    Linux 下 traceroute、mtr 都支持指定协议端口进行网络探测,建议使用 icmp 或 tcp 协议进行网络探测

    traceroute 常用参数:

    -I --icmp //指定ICMP协议

    -T --tcp //指定TCP协议

    -p port --port=port //指定端口

    mtr 常用参数:

    -c //指定发包次数

    --tcp //指定tcp协议

    --port=PORT //指定端口

    --udp //指定udp协议

    34532bd6b9ed17716a7b67f9e65a43f9.png

    展开全文
  • Linux之traceroute命令

    2022-03-07 14:14:45
    显示数据包到主机间的路径,traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然...
  • traceroute 跟踪数据包到达网络主机所经过的路由工具;traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。...traceroute [参数选项] hostname,域名或 IP地址功能说明:显示数据包到
  • 虚拟机下traceroute出现星解决方法

    千次阅读 2016-02-23 20:51:03
    把虚拟机的网络连接方式改为 桥接 即可
  • Linux中traceroute 命令用于显示数据包到目的主机的路径 Windows中路由追踪命令是tracert。 traceroute 指令可以追踪你发送的数据包在网络中传输的路由途径,主要显示走了什么路,到了什么站。 其预设的数据包大小是...
  • Traceroute原理分析

    2021-05-16 14:48:45
    traceroute,现代 Linux 系统上的 tracepath,还有Windows 系统上的 tracert,均是用于同一目的的网络调试工具。它们用于显示数据包在IP网络中经过的路由器的IP地址。原理这些程序是利用IP数据包的存活时间(TTL)值来...
  • 经过防火墙墙的流量可以ping通,但是tracert后显示的全是*, 配置让tracert命令穿越防火墙不显示的方法如下: 1. Tracert防火墙自身 需要放开到防火墙Local域的ICMP或者UDP报文包过滤/安全策略。如果Tracert使用...
  • linux: traceroute命令

    2021-05-28 11:10:07
    ### linux: traceroute命令 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不...
  • 对于traceroute,本质可以理解为hop by hop的ping,但这个ping和上面讲的ping不一样,这个ping和我们的ping命令不同,traceroute包发出去后,途经的每个站点都会发回一个 类型代码为11 0的icmp 包回去,到了终点...
  • 安装traceroute yum -y install traceroute 1`.traceroute www.qfedu.com` ***代表防火墙封掉了,返回数据的相关信息 记录按序列号从1开始,每个纪录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是ms,...
  • traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点...
  • traceroute 跟踪数据包到达网络主机所经过的路由工具;traceroute 是用来发出数据包的主机到目标主机之间所经过的网关的工具。traceroute的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关,...
  • 两条命令搞定  ip unreachables en   ip ttl-expires enable   
  • traceroute命令

    千次阅读 2021-03-31 13:03:13
    traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。...
  • linux网络命令--traceroute

    千次阅读 2022-01-24 10:58:50
    如果我们在主机antpingapple主机失败,那么可以使用traceroute命令进行排查。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路由路径。 traceroute通过发送小的数据包到目的设备直到...
  • Linux 中的 traceroute 是一个命令,它是网络工程师用来排除网络故障的最流行的工具, 它于 1987 年发明。 当您连接到网站时,您获得的数据必须沿途跨多个设备和网络传输,尤其是路由器。 跟踪路由提供了 Internet ...
  • Traceroute命令原理及使用(路由跟踪)

    万次阅读 2019-01-08 20:27:29
    traceroute,现代Linux系统称为tracepath,Windows系统称为tracert,是一种计算机网络工具。它可显示数据包在IP网络经过的路由器的IP地址。我们可以用这个命令来查看数据包途径的网络节点和ISP,从而排除一部分网络...
  • 现象:PING 118.194.167.145能通,traceroute到最后一跳不通。分析:在WIN机器上用tracert测试可以达到,用网上站长工具等路由跟踪工具一样也可以到达,同时在LINUX机器上用MTR也能达到。对比判断会发现可能是LINUX...
  • 如何在Linux上使用traceroute命令

    千次阅读 2020-09-19 18:53:14
    Fatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / Shutterstock You can use the Linux traceroute command to spot the slow leg of a network packet’s journey and troubleshoot sluggish ...
  • 缺省情况下,traceroute命令将显示从1到最后一跳的所有跳。 在某些情况下,我们仅需要从第n个跃点开始的跃点的一部分。 可以使用-f选项设置。 在此示例中,我们将从第10跳开始。 $ traceroute -f 10 poftut....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,201
精华内容 4,080
关键字:

traceroute显示*号