linux traceroute命令详解_详解Linux系统路由跟踪指令traceroute语法、工作原理和实例说明...

概述

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


安装traceroute

 yum -y install traceroute
c8f21069a218a65d34cbef8b593c9631.png

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 
5c566d796868f4ad7a86d1b738bf759c.png

说明:

记录按序列号从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
c542bcfd7713eefb7b947a546bbc416d.png

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

命令:

traceroute -n www.baidu.com
a610ce2c3357cfddfba8939d666a6dab.png

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

命令:

traceroute -p 6888 www.baidu.com
622603f746b0f28817229639e2d5e980.png

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

0823c637b6848ca3dc6b1102708b4f92.gif
Linux命令traceroute命令 traceroute的主要功能是跟踪从IP网络发送到指定主机经过的网关的工具。它利用IP协议的生存时间(time to live, TTL)字段,并试图从路径上的每个网关引出ICMP TIME_EXCEEDED响应,从而得到探测包到达主机所经过的所有网关。它显示了每个跳的IP地址、主机名(如果配置了反向DNS查找)、延迟(以毫秒为单位),以及到达每个跳的往返时间(RTT)。tracerouteLinux命令,如果Windows想要跟踪路由,是tracert命令 阅读详情

相关推荐

CentOS 7 Linux网络管理详解

CentOS 7是一个被广泛使用的Linux操作系统,对于初学者来说,了解其网络管理是必不可少的。本文将详细介绍CentOS 7 Linux中各种网络配置选项,帮助读者理解如何配置网络接口、DNS网络防火墙等基本知识。无论你是Linux初学者还是有经验的管理员,本文都会是一个有价值的参考。

鹅不糊涂的博客 2669

centos7 traceroute工具rpm安装包

traceroute 命令利用ICMP 协议定位您的计算机目标计算机之间的所有路由器。TTL 值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP 呼叫报文的TTL 值观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。

追踪网络路由信息的Linux基础命令 - tracepath

tracepath命令是一个强大的网络诊断工具,用于追踪到目标主机的路由路径。其中之一是tracepath命令,它可以帮助我们追踪到目标主机的路由路径。本文将介绍tracepath命令的基本用法以及一些示例,帮助您理解如何使用它来诊断网络问题。其中,选项是可选的,用于对tracepath命令进行进一步的配置控制。上述命令将追踪到www.example.com的路由路径,并显示每个跳点的IP地址延迟。上述命令将限制最大跳数为10,这意味着tracepath将仅追踪前10个跳点的路由路径。

IiTraining的博客 2494

Linux跟踪路由命令:追踪目标的网络路径

通过使用traceroute命令,您可以查看数据包在网络中的路径以及每个跃点的延迟情况,这对于故障排除网络性能优化非常有帮助。通过使用不同的选项参数,您可以进一步定制跟踪过程,以满足特定需求。需要注意的是,为了执行traceroute命令,您需要具有适当的网络权限。执行命令后,traceroute将开始发送数据包,并显示每个路由器的IP地址、主机名(如果可用)、数据包的往返时间以及其他相关信息。通过观察traceroute的输出,我们可以了解到数据包在网络中的路径以及每个跃点的延迟情况。

ZwdvIot的博客 2999

Centos使用traceroute排查网络问题

通过traceroute命令可以用来排查一些网络的基础问题。

君逍遥o 4877

Centos安装traceroute

Centos 安装traceroute

weixin_45070882的博客 7628

Linux】网络诊断 traceroute命令详解

首先它发送一份TTL字段为1的IP数据包给目的主机,处理这个数据包的第一个路由器将TTL值减1,然后丢弃该数据报,并给源主机发送一个ICMP报文(“超时”信息,这个报文包含了路由器的IP地址,这样就得到了第一个路由器的地址),然后traceroute发送一个TTL为2的数据报来得到第二个路由器的IP地址,继续这个过程,直至这个数据报到达目的主机。,第1跳路由器收到后,查看目的地址进行转发,转发前会将TTL会减1,减完后TTL=0,就丢弃该数据包,并向客户端返回TTL超时的ICMP报文。

康师傅没有眼泪 1万+

Linux命令traceroute命令路由跟踪

traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。原理:程序利用增加存活时间(TTL)来实现其功能。每当数据包(3个数据包包括源地址,目的地址包发出的时间标签)经过一个路由器,其存活时间就会

吾尝终日而思矣,不如须臾之所学也 31万+

linux系统下,traceroute路由跟踪指令详解

traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。 一、常见命令参数 [root@localhost tom]# traceroute --help Usage: traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i devi.

liinux-Talk is cheap,show me the code. 1270

路由跟踪traceroutelinuxtracert(windows)

主要原理工作流程可以参考这边帖子: https://blog.csdn.net/sinat_33442459/article/details/75126149 对于使用的话,我们是需要知道目标服务器是否可达的,所以必须使用ICMP协议,trancert默认就是如此,但是tranceroute默认使用的是UDP,这时需要增加-I参数即可。 tranceroute使用-I参数前后结果对比(以api.weixin.qq.com为例): [root@VM_16_9_centos]# tracerout

sirria1的专栏 4739

linux跟踪路由命令,Linux命令traceroute命令路由跟踪

traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL 存活时间 发出探测包来跟踪数据包到达目标主机所经过的网关 然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。原理 程序利用增加存活时间 TTL 来实现其功能。每当数据包(3个数据包包括源地址 目的地址包发出的时间标签)经过一个路由器 其存活时间就...

weixin_32075603的博客 2万+

linux windows 路由跟踪指令 traceroute tracert 使用实例

本文所有命令实施的大前提是:你现在能够上网。 稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这个IT网站csdn来测试一下,则得到如下效果: 但是路由跟踪指令traceroute,在windows则是tracert,对于非计算机网络内行,就不太...

whatday的专栏 3327

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

概述traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。安装traceroute yum -y install tracerouteTraceroute工作原理Traceroute最简单的基本用法是:trac...

weixin_39519741的博客 3478

ubuntu系统路由指令_linux系统下,traceroute路由跟踪指令详解

我们无论使用linux、ubuntuunix或者是windows(tracert),traceroute命令都是会频繁用到的,traceroute指令会显示出本机与其他服务器之间的全部路由,既可以有助于准确判断故障位置,也可以通过显示的时间、IP等信息了解数据的流向。一、安装1、检查是否安装traceroute工具。rpm -qa |grep traceroute2、如果没有安装,可以使用rpm...

weixin_39970994的博客 7973

Linux里怎么进行路由跟踪,[Linux] traceroute 路由跟踪指令用例

traceroute是用来跟踪数据包到达网络主机所经过的路由工具。在Linux系统中,称之为traceroute,在Windows中称为tracert。一条路径上的每个设备traceroute要测3次。输出结果中包含每次测试的时间(ms)设备的名称及其IP。1、命令格式:traceroute [参数] [主机]2、常用命令参数:-n 直接使用IP地址而非主机名称-m 设置数据包的最大存活数TT...

weixin_36127428的博客 6188

Linux】关于路由跟踪指令traceroute

稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这个IT网站csdn来测试一下,则得到如下效果: 但是路由跟踪指令traceroute,在windows则是tracert,对于非计算机网络内行,就不太知道这是干什么了。 其实路由跟踪指令,更能展示...

Ian Sheng的博客 1410
上一篇: python必须连网开发吗_Python以太坊开发节点和网络选择
下一篇: python re爬虫_Python爬虫实践 —— Regular Expressions Python re模块
weixin_39708708
博客等级 码龄9年 20粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值