00. 目录

文章目录

  • 00. 目录
  • 01. 命令概述
  • 02. 命令格式
  • 03. 常用选项
  • 04. 参考示例
  • 05. 附录

01. 命令概述

traceroute命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

02. 命令格式

格式:traceroute [选项] [参数]

03. 常用选项

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

04. 参考示例

4.1 追踪本地数据包到百度的传输路径

[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max

4.2 设置跳数

[root@localhost ~]# traceroute -m 7 www.baidu.com
traceroute to www.baidu.com (183.232.231.174), 7 hops max, 60 byte packets1  gateway (172.16.0.1)  0.907 ms  2.072 ms  3.795 ms2  * * *

4.3 显示IP地址,不查主机名

[root@localhost ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (183.232.231.174), 30 hops max, 60 byte packets1  172.16.0.1  1.103 ms  2.567 ms  3.163 ms2  * * *

4.4 设置探测包的个数

[root@localhost ~]# traceroute -q 4 www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max, 60 byte packets1  gateway (172.16.0.1)  0.927 ms  2.614 ms  3.645 ms  4.239 ms2  * * * *

4.5 设置等待响应时间

[root@localhost ~]# traceroute -w 3 www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max, 60 byte packets1  gateway (172.16.0.1)  2.017 ms  3.584 ms  4.136 ms2  * * *

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

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

4.7 探测包使用的基本UDP端口设置10086

[root@localhost ~]# traceroute -p 10086 www.baidu.com
traceroute to www.baidu.com (183.232.231.172), 30 hops max, 60 byte packets1  gateway (172.16.0.1)  1.055 ms  2.671 ms  3.537 ms2  * * *

4.8 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地址,三个包每次来回所花时间。

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

【Linux】一步一步学Linux——traceroute命令(167)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. linux怎么做路由跟踪_linux使用traceroute命令追踪路由

    Linux有一个基础的路由追踪软件:traceroute.# CentOS系统: yum update && yum install traceroute -y # Debian/Ub ...

  9. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

最新文章

  1. OpenCV播放视频-----滚动条随着视频播放移动代码
  2. 计算机语言编程能力有哪些,除了编程语言,程序员还需要具备哪些能力
  3. CSS Hack-清除浮动的最简单写法V2010-08
  4. Android-JNINDK(一)入门
  5. Spark弹性式数据集RDDs
  6. VVC为什么首先在印度落地?
  7. 计算机组成要素五:虚拟机 堆栈模型
  8. Gradle笔记——Gradle的简介与安装
  9. 在将varchar值id转换为int时失败_MySQL令人咋舌的隐式转换
  10. Android之launchMode总结
  11. ios uilabel 垂直居中_iOS – 让UILabel的文字顶部对齐[转载]
  12. 计算MACD(指数平滑移动平均线)Moving Average Convergence / Divergence
  13. 爬虫python区别_Python爬虫-04:贴吧爬虫以及GET和POST的区别
  14. C#.Net工作笔记018---葡萄城控件FlexGrid自定义单元格_以及给自定义控件添加自定义事件
  15. PHP系统学习3 正则
  16. UEFI学习3-制作UEFI启动U盘
  17. 2023西安电子科技大学计算机考研信息汇总
  18. 计算机连接不上网络交换机,解决某些计算机在连接到路由器(交换机)后无法访问互联网的问题...
  19. Datawhale组队学习周报(第046周)
  20. adb shell and docker_k8s

热门文章

  1. 从人人网抓取高校数据信息,包括,省份 - 高校 - 院系 (提供最终SQL文件下载)...
  2. Android - 软件自动更新的实现
  3. 服务器多路径协议,多主机多路径分流传输协议研究与设计
  4. linux搭建windows无盘系统,PXE+HTTP 无盘安装linux系统
  5. 1.7-33编程基础之字符串 33:判断字符串是否为回文
  6. Java黑皮书课后题第2章:*2.8(当前时间)程序清单2-7给出了显示当前格林尼治时间的程序。修改这个程序,提示用户输入相对于GMT的时区偏移量,显示在这个特定时区的时间
  7. 进入环境_如何进入Windows恢复环境(WinRE)
  8. ?类型 ,?类型(值)
  9. 自由群,外代数和泛包络代数
  10. java基础 第一章上(安装 配置java、简单dos命令)