Linux traceroute命令

1. traceroute是什么

traceroute 命令是一个常用的网络工具,用来跟踪网络数据包从源地址到目的地址所经过的路由路径,属于诊断网络故障的利器之一。

在Linux中,traceroute常常被用来检查网络是否畅通,安装路由策略,以及查看响应时间等。traceroute 命令通过发送 ICMP 包,向目标地址中转的路由器请求数据,然后通过观察每个路由器的响应时间,来测量路由链路的质量,如路由延迟、丢包情况等。

2. traceroute的使用方法

traceroute的使用方法很简单,其基本语法如下:

traceroute [option] host

其中,host表示目标地址,option包括如下选项:

  • -I:使用 ICMP 反射(echo-request)的方法进行跟踪
  • -n:不将 IP 地址转成相应的 hostname 进行显示
  • -m TTL:设置符可以到达的跳数,取值为 1~255
  • -p port:指定扫描端口,默认为 UDP 的 33434 端口,如果需要扫描TCP端口,则添加 "-T" 参数
  • -w timeout:设置等待每次回应的超时时间,单位是秒
  • -q n:指定每个 hop 至多尝试次数 n,默认值为3
  • -r: 不启动 route 追踪
  • -s sourceaddr:设置本地源地址
  • -t tos:设置 Type of Service 字段的值
  • -v: 显示详细的路由路径信息, 输出每个路由的详细编号

除了基本选项外,traceroute 还提供了其他选项,具体请查看man手册。

3. traceroute的两个示例

示例1:

我们以百度为目标地址来演示,使用traceroute查看到达百度的路由路径。

执行如下命令:

traceroute www.baidu.com

执行结果如下:

traceroute to www.a.shifen.com (14.215.177.38), 30 hops max, 60 byte packets
 1  192.168.31.1 (192.168.31.1)  0.617 ms  1.082 ms  1.349 ms
 2  192.168.192.1 (192.168.192.1)  16.751 ms  18.324 ms  18.539 ms
 3  123.123.95.145 (123.123.95.145)  16.350 ms  16.434 ms  16.161 ms
 4  2.95.85.125.broad.wh.hb.dynamic.163data.com.cn (125.85.95.2)  17.661 ms  16.706 ms  17.674 ms
 5  163.178.188.69 (163.178.188.69)  17.807 ms  17.224 ms  17.856 ms
 6  202.97.8.181 (202.97.8.181)  17.747 ms  17.550 ms 202.97.17.141 (202.97.17.141)  16.230 ms
 7  220.181.3.34 (220.181.3.34)  18.639 ms 220.181.16.34 (220.181.16.34)  17.267 ms 220.181.3.34 (220.181.3.34)  16.421 ms
 8  124.65.194.6 (124.65.194.6)  67.664 ms  66.593 ms  67.929 ms
 9  14.215.177.38 (14.215.177.38)  41.000 ms  40.902 ms  39.906 ms

此处,traceroute 命令已经将访问路径的每一个步骤列出来,每一行表示一条访问链接,从第一条到第30条。

其中,列出了每个跳点的IP地址,以及从本机到达某个跳点所需的时间。这个时间常常被简称为“往返时间(RTT)”。

示例2:

我们测试一下连接开发者在线工具的连接情况

执行如下命令:

traceroute devonline.net

执行结果如下:

traceroute to devonline.net (110.42.218.19), 30 hops max, 60 byte packets
 1  192.168.31.1 (192.168.31.1)  0.444 ms  1.249 ms  1.294 ms
 2  192.168.192.1 (192.168.192.1)  17.827 ms  18.919 ms  19.439 ms
 3  123.123.95.145 (123.123.95.145)  17.324 ms  17.444 ms  16.160 ms
 4  2.95.85.125.broad.wh.hb.dynamic.163data.com.cn (125.85.95.2)  17.912 ms  17.272 ms  17.929 ms
 5  163.178.188.105 (163.178.188.105)  17.543 ms  17.385 ms  17.072 ms
 6  124.65.194.18 (124.65.194.18)  17.154 ms  17.309 ms  16.210 ms
 7  110.42.218.19 (110.42.218.19)  17.305 ms  16.854 ms  16.023 ms

从结果可以看出,我们通过了7个网络中转站,访问了目标在线工具,RTT的值在17ms左右。

4. 小结

traceroute 是一种用来查看网络数据包从源地址到目的地址所经过的路由路径的网络工具。通过在Linux终端输入traceroute命令来实现,可实现查看网络是否畅通等作用。traceroute在实际操作中需要注意一些选项的使用,在选项具体含义的基础上添加上相应的标志即可。

最后提醒大家,在使用traceroute 命令的时候,记得要遵守网络规则和安全原则,不要对他人造成妨害和困扰,否则可能会面临法律风险。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux traceroute命令 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • linux Apache服务器系统安全设置与优化

    以下是“Linux Apache服务器系统安全设置与优化”的完整使用攻略,包含两个示例说明。 步骤 更新系统软件包。在终端中输入以下命: bash sudo apt-get update 安装防火墙。在终端中输入以下命令: bash sudo apt-get install ufw 启用防火墙。在终端中输入以下命令: bash sudo ufw enable…

    Linux 2023年5月13日
    00
  • linux运维常用命令

    一、常规操作 1、创建文件夹 mkdir 文件夹名称 2、创建文件或编辑文件    在目标文件夹中执行 vi 文件名.后缀 # i (进入可编辑模式) # ESC (按Esc按键,退出编辑模式) # :q (未作任何编辑,直接退出) # :q! (强制退出) # :wq (保存退出) 3、文件夹或文件赋权    chmod a+x 文件名 chmod [wh…

    Linux 2023年4月18日
    00
  • Linux下实现MySQL数据备份和恢复的命令使用全攻略

    Linux下实现MySQL数据备份和恢复的命令使用全攻略 1. 数据备份 1.1 mysqldump命令 使用mysqldump命令可以备份MySQL数据库,具体命令为: mysqldump -u <用户名> -p<密码> -h <主机名> <数据库名> > <备份文件名>.sql 其中,&l…

    Linux 2023年5月14日
    00
  • Linux C 文件与目录1 创建目录

    linux C    创建目录 创建目录函数:mkdir   函数原型:int mkdir(char * pathname , mode_t mode); pathname字符指针是表示需要创建的目录路径,mode表示权限的八进制数字。创建成功返回整形数0,否则返回整数-1   头文件:sys/types.h 和 sys/stat.h 例子: [root@c…

    Linux 2023年4月16日
    00
  • Linux service无法使用系统环境变量问题如何解决

    这篇“Linux service无法使用系统环境变量问题如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux service无法使用系统环境变量问题如何解决”文章吧。 Linux service无法使用系统环境变量 详细描述 之前在…

    Linux 2023年4月8日
    00
  • 010_Linux驱动之_DECLARE_WAIT_QUEUE_HEAD函数

    1. 功能:创建以个等待队列头 2. 函数原型 #define DECLARE_WAIT_QUEUE_HEAD (name)                            /     wait_queue_head_t name = __WAIT_QUEUE_HEAD_INITIALIZER(name)         #define __WAIT_…

    Linux 2023年4月11日
    00
  • Linux全网最全面常用命令整理(附实例)

    Linux全网最全面常用命令整理(附实例) 前言 Linux操作系统是现在最流行的操作系统之一,它的强大和灵活性被广泛认可,它最具有特色的一点就是命令行的操作。相对于其他操作系统如Windows、MacOS,Linux操作系统的命令行操作需要掌握许多命令,因此对初学者来说可能有些困难。在这篇文章中,我们将为大家整理出了最全的、最常使用的Linux命令,帮助大…

    Linux 2023年5月14日
    00
  • 嵌入式Linux—Framebuffer应用编程

    Framebuffer 应用编程 Frame的意思是帧,buffer的意思是缓冲区。Framebuffer就是一块内存(硬件设备),里面保存着一帧图像。 ioctl()函数解析 ioctl()函数非常强大。不同的驱动程序内部会实现不同的 ioctl() ,可以使用各种 ioctl() 跟驱动程序交互:可以传数据给驱动程序,也可以从驱动程序中读出数据。 头文件…

    Linux 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部