热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javalinuxtracert_Linux命令:traceroute(windows中为tracert)

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination

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

Linux 系统中个,我们称之为 tracertoute,在 MS  Windows 中为 tracert。

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

在大多数情况下,我们会在 Linux 主机系统下,直接执行命令行。

traceroute   hostname

而在 Windows 系统下是执行 tracert 的命令:

tracert  hostname

1.命令格式:

traceroute  [参数]  [主机]

2.命令功能:

traceroute   指令让你追踪网络数据包的路由途径,预设数据包大小是40 Bytes, 用户可另行设置。

具体参数格式:traceroute   [-dFlnrvx] [-f] [-g][-i][-m][-p][-s][-t][-w][主机名称或IP地址][数据包大小]

3.命令参数

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

4.返回结果解释:

默认情况下,TTL的最大值为30,可根据实际情况改变设置,并且发送3个探测(各自有不同的TTL的值)到每一跳

返回结果解释:

*  探测报文没有获得响应,出现这种情况,可能是防火墙封掉了 ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

! 接收到报文中的TTL值为1

!H 目标主机不可达

!N 目标网络不可达

!P 目标协议不可达

!S 源路由选项错误,表示某一路由器有程序错误或硬件故障

!F 探测报文需要分段,表示某一路由器有程序错误或硬件故障

!X 由于通信被管理性禁止,该路径被阻塞或关闭

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

5。traceroute命令选项的应用

当目标主机所处的网络与本机所处的网络间路由数较多(多于30)时,修改TTL的值

#traceroute -m 35 128.197.2.200

默认情况下,基于UDP协议发送探测报文,但网络中有的路由器不支持,-I参数表示使用ICMP协议代替

#traceroute -m 35 -I 128.197.2.200

默认情况下,UDP协议的33434端口进行跟踪,-p 指定端口号

#traceroute -m 35 -p 65000 128.197.2.200

-v 用来为每一跳显示响应报文的大小和响应报文的目标

-n 用来显示地址而不是使用符合化的名字显示,减轻网络服务的负荷(加快速度)

6.TTL

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。



推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
author-avatar
修竹
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有