概述

traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。


安装traceroute

 yum -y install traceroute

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


命令格式

traceroute[参数][主机]

常见命令参数:

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

实例

1、traceroute 用法简单、最常用的用法

命令:

traceroute www.baidu.com 

说明:

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

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

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

如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题。


2、跳数设置

命令:

traceroute -m 10 www.baidu.com

3、显示IP地址,不查主机名

命令:

traceroute -n www.baidu.com

4、探测包使用的基本UDP端口设置6888

命令:

traceroute -p 6888 www.baidu.com

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

linux 路由跟踪命令_一文掌握linux系统路由跟踪指令traceroute相关推荐

  1. linux sleeping进程多_一文掌握Linux实战技能系统管理篇

    linux 安装包-yum 的使用 linux 进程管理 ps pstree top 指令的使用 linux 进程之间的通信 linux 守护进程 linux 内存以及硬盘使用查看 linux 防火墙 ...

  2. linux查看ip命令_不可不知的Linux文本查看命令

    来源:公众号[编程珠玑] 作者:守望先生 ID:shouwangxiansheng Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示- ...

  3. linux 路由跟踪命令_云计算网络知识学习-linux网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

  4. 6 linux 制作raw命令_云计算网络知识学习-linux网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

  5. linux定时关机命令_软件设计师必知Linux命令 | 推荐收藏~

    Linux命令是对Linux系统进行管理的命令.对于Linux系统来说,无论是中央处理器.内存.磁盘驱动器.键盘.鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心. 线上查询及帮助 ...

  6. linux管理员权限命令_每个系统管理员应该知道的20个Linux命令

    linux管理员权限命令 在一个充满新工具和多样化开发环境的世界中,几乎所有开发人员或工程师都必须学习一些基本的sysadmin命令. 特定的命令和程序包可以帮助开发人员组织,排除故障和优化其应用程序 ...

  7. linux 关机命令_小猿圈Linux基础命令汇总

    科技进步的今天,互联网不断的发展,很多人学习Linux运维的时候会因为记不住一些命令从而去找一些渠道,有时候因为找不到linux的命令而烦恼,下面是小猿圈linux讲师给大家总结的linux基础命令, ...

  8. linux查看日历命令_在Linux中使用命令行日历和日期功能

    linux查看日历命令 我一直对历史日期感兴趣,并确定事件发生在一周的实际哪一天. 独立宣言在一周的哪一天签署? 我是星期几出生的? 1876年7月4日是星期几? 我知道您可以使用搜索引擎来回答许多这 ...

  9. 定向输出命令_网络工程师之linux重定向命令和管道命令详解

    如果这篇文章对您有帮助,请关注并点赞,感谢您的支持,如果还有其他问题,请私信给我 今天来讲解linux下">"输入/输出重定向和管道命令 1.输入/输出重定向命令基本格式:c ...

最新文章

  1. 劝大家逃离互联网!某前互联网员工自述:从互联网到传统行业,工资多,不加班,有户口,能买房!...
  2. android自定义属性的使用
  3. C# Struct 内存对齐
  4. C#各种结束进程的方法详细介绍
  5. 史上首次!世界杯使用视频裁判
  6. C语言程序设计 文件操作函数
  7. 联合使用 HTML 5、地理定位 API
  8. fast-rcnn win10 tensorflow部署
  9. 新浪uc2010免费下载
  10. 根据dpr设置html fontsize,如何为不同移动设备设置html不同的font-size?
  11. python函数及方法大全_Python常用方法和技巧汇总
  12. 阿里云服务器部署app服务器端-流程步骤
  13. [百家号]大英帝国的人口和面积比现在的英国大多少?
  14. 大数据———Flume与Kafka整合
  15. JS 获取第一个和最后一个,子节点、子元素
  16. mac修改mysql密码(亲测)
  17. 初步认识数据库:数据、数据库、数据库管理系统、数据库系统分别是什么?
  18. 云原生开发者训练营启动!3天教会你玩转Serverless
  19. Ubuntu18.04——安装视频编辑软件OpenShot
  20. ping 丢包率解释

热门文章

  1. JavaScript设计一个框架
  2. 光盘放进电脑读不出来_U盘插入电脑读不出来?学会这3招,轻松解决USB无法读取的问题...
  3. SSM-jsp页面放在web-INF下受保护,读取出现404页面tomcat获取不到资源-问题解决配置docBase
  4. 什么是Maven以及Maven的优点有哪些?
  5. 马云入选全球“十大思想者”,成唯一获选的中国企业家
  6. vue中select选择框的监听事件
  7. java 内部类 加载_Java 内部类基础介绍
  8. php 抽象 接口类 区别,PHP 抽象類和接口區別
  9. P3924 康娜的线段树
  10. VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别