精华内容
下载资源
问答
  • linux traceroute
    2017-05-17 19:05:29

    traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

    参数

    -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命令使用方法实例详解的相关资料,希望通过本文能帮助到大家,让大家理解应用这部分内容,需要的朋友可以参考下
  • Linux traceroute命令 Linux traceroute命令用于显示数据包到主机间的路径。 traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。 语法traceroute [-dFlnrvx][-f][-g...][-i][-...
  • traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的...
  • Linux traceroute命令

    千次阅读 2021-05-09 02:14:38
    作为开发人员针对网络的路由追踪是经常使用的,Linux系统的traceroute命令、windows系统的tracert命令,接下来吾爱编程就为大家详细的介绍一下linux系统traceroute命令安装和路由跟踪指令详解,有需要的小伙伴可以...

    作为开发人员针对网络的路由追踪是经常使用的,Linux系统的traceroute命令、windows系统的tracert命令,接下来吾爱编程就为大家详细的介绍一下linux系统traceroute命令安装和路由跟踪指令详解,有需要的小伙伴可以参考一下:

    1、介绍:

    traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。

    2、执行过程:

    首先它发送一份TTL字段为1的IP数据包给目的主机,处理这个数据包的第一个路由器将TTL值减1,然后丢弃该数据报,并给源主机发送一个ICMP报文(“超时”信息,这个报文包含了路由器的IP地址,这样就得到了第一个路由器的地址),然后traceroute发送一个TTL为2的数据报来得到第二个路由器的IP地址,继续这个过程,直至这个数据报到达目的主机。

    3、安装:

    yum install traceroute

    bc08912b8d34410e1fd73c2d67086908.png

    4、语法:

    traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w waittime ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]

    5、参数说明:

    -4                          Use IPv4

    -6                          Use IPv6

    -d  --debug                 Enable socket level debugging

    -F  --dont-fragment         Do not fragment packets

    -f first_ttl  --first=first_ttl

    Start from the first_ttl hop (instead from 1)

    -g gate,...  --gateway=gate,...

    Route packets through the specified gateway

    (maximum 8 for IPv4 and 127 for IPv6)

    -I  --icmp                  Use ICMP ECHO for tracerouting

    -T  --tcp                   Use TCP SYN for tracerouting (default port is 80)

    -i device  --interface=device

    Specify a network interface to operate with

    -m max_ttl  --max-hops=max_ttl

    Set the max number of hops (max TTL to be

    reached). Default is 30

    -N squeries  --sim-queries=squeries

    Set the number of probes to be tried

    simultaneously (default is 16)

    -n                          Do not resolve IP addresses to their domain names

    -p port  --port=port        Set the destination port to use. It is either

    initial udp port value for "default" method

    (incremented by each probe, default is 33434), or

    initial seq for "icmp" (incremented as well,

    default from 1), or some constant destination

    port for other methods (with default of 80 for

    "tcp", 53 for "udp", etc.)

    -t tos  --tos=tos           Set the TOS (IPv4 type of service) or TC (IPv6

    traffic class) value for outgoing packets

    -l flow_label  --flowlabel=flow_label

    Use specified flow_label for IPv6 packets

    -w waittime  --wait=waittime

    Set the number of seconds to wait for response to

    a probe (default is 5.0). Non-integer (float

    point) values allowed too

    -q nqueries  --queries=nqueries

    Set the number of probes per each hop. Default is

    3

    -r                          Bypass the normal routing and send directly to a

    host on an attached network

    -s src_addr  --source=src_addr

    Use source src_addr for outgoing packets

    -z sendwait  --sendwait=sendwait

    Minimal time interval between probes (default 0).

    If the value is more than 10, then it specifies a

    number in milliseconds, else it is a number of

    seconds (float point values allowed too)

    -e  --extensions            Show ICMP extensions (if present), including MPLS

    -A  --as-path-lookups       Perform AS path lookups in routing registries and

    print results directly after the corresponding

    addresses

    -M name  --module=name      Use specified module (either builtin or external)

    for traceroute operations. Most methods have

    their shortcuts (`-I' means `-M icmp' etc.)

    -O OPTS,...  --options=OPTS,...

    Use module-specific option OPTS for the

    traceroute module. Several OPTS allowed,

    separated by comma. If OPTS is "help", print info

    about available options

    --sport=num                 Use source port num for outgoing packets. Implies

    `-N 1'

    --fwmark=num                Set firewall mark for outgoing packets

    -U  --udp                   Use UDP to particular port for tracerouting

    (instead of increasing the port per each probe),

    default port is 53

    -UL                         Use UDPLITE for tracerouting (default dest port

    is 53)

    -D  --dccp                  Use DCCP Request for tracerouting (default port

    is 33434)

    -P prot  --protocol=prot    Use raw packet of protocol prot for tracerouting

    --mtu                       Discover MTU along the path being traced. Implies

    `-F -N 1'

    --back                      Guess the number of hops in the backward path and

    print if it differs

    -V  --version               Print version info and exit

    6、实例:

    (1)、追踪baidu路由

    traceroute www.baidu.com

    792d3e03f97ce11c4f5fd6d5a35f138f.png

    (2)、设置显示跳数

    traceroute -m 4 www.baidu.com

    2662afbcce25b4a8ff9cef04033ed0b7.png

    (3)、显示IP不显示域名

    traceroute -n www.baidu.com

    56138c0156a80ff09a30feb07a1de2d5.png

    (4)、设置UD端口

    traceroute -p 7788 www.baidu.com

    1ba7578e109b46e673a003cc5f6269eb.png

    (5)、忽略普通的Routing Table,直接将数据包送到远端主机上

    traceroute -r www.baidu.com

    (6)、设置等待远端主机回报的时间

    traceroute -w 5 www.baidu.com

    150efcce4b121bbbbf2989469acfc678.png

    以上就是吾爱编程为大家介绍的关于linux系统traceroute路由的安装与使用方法的全部内容了,希望对大家有所帮助,了解更多相关文章请关注吾爱编程网!

    展开全文
  • linux traceroute追踪路由路径

    千次阅读 2021-05-12 08:59:25
    TraceRoute的工作原理1.TraceRoute的工作原理:traceroute 有使用两种:使用ICMP的和使用UDP的。Microsoft使用ICMP,所以win95上发出的traceRT应使用的是ICMP,但我没有用 sniffer查过;其它包括unix和ciscorouter都...

    TraceRoute的工作原理

    1.TraceRoute的工作原理:

    traceroute 有使用两种:使用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包的原因,不必大惊小怪的。:-)

    判断使用何种负载均衡方式,用show ip cef、 show interface ip等命令就能看出来

    负载均衡的两种技术,有一种基于目标地址的比较容易造成饿死和撑死,另外一种加上目的端口和和源路由进行hash,就解决了这个问题。好像在后期思科ios加上的

    Linux下traceroute使用心得

    问题:

    在命令行下输入:

    traceroute www.google.com

    屏幕打印是这样的:

    traceroute to www.google.com (66.249.89.104), 30 hops max, 60 byte packets

    1  * * *

    2  * * *

    3  * * *

    4  * * *

    5  * * *

    没有得到任何中间路由器的信息。

    分析:

    traceroute的基本原理就是发出TTL字段为1-n的ip包,然后等待路由器的ICMP超时回复,进而记录

    下来经过的路由器。通过man traceroute 可以看到,traceroute可以在ip包中放三种数据:

    1) 使用UDP包(默认选项是-U)

    2)使用TCP包 选项是-T

    3)使用ICMP包 选项是-I

    而且每个包traceroute都发3次。

    分别用-T,-I选项试试。

    发现TCP包时候也不行,但是-I选项是有效果的:

    1  10.10.20.1 (10.10.20.1)  3.611 ms * *

    2  * * *

    3  10.10.10.1 (10.10.10.1)  3.590 ms * *

    4  * * *

    5  * * *

    6  * * 61.130.125.25 (61.130.125.25)  10.914 ms

    但貌似不是全部的中间路由ip,有些包丢失了。

    进一步查看traceroute的选项,有一个-z项,基本意思是设置探测包的发送间隔,默认是0,就是连续发送。设置这个的目的

    是因为有些路由器设置了icmp rate limit. 继续研究为什么路由器要设置icmp的发送速率。

    google之:原来是为了应付DOS攻击,进而限制端口发出的icmp的速率。

    既然清楚了,那就尝试下:

    sudo traceroute -I www.google.com -z 0.005 -q 1

    traceroute to www.google.com (66.249.89.104), 30 hops max, 60 byte packets

    1  10.10.20.1 (10.10.20.1)  1.914 ms

    2  10.10.20.1 (10.10.20.1)  2.109 ms

    3  10.10.10.1 (10.10.10.1)  1.081 ms

    4  115.238.62.113 (115.238.62.113)  2.468 ms

    5  220.191.158.213 (220.191.158.213)  2.177 ms

    6  61.130.125.25 (61.130.125.25)  2.016 ms

    7  220.191.158.241 (220.191.158.241)  2.419 ms

    8  202.97.55.5 (202.97.55.5)  4.757 ms

    9  202.97.33.14 (202.97.33.14)  5.293 ms

    10  202.97.33.2 (202.97.33.2)  5.161 ms

    11  202.97.33.5 (202.97.33.5)  4.972 ms

    12  202.97.5.138 (202.97.5.138)  41.524 ms

    13  209.85.255.80 (209.85.255.80)  53.241 ms

    14  209.85.249.195 (209.85.249.195)  68.928 ms

    15  72.14.236.126 (72.14.236.126)  52.108 ms

    16  66.249.89.104 (66.249.89.104)  48.105 ms

    果真可以了。

    如果想看具体traceroute发了什么包,路由器返回了什么包,可以用wireshark抓包看看.

    展开全文
  • Linuxtraceroute 命令用于显示数据包到目的主机的路径 Windows中路由追踪命令是tracert。 traceroute 指令可以追踪你发送的数据包在网络中传输的路由途径,主要显示走了什么路,到了什么站。 其预设的数据包大小是...

    traceroute 命令

    Linux中traceroute 命令用于显示数据包到目的主机的路径
    Windows中路由追踪命令是tracert。

    traceroute 指令可以追踪你发送的数据包在网络中传输的路由途径,主要显示走了什么路,到了什么站。
    其预设的数据包大小是40bytes,该值可以另设。

    语法:

    traceroute 【参数】 【主机】

    举个简单例子:traceroute -d www.baidu.com

    参数说明:

    -d 使用Socket层级的排错功能。

    • f <存活数值> 设置第一个检测数据包的存活数值TTL的大小。
    • m <存活数值> 设置检测数据包的最大存活数值TTL的大小,该值就是路由跳数。
    • p <通信端口> 设置UDP传输协议的通信端口。
    • s<来源地址> 设置本地主机送出数据包的IP地址。
    • r 忽略普通的Routing Table,直接将数据包送到远端主机上。
    • w<超时秒数> 设置等待远端主机回报的时间。
    • v 详细显示指令的执行过程。
    • q 设置向每个网关发送检测数据包次数。

    实例一:基础应用

    traceroute  www.baidu.com
    

    在这里插入图片描述
    说明:

    • 记录按序列号从1开始,每条纪录就表示一个网关。

    我们看到每行有三个时间(ms),这三个时间就是-q的默认参数值。
    探测 数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 XXX表示向每个网关发送4个数据包。

    • 有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。

    出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

    有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;

    • 可以加-n 参数来避免DNS解析,以IP格式输出数据。

      如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,可以排查最终显示路由到是哪里。

    **实例二:**跳数设置(TTL)

    traceroute -m 8 www.baidu.com
    

    在这里插入图片描述
    实例三:设置探测数据包数量

    traceroute -q 4 -m 8 www.baidu.com

    在这里插入图片描述

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

    在这里插入图片描述

    connect: Network is unreachable主机不可达是什么鬼?

    这涉及到Traceroute的工作原理:

    Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」(超时)消息

    traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器… traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

    Traceroute在送出UDP datagrams到目的地时,它所选择送达的端口号 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息。而当traceroute 客户端根据收到的返回信息是TTL超时还是端口不可达来判断数据包是否到达目标主机。
    在这里插入图片描述

    扩展:在我们traceroute www.baidu.com时候,即TTL数值增加到一定大小时就拿不到返回的数据包了,后面陆续返回信息都是星号:
    在这里插入图片描述
    其实这个时候数据包已经到达目标服务器了,但是因为中间路由的安全问题,许多服务器不提供UDP响应服务或者说被防火墙挡掉,所以我们拿不到部分路由的返回。而这时候程序理所当然的认为任务没有结束,既没有报超时也没有报主机不可达,它会一直尝试增加TTL的数值。

    展开全文
  • The network is an important part of the system administration. Because without a network the server has nothing to ... While administrating Linux servers troubleshooting network is very important. Whe...
  • 延伸:路由追踪命令详解描述:网络命令是个很有意思的事情。对计算机网络很熟悉的朋友可能都知道有路由追踪这么一说,笔者也是前不久开始接触的...首先介绍下什么是路由追踪,路由器追...linux系统中,我们称之为tra...
  • linux traceroute的用法

    2021-08-18 12:01:43
    traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址]...
  • traceroute-2.1.0.rar

    2021-01-06 14:08:18
    linux traceroute安装.tar.gz命令包
  • Linux traceroute命令详解

    2019-07-12 13:57:04
    traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的...
  • 官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
  • linux网络命令--traceroute

    千次阅读 2022-01-24 10:58:50
    如果我们在主机antpingapple主机失败,那么可以使用traceroute命令进行排查。 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路由路径。 traceroute通过发送小的数据包到目的设备直到...
  • linux traceroute 命令详解

    千次阅读 2021-05-09 04:22:51
    语 法:traceroute[-dFlnrvx][-f][-g...][-i][-m][-p][-s][-t][-w][主机名称或IP地址][数据包大小]补充说明:traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。参 数:-d ...
  • 如何在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 ...
  • linux: traceroute命令

    2021-05-28 11:10:07
    ### linux: traceroute命令 通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不...
  • Linux traceroute --追踪网络数据包

    千次阅读 2016-04-08 11:05:42
    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。...linux系统中,我们称之为traceroute,在MSWindows中为tracert。traceroute通过发送小的数据包到目的设备直到其返回,来测
  • 安装traceroute yum -y install traceroute 1`.traceroute www.qfedu.com` ***代表防火墙封掉了,返回数据的相关信息 记录按序列号从1开始,每个纪录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是ms,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,101
精华内容 7,240
关键字:

linux traceroute