linux上路由追踪命令

fiy 其他 68

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,可以使用traceroute命令来进行路由追踪。该命令用于跟踪IP数据包从本地主机到目标主机的路径,显示数据包经过的每个路由器。

    使用traceroute命令的语法如下:
    traceroute [选项] 目标主机

    其中,选项可以根据需要选择,常用的选项有:
    -4:仅使用IPv4地址进行路由追踪。
    -6:仅使用IPv6地址进行路由追踪。
    -n:不使用DNS解析IP地址,直接显示IP地址。
    -m <跳数>:设置最大跳数,即最多经过多少个路由器。

    例如,要追踪到目标主机www.example.com的路由,可以使用以下命令:
    traceroute http://www.example.com

    该命令会输出每个路由器的IP地址和名称(如果已知),以及该数据包从本地主机到目标主机的响应时间。

    需要注意的是,由于路由器可能会阻止ICMP协议,因此traceroute可能无法到达目标主机。在这种情况下,可以尝试使用其他工具,如traceroute-nanog或mtr,来进行路由追踪。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Linux上有许多可以用来追踪路由的命令,可以帮助我们分析网络故障和验证网络路径。以下是几个常用的路由追踪命令:

    1. traceroute:traceroute是一个用于追踪路由的常用命令。它通过发送一系列的ICMP回显请求到目标主机,并记录每个响应的时间。这样我们就可以查看数据包经过的每个路由器和传输延迟。命令的语法如下:traceroute [options] [destination]

    2. tracepath:tracepath命令与traceroute类似,但它使用的是UDP数据包而不是ICMP。这使得它可以在防火墙上更容易通过。tracepath的语法如下:tracepath [options] [destination]

    3. mtr:mtr是一个非常强大的路由追踪工具,它结合了traceroute和ping的功能。它不仅会显示每个路由器的延迟,还会持续显示每个路由器的丢包率。这使得它成为诊断网络问题的有用工具。mtr的语法如下:mtr [options] [destination]

    4. ip route:ip route命令用于查看和管理Linux内核路由表。它可以显示当前系统的路由信息,包括网络目标、网关和接口等。命令的语法如下:ip route [show|list] [OPTIONS] [matches]

    5. ip neigh:ip neigh命令用于查看和管理Linux内核ARP缓存。它可以显示当前系统的邻居(主机或路由器)的MAC地址和对应的IP地址。这个命令可以帮助我们确定网络路径中每个路由器的MAC地址。命令的语法如下:ip neigh [show|list] [OPTIONS] [matches]

    这些命令提供了不同的方式来追踪网络路径和分析网络问题。根据不同的需求,我们可以选择适合我们的命令来进行路由追踪。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,有一个非常常用的网络诊断工具,叫做traceroute(路由追踪)。traceroute命令可以显示到达目标主机的路由路径,以及在每个跳点上的延迟时间。

    traceroute的使用方式如下:

    “`
    traceroute [参数] 目标主机
    “`

    下面将详细介绍traceroute命令的使用方法和操作流程。

    ### 1. 基本用法

    “`
    traceroute 目标主机
    “`

    示例:

    “`
    traceroute http://www.google.com
    “`

    在命令行中输入上述命令后,系统会开始进行路由追踪。

    ### 2. 参数选项

    – `-I`:使用ICMP Echo请求而不是UDP数据包发送。
    – `-T`:使用TCP SYN请求而不是UDP数据包发送。
    – `-U`:使用UDP数据包发送。
    – `-p [端口号]`:指定UDP或TCP数据包使用的端口号。
    – `-n`:不进行反向域名解析。
    – `-w [超时时间]`:设置每个跳点的超时时间。
    – `-q [跃点数量]`:设置发送的UDP或ICMP请求的跃点数量。
    – `-m [最大跃数]`:设置最大跃数,即最多追踪的路由跃点数。

    使用示例:

    “`
    traceroute -I http://www.baidu.com # 使用ICMP Echo请求
    traceroute -T http://www.baidu.com # 使用TCP SYN请求
    traceroute -U http://www.baidu.com # 使用UDP数据包发送
    traceroute -p 8080 http://www.baidu.com # 指定端口号发送数据包
    traceroute -n http://www.baidu.com # 不进行反向域名解析
    traceroute -w 1 http://www.baidu.com # 设置超时时间为1秒
    traceroute -q 5 http://www.baidu.com # 设置发送的UDP或ICMP请求的跃点数量为5
    traceroute -m 20 http://www.baidu.com # 设置最大跳数为20
    “`

    ### 3. 输出信息解释

    traceroute命令输出的信息包括每个跳点的IP地址、主机名、延迟时间等。

    输出信息示例:

    “`
    traceroute to http://www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets
    1 192.168.1.1 (192.168.1.1) 1.456 ms 1.312 ms 1.385 ms
    2 10.5.1.1 (10.5.1.1) 7.589 ms 7.744 ms 7.958 ms
    3 210.22.65.1 (210.22.65.1) 13.632 ms 15.454 ms 12.974 ms
    4 202.97.17.157 (202.97.17.157) 12.046 ms 12.256 ms 13.147 ms
    5 61.148.124.214 (61.148.124.214) 12.521 ms 11.919 ms 11.841 ms
    6 61.148.154.202 (61.148.154.202) 42.932 ms 42.316 ms 42.842 ms
    7 61.148.5.6 (61.148.5.6) 42.185 ms 41.902 ms 42.337 ms
    8 218.75.1.130 (218.75.1.130) 42.055 ms 41.454 ms 41.989 ms
    9 14.215.177.38 (14.215.177.38) 44.713 ms 39.478 ms 41.654 ms
    “`

    每行输出的信息解释如下:

    – 行号:表示该路由跳点的编号。
    – IP地址或主机名:表示该路由跳点的IP地址或主机名。
    – 延迟时间:表示发送数据包到该路由跳点所需的时间。

    ### 4. 追踪路由路径

    traceroute命令通过向目标主机发送一系列带有时间戳的UDP或ICMP报文,逐渐增加目标主机的TTL(Time To Live),从而使得每个跳点将收到的请求转发给下一跳,直到到达目标主机或超过最大跃点数。

    通过观察traceroute命令的输出信息,我们可以了解到从本机到目标主机的整个路由路径。

    ### 5. 使用示例

    下面以traceroute命令的使用示例来进一步说明路由追踪的操作流程。

    “`
    $ traceroute http://www.baidu.com
    “`

    输出示例:

    “`
    traceroute to http://www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets
    1 192.168.1.1 (192.168.1.1) 1.456 ms 1.312 ms 1.385 ms
    2 10.5.1.1 (10.5.1.1) 7.589 ms 7.744 ms 7.958 ms
    3 210.22.65.1 (210.22.65.1) 13.632 ms 15.454 ms 12.974 ms
    4 202.97.17.157 (202.97.17.157) 12.046 ms 12.256 ms 13.147 ms
    5 61.148.124.214 (61.148.124.214) 12.521 ms 11.919 ms 11.841 ms
    6 61.148.154.202 (61.148.154.202) 42.932 ms 42.316 ms 42.842 ms
    7 61.148.5.6 (61.148.5.6) 42.185 ms 41.902 ms 42.337 ms
    8 218.75.1.130 (218.75.1.130) 42.055 ms 41.454 ms 41.989 ms
    9 14.215.177.38 (14.215.177.38) 44.713 ms 39.478 ms 41.654 ms
    “`

    从上面的输出可以分析出以下信息:

    – 第一跳点的IP地址为192.168.1.1,延迟时间为1.456ms、1.312ms和1.385ms。
    – 第二跳点的IP地址为10.5.1.1,延迟时间为7.589ms、7.744ms和7.958ms。
    – 第八跳点的IP地址为218.75.1.130,延迟时间为42.055ms、41.454ms和41.989ms。
    – 最后一跳点的IP地址为14.215.177.38,延迟时间为44.713ms、39.478ms和41.654ms。

    通过分析这些信息,我们可以了解到从本地主机到目标主机的整个路由路径,以及每个跳点的延迟情况。

    总结:
    traceroute是一个非常实用的网络诊断工具,在Linux系统中通过traceroute命令可以非常方便地追踪到达目标主机的路由路径。我们可以通过调整参数选项,以及观察输出信息来进行网络故障排查和性能优化。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部