Linux目录:traceroute命令

目录

  • traceroute
    • 1、简介
    • 2、探测原理
    • 3、traceroute说明
    • 4、实例
      • 设置每跳探测数
      • 设置跳数
      • 探测包使用的基本UDP端口设置6789
      • 把对外发探测包的等待响应时间设置为3秒
  • 总结

traceroute

1、简介

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

2、探测原理

TTL的作用:设置IP数据报被丢弃前,最多能够经过的节点数。
ICMP是 Internet Control Message Protocol 的缩写,即互联网控制消息协议。它是互联网协议族的核心协议之一。它用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,使网络管理者可以对所发生的问题作出诊断,然后采取适当的措施解决问题。
traceroute的原理主要是利用TTL来实现的。每当数据包经过一个路由器,TTL就会减少1。如果TTL不为0就会向下一个节点转发,如果为0,则会丢弃数据包,并发一个ICMP TTL给原数据包的发出者。
traceroute探测过程:假设TTL设置为N:
在这里插入图片描述

3、traceroute说明

使用:traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,… ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]
选项:

  • -4:使用ipv4
  • -6:使用ipv6
  • -f first_ttl --first=first_ttl:从第一个ttl开始(而不是从1开始)
  • -g gate,… --gateway=gate,…:通过指定网通过指定网关的路由报文(IPv4最多8个,IPv6最多127个)关的路由报文(IPv4最多8个,IPv6最多127个)
  • -I --icmp:使用ICMP ECHO进行跟踪
  • -T --tcp:使用tcp SYN进行跟踪(默认端口是80)
  • -U --udp:使用UDP对应端口进行探测,默认是53
  • -i device --interface=device:指定要操作的网络接口
  • -N squeries --sim-queries=squeries:设置同时尝试探测的数量(默认为16)
  • -n:不解析IP到对应域名
  • -p port:指定要使用的端口
  • -t tos --tos=to:设置IP数据包的类型字段
  • -s src_addr:指定数据包的源地址
  • -q nqueries:设置每跳探测数。默认是3
  • –sport=num:发送报文时使用源端口,默认是”-N 1“
    参数:
  • host:要探测的主机
  • packetlen:完整的数据包长度(默认是IP首部的长度加上40)

4、实例

traceroute www.baidu.com
traceroute to www.baidu.com (153.3.238.102), 30 hops max, 60 byte packets
 1  _gateway (192.168.92.2)  1.426 ms  1.230 ms  1.137 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
# 说明:输出按序号记录。每一个纪录就是一跳。每行的输出内容如下:
# 1.跃点序号:这是数据包经过的跃点的顺序编号。
# 2.经过的路由/网关
# 3.延迟时间,每一跳默认会进行三次探测,最后三个数字为三次探测的延迟时间。单位是ms
# 如果输出内容是*,可能是防火墙封掉了ICMP的返回信息,也可能是网络出问题了。

设置每跳探测数

traceroute -q 5 www.baidu.com
########
traceroute to www.baidu.com (153.3.238.110), 30 hops max, 60 byte packets
 1  _gateway (192.168.92.2)  0.994 ms  0.887 ms  0.810 ms  0.736 ms  0.662 ms
 2  * * * * *
 3  * * * * *
 4  * * * * *
 5  * * * * *
 6  * * * * *
 7  * * * * *
 8  * * * * *
 9  * * * * *
10  * * * * *
11  * * * * *
12  * * * * *
13  * * * * *
14  * * * * *
15  * * * * *
16  * * * * *
17  * * * * *
18  * * * * *
19  * * * * *
20  * * * * *
21  * * * * *
22  * * * * *
23  * * * * *
24  * * * * *
25  * * * * *
26  * * * * *
27  * * * * *
28  * * * * *
29  * * * * *
30  * * * * *

设置跳数

traceroute -m 5 www.baidu.com
traceroute to www.baidu.com (153.3.238.110), 5 hops max, 60 byte packets
 1  192.168.92.2 (192.168.92.2)  1.082 ms  0.983 ms  0.944 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *

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

traceroute -p 6789 -m 5 www.baidu.com
traceroute to www.baidu.com (153.3.238.110), 5 hops max, 60 byte packets
 1  192.168.92.2 (192.168.92.2)  0.564 ms  0.459 ms  0.392 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *

把对外发探测包的等待响应时间设置为3秒

traceroute -w 3 -m 5 www.baidu.com
traceroute to www.baidu.com (153.3.238.110), 5 hops max, 60 byte packets
 1  192.168.92.2 (192.168.92.2)  0.419 ms  0.165 ms  0.060 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *

总结

需要注意的是:

  1. traceroute是Linux的命令,如果Windows想要跟踪路由,是tracert命令。
  2. Ubuntu系统默认没有此命令,需要自己安装
  3. 该命令也是工作中常用的排查网络方面的问题

这个是自己的学习内容,基本都是根据 traceroute 的帮助信息进行翻译,如果有不对的地方,欢迎帮忙指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/372106.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

npm淘宝镜像源换新地址

新的淘宝npm镜像源地址:https://registry.npmmirror.com 切换新的镜像源 npm config set registry https://registry.npmmirror.com然后再执行以下操作查看是否成功 npm config list如果没安装过淘宝镜像源的,则直接安装 npm install -g cnpm --regi…

机器学习 - 梯度下降

场景 上一章学习了代价函数,在机器学习中,代价模型是用于衡量模型预测值与真实值之间的差异的函数。它是优化算法的核心,目标是通过调整模型的参数来最小化代价模型的值,从而使模型的预测结果更接近真实值。常见的代价模型是均方…

哪些因素会影响游戏服务器开发的性能?

在游戏开发中,服务器性能是一个关键因素,它影响着游戏的运行速度、稳定性以及玩家的游戏体验。游戏服务器需要处理大量的数据和请求,因此其性能受到多种因素的影响。本文将探讨影响游戏服务器开发性能的几个关键因素。 ​1、硬件资源 服务器…

互联网加竞赛 基于深度学习的目标检测算法

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

PySpark(二)RDD基础、RDD常见算子

目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…

Zoho联合知了标讯,为CRM系统加入智能招投标功能

随着我们在国内合作伙伴的名单不断扩充,CRM管理系统也在持续上线新功能。去年,Zoho联合知了标讯发布了智能招投标功能,集成在自己的CRM系统中,对有招投标需求的企业来说提供了莫大的便利。接下来,让我为您介绍&#xf…

【粉丝福利社】一书读懂物联网:基础知识+运行机制+工程实现(文末送书-完结)

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主&#xf…

On the Spectral Bias of Neural Networks论文阅读

1. 摘要 众所周知,过度参数化的深度神经网络(DNNs)是一种表达能力极强的函数,它甚至可以以100%的训练精度记忆随机数据。这就提出了一个问题,为什么他们不能轻易地对真实数据进行拟合呢。为了回答这个问题,研究人员使用傅里叶分析…

vue3 + vite:打包部署后,动态组件渲染404问题解决

问题描述: 当需要渲染动态组件,动态的组件路径配置在数据库中时,如下图,本地运行能正常访问,用vite打包部署后,生产上改路径为404. 起初认为是,vite打包后的文件都是.js, 当页面加载后从数据库…

chisel之scala 语法

Chisel新手教程之Scala语言(1) Value & variable Value是immutable的,当它被分配一个数据后,无法进行重新分配。用 val 表示。 Variable是mutable的,可以重复赋值。用 var 表示。示例如下: val a …

vue2 el-table新增行内删除行内(两种写法)里面第一个是树组件,第二个是数字组件,第一个数组件只能勾选最后一个节点

第一种 <template><div class"time_table"><div style"margin-bottom: 10px"><el-button click"addRowFn">新增</el-button></div><el-form ref"costForm" :model"formData">&l…

普渡机器人CEO预测2024年服务机器人市场将扩大

原创 | 文 BFT机器人 根据普渡科技有限公司的报告&#xff0c;商用服务机器人在东亚地区的应用比其他地方更为广泛。然而&#xff0c;预计到2024年&#xff0c;全球其他地区也将迎头赶上。这家总部位于中国深圳的公司自豪地宣称&#xff0c;它已经成为中国最大的此类机器人出口…

基于QPSO-LSTM的短期风电负荷MATLAB预测程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 参考文献 基于QPSO-LSTM的短期风电负荷预测模型——谭才兴&#xff08;完全复现&#xff09; 程序简介 传统的LSTM神经网络超参数和拓扑结构通常是基于经验和试验确定&#xff0c;但这种方法容易受到人为因…

uniapp中配置开发环境和生产环境

uniapp在开发的时候&#xff0c;可以配置多种环境&#xff0c;用于自动切换IP地址&#xff0c;用HBuilder X直接运行的就是开发环境&#xff0c;用HBuilder X发布出来的&#xff0c;就是生产环境。 1.使用HBuilder X创建原生的uniapp程序 选择vue3 2.什么都不改&#xff0c;就…

【SAR成像】基于RD、CS和ωk算法的合成孔径雷达成像算法原理与实现

基于RD、CS和ωk算法的合成孔径雷达成像算法实现 前言SAR基本概念雷达获取数据的几何关系低斜视角下的回波信号模型 RADARSAT-1主要参数数据预处理数据读取与再封装数据补零 成像算法坐标轴的产生RD算法距离压缩距离徙动矫正方位压缩 CS算法第一次相位相乘 变标后的信号第二次相…

由亚马逊云科技 Graviton4 驱动的全新内存优化型实例 Amazon EC2 实例(R8g),现已开放预览

下一代 Amazon Elastic Compute CloudAmazon EC2) 实例的预览版现已公开 提供。全新的 R8g 实例 搭载新式 Graviton4 处理器&#xff0c;其性价比远超任何现有的内存优化实例。对于要求较高的内存密集型工作负载&#xff0c;R8g 实例是不二之选&#xff1a;大数据分析、高性能数…

热数据存储在HDFS,冷备数据存储于对象存储中

1.场景分析 生产环境均为腾讯云服务器&#xff0c;日志数据计划存储于HDFS中&#xff0c;由于日志数据较大&#xff08;压缩后1T/天&#xff09;&#xff0c;不断扩充云盘成本消耗大。鉴于对象存储的存储成本较为低廉&#xff0c;但是日常频繁使用会产生流量费用。 鉴于此&…

ES6中新增Array.of()函数的用法详解

new Array()方法 ES6为Array增加了of函数用一种明确的含义将一个或多个值转换成数组。因为用new Array()构造数组的时候&#xff0c;是有二意性的。 构造时&#xff0c;传一个参数&#xff0c;实际上是指定数组的长度&#xff0c;表示生成多大的数组。 构造时&#xff0c;传…

(源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模

本篇文章是: 2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模的源码版本,包含具体建模代码到生成模型步骤。那么废话不多说直接开始展示建模过程建模: 数据预处理 之前我给大家提供的一年的风暴数据是远远不够的,要做时…

前端excel带样式导出 exceljs 插件的使用

本来用的xlsx和xlsx-style两个插件&#xff0c;过程一步一个坑&#xff0c;到完全能用要消灭好多bug。这时发现了exceljs&#xff0c;真香&#x1f600; 案例 <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"view…