百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

非常有用的Linux网络诊断命令:traceroute

gudong366 2025-03-28 12:16 9 浏览

简介

traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。

安装 traceroute

在大多数 Linux 发行版中,traceroute 工具已经默认安装,可以直接使用。如果你的系统中没有安装 traceroute,可以使用以下命令在 Ubuntu 中安装:

sudo apt-get install traceroute

在其他发行版中安装方法类似,可以使用相应的包管理工具安装。

使用 traceroute

traceroute 命令的基本语法如下:

traceroute [选项] 目标主机

例如:

traceroute www.baidu.com

这将输出从本机到百度的路由路径。

traceroute 命令的选项:

  • -n:不对 IP 地址进行域名解析,直接输出 IP 地址。
  • -w:设置超时时间。
  • -m:设置最大跳数。
  • -q:设置每个 TTL 值收到的回复数量。

例如:

traceroute -n -w 1 -m 20 -q 1 www.baidu.com

这将输出从本机到百度的路由路径,不进行域名解析,设置超时时间为 1 秒,最大跳数为 20,每个 TTL 值收到的回复数量为 1。

输出解释

traceroute 命令的输出有以下几个字段:

  1. 跳数:即从本机到目标主机经过的跳数。
  2. 时间:每个跳数的延迟时间。
  3. IP 地址:经过的路由器的 IP 地址或目标主机的 IP 地址。
  4. 主机名:经过的路由器的主机名。

例如:

traceroute to www.baidu.com (220.181.38.148), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  0.363 ms  0.340 ms  0.308 ms
 2  10.100.1.1 (10.100.1.1)  15.791 ms  15.779 ms  15.765 ms
 3  218.205.109.89 (218.205.109.89)  26.228 ms  26.217 ms  26.204 ms
 4  218.205.110.253 (218.205.110.253)  25.176 ms  25.163 ms  25.150 ms
 5  202.97.50.201 (202.97.50.201)  25.135 ms  25.123 ms  25.110 ms
 6  202.97.52.65 (202.97.52.65)  26.541 ms  26.528 ms  26.515 ms
 7  202.97.52.66 (202.97.52.66)  28.002 ms  27.989 ms  27.976 ms
 8  202.97.50.54 (202.97.50.54)  30.024 ms  30.011 ms  29.998 ms
 9  202.97.50.45 (202.97.50.45)  27.975 ms  27.962 ms  27.949 ms
10  61.135.169.121 (61.135.169.121)  28.937 ms  28.924 ms  28.911 ms
11  61.135.169.26 (61.135.169.26)  28.898 ms  28.885 ms  28.872 ms
12  220.181.38.148 (220.181.38.148)  29.726 ms  29.713 ms  29.700 ms

其中,“30 hops max” 表示最大跳数为 30。每一行输出包括跳数、时间、IP 地址和主机名(如果有的话),例如第一行输出为 “1 192.168.1.1 (192.168.1.1) 0.363 ms 0.340 ms 0.308 ms”,表示第一跳的 IP 地址为 192.168.1.1,延迟时间分别为 0.363ms、0.340ms 和 0.308ms。

traceroute 的工作原理

traceroute 使用 ICMP 协议,向目标主机发送特定的数据包(称为 TTL),每经过一个路由器,TTL 值就减 1,当 TTL 值为 0 时,路由器将会将数据包丢弃并向源主机发送一个 ICMP “超时”消息。traceroute 利用这个特性,对目标主机进行探测,获取数据包经过的路由路径。

traceroute 还使用 UDP 协议,当 ICMP 协议被防火墙或路由器过滤时,可以使用 UDP 协议进行探测。

traceroute 的常用参数

-I 参数

使用 -I 参数可以让 traceroute 使用 ICMP ECHO 请求报文而不是 UDP 数据包,从而可以绕过部分防火墙的过滤。

-p 参数

使用 -p 参数可以指定 UDP 数据包的目标端口号,从而可以避免被防火墙过滤。

-T 参数

使用 -T 参数可以让 traceroute 使用 TCP SYN 数据包,从而可以检测目标主机是否开放了指定的端口。

-z 参数

使用 -z 参数可以指定每次发送数据包之间的延迟时间。

总结

traceroute 是一个非常有用的网络诊断工具,可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。本文介绍了 traceroute 的基本语法和常用参数,以及其工作原理和输出解释,希望能够帮助读者更好地了解和掌握 traceroute 的使用。

相关推荐

梦幻诛仙12职业1亿元宝版本架设教程(包含资源下载)

架设教程:1;上传脚本zx到bin文件夹,给权限chmod-R777/bin2;输入zx安装宝塔面板输入对应序号,中途输入Y继续3;安装好之后,会给个宝塔地址及账号密码,复制地址...

Java零基础入门,科普Java你应该了解什么

最近很多人问我想学Java但是一点基础没有,网上看了一堆学习线路图还是无从下手。今天耗时3小时整理了一套保姆级的Java入门教程,建议收藏按照线路图一点点学习。一、Java的概况Java是1995年6...

01.Java发展历史(java发展历史简要)

1.Java发展历史Java由SunMicrosystems公司(现为Oracle公司)的JamesGosling及其团队在1991年开发,最初命名为"Oak",后改名为"...

Ubuntu16.04.1安装Java8(ubuntu终端安装java)

上篇文章讲解了怎么在Windows下安装Java8《Windows10安装Java8》,这里讲解下怎么在Linux下安装Java。由于之前已经安装了Ubuntu16.04.1《VmwareWorkst...

性能测试能力提升-JVM GC监控和优化

一、背景接着上一篇的知识:性能测试能力提升-JVMGC原理,本篇文章,我们将主要介绍JVMGC监控和优化相关的知识:命令行方式监控GC图形化方式监控GC什么时候需要开始GC优化?GC优化的目的GC...

Spring Boot Jar 包秒变 Docker 镜像实现多环境部署

你是否在互联网大厂后端开发工作中,遇到过这样的困扰?当完成一个SpringBoot项目开发,准备将Jar包部署到不同环境时,却发现各个环境依赖不同、配置复杂,部署过程繁琐又容易出错,不仅耗费...

「JDK 11」关于 Java 模块系统,看这一篇就够了

继2014年3月Java8发布之后,时隔4年,2018年9月,Java11如期发布,其间间隔了Java9和Java10两个非LTS(LongTermSupp...

对Java学习的10条建议(对java的认识和理解)

不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种挫败,以下北风网就总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的问题。Java编程的准备:...

JAVA入门教程-第1章 概述(java入门指南)

大道至简-JAVA入门教程在本教程中,你将学习Java语言的基础知识。Java基础内容涵盖:Java基础概念、Java词法结构、Java数组、Java流程控制、Java字符串、Java...

推荐一款Java音频视频编码器,很赞

Jave2是什么JAVE2(Java音频视频编码器)库是ffmpeg项目上的Java包装器。开发人员可以利用JAVE2将音频和视频文件从一种格式转码为另一种格式。在示例中,您可以将AVI文件转换为MP...

【JAVA教程】JAVA入门及开发环境安装

一、Java开发环境概述Java开发需要三个核心组件:JDK(JavaDevelopmentKit)-Java开发工具包,开发、编译、调试Java程序JRE(JavaRuntimeE...

Windows和Linux环境下的JDK安装教程

JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...

记Tomcat优化方案(tomcat优化的几种方法)

Tomcat服务吞吐量评估方案问题:评估方案在一台8核16G的linux服务器上,使用tomcat容器部署服务。在正常情况下如何评估这个tomcat服务可处理的连接数,即服务的吞吐量,请在正常情况下考...

JVM GC诡异问题排查,k8s差点害死我……

前言本文将通过一个真实的生产环境案例,详细展示如何系统性地排查和解决JVM垃圾收集问题。这个案例涵盖了从问题发现、分析诊断到最终解决的完整过程,对于理解JVM调优实战具有重要的参考价值。系统背景我们的...

Thorium Reader - 功能强大的跨平台免费电子书阅读器

在日常阅读日益普及的今天,选择一款合适的电子书阅读器至关重要。ThoriumReader作为一款独具特色的阅读应用,正逐渐在众多同类产品中崭露头角,为用户带来了卓越的阅读体验。  跨平台的便捷性...